已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要本 文 主 要 设 计 了 一 个 应 用 STC89C52RC 单 片 机 控 制 的 磨 四 方 机 床 的 控 制 系 统 。该 系 统 能 实 现 磨 削 进 给 方 向 的 自 动 控 制 和 点 动 控 制 、 自 动 切 削 前 的 对 刀 动 作 及 相应 数 据 的 存 储 、 切 削 速 度 的 控 制 、 切 削 直 径 和 切 削 精 度 的 控 制 、 自 动 连 续 动 作 、系 统 状 态 显 示 等 功 能 。 系 统 以 STC89C52RC 单 片 机 为 核 心 , 由 4 5 矩 阵 按 键 、MAX7219CWG 数 码 管 模 块 、 两 个 步 进 电 机 及 其 驱 动 器 、 保 护 电 路 板 、 外 接 电 源等 组 成 。 本 文 包 括 控 制 系 统 的 全 部 硬 件 电 路 及 其 驱 动 程 序 、 系 统 程 序 , 并 设 计了 原 理 图 , 最 后 完 成 了 联 机 调 试 , 达 到 了 设 计 的 要 求 。关键词:单片机;步进电机;矩阵按键AbstractIn this paper, we designed a grinding machine system controlled by STC89C52RC micro controller. The system achieved automatic control and jog control of grinding.Also, the system could save the corresponding data, control the speed of cutting, the diameter and the accuracy automatic continuous operation. The system could show the status of the machine and some other functions. The system is controlled by the STC89C52RC micro controller, and it consist with 4 5 matrix of keys, the MAX7219CWG digital tube module, two stepping motor drives, the extra power and some other parts. This article includes all hardware facility of the system and the drive program of itself and the system program. This article also designed the schematic, and finally we finished the requirements of this design.Key words: micro controller; stepping motors; matrix of keys 目 录摘 要 .IAbstract.II目 录 .III第 1 章 绪论 .1第 2 章 控制系统的总体设计方案 .22.1 课题概述及分析 .22.2 磨四方机床的设计方案与论证 .3第 3 章 系统硬件原理电路图的设计与分析 .63.1 硬件说明 .63.2 系统的硬件设计与比较 .63.3 设计电路原理图 .12第 4 章 系统软件的设计与分析 .124.1 主程序 .124.2 4 5 矩阵键盘控制模块 .154.3 步进电机控制模块 .174.4 MAX7219CWG 数码管显示模块 .204.5 速度和直径选择模块 .214.6 数据存储模块 .234.7 机床极限位置保护模块 .24第 5 章 调试与结果分析 .255.1 调试 .255.2 结果分析 .25总 结 .26参考文献 .27致 谢 .29附 件 .30附录 1 原理图附录 2 实物图附录 3 元器件清单附录 4 控制系统使用说明书附录 5 源代码第 1 章 绪论随着计算机技术的高速发展,传统的制造业开始了根本性变革,各设备制造企业都进行研究开发,提出了全新的制造模式。科技时代的高新技术推动了传统产业的迅速发展,在机械工业自动化中出现了一系列运动控制新技术:交流伺服驱动技术,单片机控制技术等。机械工业也随着这场革命发生了质的飞跃,机电一体化已将人们带入了一个新的生产环境中。经济的快速增长和科学技术的不断提高,使得机床制造得到了快速的发展。由于丝锥在制造业中的用途极其广泛,用于磨削丝锥的机床也逐渐发展起来。为了达到磨削更高的精度和大批量生产的要求,丝锥的自动化磨削变得必不可少。工业革命以来,自动化的机床越来越普遍的应用在工业生产中。丝锥在工业中的应用不需赘述,其重要性可见一斑。丝锥磨床专用于磨削丝锥的螺纹结构,丝锥柄部的设计与磨削在丝锥的制造过程中同样重要。作为最常见的四方结构,市场上对丝锥的需求量直接取决于其磨削的精度与生产的速度。自建国以来,我国制造的丝锥磨床按照砂轮磨削线数分为单线丝锥磨床和多线丝锥磨床。单线丝锥磨床有一条砂轮磨削线,金刚笔修正器可随时修正砂轮,保证砂轮良好的成型,从而磨出高质量的丝锥牙型。多线丝锥磨床有多条砂轮磨削线,用钢滚轮挤压成型砂轮,生产效率高,成本低,是丝锥大规模生产的必要设备。 多线钢滚轮丝锥磨床的砂轮主轴装有三套轴承。两套为双排短圆柱轴承,用于承受径向力,一套为60 接触角的双向推动轴承, 用于承受轴向力。砂轮主轴既有足够的精度和刚性,又可以长期工作,并免于日常的维修。 多线丝锥磨床没有挂轮板,可以减少传动系统中的薄弱环节。同时, 对应加工的每一种螺距使用两个专用齿轮,齿轮装在固定的传动轴上。 砂轮架导轨和工作台导轨都采用闭式的滚针导轨,并且导轨经淬火,能有更好的耐磨性。数控单线丝锥磨床的砂轮主轴采用动静压轴承,使砂轮平稳运转,产生良好的磨削光洁度,使用寿命长。机床采用了专用的数控系统,实现了多轴联动控制,取代了传统丝锥磨床的机械传动系统,因此机床不使用挂轮。而且磨床上可以安装不同类型的砂轮修整器,使砂轮成型灵活多样。上述传统丝锥磨床都是通过齿轮等机械结构完成砂轮,头架和铲磨轴的运动组合。实际生产过程需要考虑到很多实际因素,例如原材料、耗材、资本摊销和生产时间。高精度,批量生产的要求使得数控技术更好的应用在了丝锥磨床中。随着数控化的进步,出现了新型的数控丝锥磨床。其核心的进展是各个运动轴由数字控制,通过联合运动生成更加丰富多样的运动。这样,参数的输入大大简化,如螺距的改变只要一组数字,无需像以前那样要更换正确的挂轮组合。更重要的是能磨削以往难以加工的产品,如挤压丝锥等。用数控系统控制的丝锥磨床系统的另一大优点是性价比低,也降低了加工高精密机械系统的成本和机械加工工人的劳动力。丝锥柄部的设计与磨削在丝锥的制造过程中同样重要。作为最常见的四方结构,市场上对该丝锥的需求量相当巨大,提高目前市场上丝锥柄部磨削的精度与生产的速度能够和好的供应市场需求。磨 四 方 机 床 主 要 包 括 : 控 制 面 板 , 工 作 状 态 显 示 面 板 , 工 作 台 , 水 泵 电 机 , 机械 制 动 结 构 等 。编 写 一 套 完 整 的 , 可 用 于 磨 削 丝 锥 柄 部 四 方 结 构 的 磨 床 控 制 系 统 , 可 以 使 丝 锥的 生 产 简 单 化 , 自 动 化 , 批 量 化 。 与 此 同 时 , 在 控 制 系 统 中 加 入 丝 锥 生 产 的 精 度要 求 , 使 生 产 所 得 丝 锥 可 以 直 接 用 于 生 产 中 , 大 大 减 少 了 人 工 磨 削 所 产 生 的 次 品 ,需 要 注 意 的 是 , 磨 削 产 生 的 误 差 是 不 可 能 完 全 消 除 的 , 只 能 尽 量 缩 小 误 差 。第 2 章 控制系统的总体设计方案2.1 课题概述及分析设计一套可以实现自动磨削丝锥柄部四方结构的控制系统,采用单片机作为控制器核心。控制器主要实现以下功能:1) 八段数码管显示功能:显示系统工作状态的各项参数,包括加工工位序号、切削速度、加工工件直径、工作台位置坐标;2) 矩阵按键操作面板:对系统工作状态的选择,包括直径选择、进给速度调整、点动操作功能、回零操作功能、自动运行和暂停操作的功能等;3) 数据存储功能:系统断电或换班后可记忆之前的工作参数;4) 系统参数的选择:包括加工工件直径的选择,加工进给速度的选择。2.2 磨四方机床的设计方案与论证2.2.1 设计方案的选择磨四方机床如图 2.1 所示:图 2.1 磨四方机床示意图根据对磨四方机床控制系统的控制要求的分析与讨论,本次设计可以分为以下几个模块:点动控制模块、自动工作模块、速度和直径选择模块、数据存储模块、八段数码管显示模块、机床极限位置保护模块;为了模拟真实四方磨床工作情况,本次设计在硬件上主要用到了以下硬件设施:单片机、两个步进电机及其驱动器、4 5 矩阵键盘、 MAX7219CWG 8 位数码管、外接电源、电路保护板、两个行程开关等。利用以上资源可以设计出具有如下功能的磨四方机床控制系统:1. 步进电机能根据零件要求进行90分度旋转控制;2. 能实现机床磨削进给方向的点动和自动控制;3. 能完成自动切削加工前的对刀动作和数据存储;4. 能按照要求完成一个动作循环的自动连续动作;5. 机床加工精度为0.01mm;6. 可加工直径系列由小到大依次为6,8,10,12,.30;7. 在系统自动运行和手动运行中可以随时调整调整工进速度(19级) ;经过分析,系统选用如下方案:由 C51 单片机编写程序,外接电源给步进电机及其驱动器提供电力,4 5 的矩阵按键控制步进电机驱动器从而使步进电机按照设想的方式运转,并用MAX7219CWG 8 位 7 段数码管显示系统的一些信息。2.2.2 设计方案的论证本系统选用了 STC89C52RC 芯片来实现对相应硬件设施的控制,并把工作中相应的工位序号、进给速度、工件直径、工作台位置等信息显示在 MAX7219CWG8位数码管上,参数的选择及工作台运动方式的切换通过 4 5 矩阵键盘上的按键来实现,相关数据的存储使用单片机内置的 EEPROM 模块完成,磨四方机床的工作形式通过两个步进电机及其驱动器模拟,驱动器需要外接电源提供电力,另外,系统中还加入了一些安全措施,如保护电路板、行程开关等。本课题所用到的以 STC89C52RC 芯片控制的单片机是锐志公司生产的 8 位工业级通用单片机。此单片机最高工作频率为 8MHz,工作电压 3V5V,有 192 字节的RAM 和 4K 字节的 OTP ROM,4 个输出 P 口,23 个可编程 I/O 口,8 通道 10 位A/D 转换器,2 通道 8 位定时/计数器,2 通道 16 位定时/计数器和 1 个 12 位 PWM输出口,另外,有低电压、上电、看门狗、外部信号、错误地址复位和一个蜂鸣器输出。图 2.2 为 STC89C52RC 芯片实物图。图 2.2 STC89C52RC 芯片虽然上述单片机有 4 个输出 P 口,共 32 个 I/O 口,但根据分析,此单片机内置的八段数码管需 16 个 I/O 口,EEPROM 存储需 2 个 I/O 口,4 5 矩阵键盘需 9 个I/O 口,步进电机及其驱动器需 4 个 I/O 口,行程开关需 2 个 I/O 口,算上蜂鸣器、系统开关等修饰程序,显然此单片机提供的 I/O 口不足以完成系统设计的要求。为了解决这个问题,该系统使用 MAX7219CWG 8 位数码管来代替单片机内置八段数码管。图 2.3 为 MAX7219 系列数码管实物图。图 2.3 MAX7219 数码管MAX7219CWG 是一种集成化的串行输入/输出共阴极显示驱动器,只需要 3 个IO 口即可驱动 8 位数码管,数码管显示时无闪烁,而且支持级联,数据更新时不需要改写所有的显示。MAX7219CWG 很好地满足了 I/O 口不足的问题。本系统所使用的单片机的内部有644K 字节的EEPROM 数据存储器,它们被独立编址,按字节组织,擦写寿命可达10万次。可以满足系统数据存储的要求。在 按 键 控 制 形 式 的 选 择 上 , 系 统 选 用 外 接 矩 阵 按 键 的 方 式 。 矩 阵 按 键 采 用 的是 4 5 矩 阵 键 盘 式 按 键 , 共 20 个 按 键 可 以 充 分 满 足 系 统 功 能 的 要 求 。 矩 阵 按 键需 要 自 己 焊 接 。磨 四 方 机 床 工 作 形 式 的 模 拟 需 要 用 到 三 个 步 进 电 机 。 其 一 用 于 机 床 工 作 台 的进 给 与 回 退 , 其 二 用 于 控 制 丝 锥 的 自 动 旋 转 , 其 三 用 于 磨 削 工 件 。 在 此 , 磨 削 工件 不 在 要 求 范 围 内 不 予 考 虑 , 所 以 实 际 只 用 到 两 个 步 进 电 机 , 均 选 取57HS7630A4( 1.8,3A, SUMTRO) 。 此 二 步 进 电 机 需 要 外 接 电 源 与 驱 动 器 来 实现 运 转 。另 外 , 考 虑 到 磨 四 方 机 床 的 安 全 , 系 统 中 还 加 入 了 一 些 保 护 设 施 , 如 在 步 进电 机 驱 动 器 与 单 片 机 之 间 接 入 电 阻 , 在 系 统 中 接 入 行 程 开 关 等 。 其 中 , 电 阻 放 置在 独 立 电 路 板 上 , 行 程 开 关 只 有 在 步 进 电 机 超 出 运 转 范 围 后 才 有 效 。经 过 以 上 分 析 并 做 了 相 应 的 程 序 调 试 后 , 证 明 所 选 用 方 案 完 全 可 以 满 足 系 统设 计 的 要 求 。 由 51 单 片 机 编 写 程 序 , 外 接 电 源 给 步 进 电 机 及 其 驱 动 器 提 供 电 力 ,4 5 的 矩 阵 按 键 控 制 步 进 电 机 驱 动 器 从 而 使 步 进 电 机 按 照 设 想 的 方 式 运 转 , 并 用MAX7219CWG 8 位 7 段 数 码 管 显 示 系 统 的 一 些 信 息 。 图 2.4 为 该 系 统 总 体 框 图 。单 片 机行 程 开 关 电 路按 键 电 路数 码 管 电 路电 机 电 路图 2.4 系 统 框 图第 3 章 系统硬件原理电路图的设计与分析3.1 硬件说明本次设计用到以下硬件设施:以 STC89C52RC 为核心的单片机、 4 5 矩阵按键式键盘、步进电机及其驱动器、外接电源、保护电路板、行程开关、八段数码管显示器、导线。3.2 系统的硬件设计与比较3.2.1 单片机最小系统电路设计本系统采用的是以 STC89C52RC 芯片为核心的单片机,它是一款集高速、低功耗、超强抗干扰于一身的单片机芯片,指定代码完全兼容传统 51 单片机。该芯片提供 4 个 8 位的 I/O 口,分别为 P0、P1、P1 、P2 和 P3,内部有 2 个 16 位定时器/计数器,用于实现定时和计数功能,内置 EEPROM 存储,集成 MAX810 专用复位电路,外部晶体 20M 以下可以省略外部复位电路,有一个蜂鸣器输出。除了 4 个 8 位的 I/O 口,STC89C52RC 芯片还有 8 个特殊引脚分别为:1. Vcc, GND:电源端;2. XTAL1, XTAL2:片内振荡电路输入、输出端;3. RESET:复位端,正脉冲有效(宽度10 mS) ;4. EA/Vpp:寻址外部 ROM 控制端,片内有 ROM 时应当接高电平;5. ALE/PROG:地址锁存允许控制端;6. PSEN:选通外部 ROM 的读(OE) 控制端。 为便于后续端口的扩展和使用,STC89C52RC 对全部 I/O 接口做了上拉电阻设计。考虑到程序代码总量不多,完全可以使用内部 ROM 空间,故而将 EA 引脚接高电位。STC89C52RC 的电路示意图如图 3.1 所示:图 3.1 单片机最小系统为合理利用单片机的端口资源,并且兼顾程序设计的便利,将系统的输出和输入端口作如表 3.1 所示硬件说明。表 3.1STC89C52RC 主要管脚功能表单片机端口 外围接口电路硬件P0.0P0.2 MAX7219CWG 数码管P0.4、P0.5、P1.6 、P1.7 步进电机及其驱动器P1.5、P3.7 行程开关P3.0-P3.3、P1.0-P1.4 4*5 矩阵按键P3.6 蜂鸣器P2.0P2.2 独立按键P3.3、P3.5 存储器3.2.2 4 5 矩阵键盘按键作为单片机最常见最普通的输入设备大体上可以分为两类,一类为独立按键,即独个的按键,一类为矩阵按键,即键盘式的按键。独立式按键电路配置较灵活,且软件结构也简单,但是每个按键必须占用单片机的一个 I/O 口,所以这种按键方式适用于按键需要较少或操作速度较快的场合。矩阵式按键电路结构复杂,但提高了单片机 I/O 口利用率,所以这种按键方式适用于需使用大量按键的场合。根据设计设计的要求,本系统选用矩阵式键盘的形式。本系统采用的是 4 5 矩阵按键式键盘,电路如图 3.2 所示,控制面板如图 3.3所示。图中的四条行线与五条列线接入 P3.0P3.3 和 P1.0P1.4 的端口,该端口各位都上拉一个 1k 的电阻。图 3.2 矩阵键盘电路图图 3.3 控制面板本系统设置了 20 个按键,其对应功能如下:按键 09:对应 S1-S3、S6-S8、S11-S13、S16 ,系统对刀阶段,输入试切值时用到;按键 V、V:图中对应 S4、S5,控制速度档位的增减,最小为“1”,最大为“9”,共 9 档;按键 D、D:图中对应 S9、S10,控制直径档位的增减,最小为“6”,最大为“30”,共 12 档;按键、:图中对应 S14、S15 ,步进电机点动控制按键;按键对刀回零:图中对应 S17,对到后,系统回退按键;按键对刀输入:图中对应 S18,在对刀设置过程中,按下该键以确定输入的对刀数据;按键回零:图中对应 S19,控制系统以最快速度做回退运动;按键启/停:图中对应 S20,系统自动加工和暂停功能。另外,为了更好的实现设计要求,在实际生产中,系统加入了强电控制,电路图如图 3.4 所示,分别为“系统启动” 按键、 “系统停止” 按键和“ 急停”按键。功能如下:系统启动按键按下,响应动作如下:系统启动,控制系统工作就绪;系统停止按键按下,响应动作如下:系统断电,整个机床停止动作;急停按键按下,响应动作同系统停止按键,系统启动前应检查该按键是否处于正常状态。电气控制线路的工作过程为:按下启动开关,整个系统处于通电状态,砂轮电机运行,单片机系统以及进给、分度电机等待指令。按下启动键,系统进入相应状态控制各个电机协调动作。按下按下急停或停止按键,KM 线圈断电,磨头电机停止,整个系统停止。3.2.3 MAX7219CWG 数码管本系统参数的显示使用的是 MAX7219CWG 数码管。MAX7219CWG 是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与 8 位数字的 7 段数字LED 显示,也可以连接条线图显示器或者 64 个独立的 LED。其上包括一个片上的B 型 BCD 编码器、多路扫描回路,段字驱动器,而且还有一个 8 8 的静态 RAM 用来存储每一个数据。只有一个外部寄存器用来设置各个 LED 的段电流。MAX7219同样允许用户对每一个数据选择编码或者不编码。整个设备包含一个 150A的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示 1-8 位数据,还有一个让所有 LED 发光的检测模式。如图 3.5 为 MAX7219 数码管接线图:A急停开关 停止开关 启动开关B常开 K M 1控制电路K MUVV中线地F U 12 2 0 V 2 2 0 / 2 4 V分度驱动器2 2 0 / 5 V主板2 2 0 / 2 4 V进给驱动器水泵电机分度电机进给电机地AB主电路砂轮电机图 3.4 强电控制电路图图 3.5MAX7219 数码管接线图3.2.4 步进电机电机在日常生活中的应用很广泛。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,当步进电机驱动器接收到一个脉冲信号时,它就驱动步进电机按设定的方向转动一个固定的角度,称为“ 步距角 ”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,通过控制脉冲数来控制电机转动的角度,从而达到调速和分度旋转的目的。 混合式步进电机特点是输出力矩大、动态性能好,步距角小,但结构复杂、成本相对较高。根据本设计实际情况,选择混合式步进电动机作为该系统的电动机。如图 3.6 所示。图 3.6 混合式步进电机步进电机不能直接接到工频交流或直流电源上工作,而必须使用专用的步进电动机驱动器,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口。另外,步进电机需外接电源,外接电源接 220V 交流电,输出 24V 端口、5V 端口与 COM 端口分别接到驱动器相应端口上。为了安全起见,驱动器与单片机不应直接相连,应在而这中间接入保护电阻,保护电阻 220 欧姆焊在万用板上。图 3.7为步进电机、驱动器的电路图。驱动器的 VCC 口接到 24V 电源,GND 口则接地。3.2.5 行程开关考虑到工作生产中,机床工作台运动会出现超出极限位置的情况,所以在本设计中加入了行程开关来模拟现实生产中的保护措施,即当机床工作台运动到极限位置时会触发行程开关,并且进入到下一个运行阶段,从而达到不使工作台超出极限位置的目的。行程开关电路图如图 3.8 所示:图 3.7 步进电机、驱动器图 3.8 行程开关电路图3.3 设计电路原理图详见附录 1。第 4 章 系统软件的设计与分析4.1 主程序磨四方机床的控制系统流程图如图 4.1 所示,按下系统启动键,系统进入待命状态,数码管显示(从左到又) “00.000610”,如果加工的是不同直径的工件,先进行对刀,选择好加工直径与加工速度,点动控制步进电机对工件进行试切,试切完后对刀回零,测量试切长度并直接输入试切值,按下对刀输入完成试切存储,按下启/停按键系统自动进行加工,即步进电机按照一个循环动作进行转动,一次加工过程即完成。如果加工工件已对刀并已保存对刀数据,则直接自动机工。图 4.2 为系统状态的简易转换图。开 始中 断 、 数 码 管 初 始 化读 取 E E P R O M是 否 对 刀 状 态输 入 对 刀 数 据按 键 处 理是否自 动 控 制 状 态 处 理 对 刀 状 态 处 理 参 数 选 择 状 态 处 理M A X 7 2 1 9 数 码 管 数 据 显 示 更 新点 动 控 制 状 态 处 理数 码 管 显 示 数 码 管 显 示图 4.1 系统流程图参数选择状态对刀状态自动控制点动控制按下“对刀回零”键按下“前进”“后退”键按下“启/停”键按下“启/停”键装夹新工件按下“启/ 停”键图 4.2 系统状态转换图表 4.1 记录了部分系统变量:表 4.1 部分系统变量系 统 变 量 名 称 类 型 初 始 值 用 途int_meint0记 录 进 入 中 断 次 数z 从 数 组 中 选 择 速 度 值x 从 数 组 中 选 择 直 径 值minint0数 码 管 显 示 的 数bjchar按 键 真 的 按 下flag 按 键 标 记z1、 20、 1速 度 显 示x、 char、 直 径 显 示b 步 进 电 机 状 态 转 换y0工 位 序 号count0char脉 冲 数 记 录1 切 削 面 数 记 录20点 动 自 动 切 换主程序主要程序如下: InitDisplay(); / MAX7219 初始化ISP_IAP_disable(); /存储器初始化o=Byte_read(0x2003); /读取存储while(1)m=min%10000/1000; /MAX7219 数码管显示WriteWord (Digit7,m); if(jianzhi=20) /按键处理 count2+;/TR1=1; if(count22) count2=1; else if(jianzhi=11) /速度选择else if(jianzhi=12) else if(jianzhi=13) /直径选择else if(jianzhi=14) else if(jianzhi=0&jianzhi=12) x2=12; /最大直径else if(jianzhi=14) /直径减小按键x2-; if(x2=9) z2=9; /最小速度else if(jianzhi=12) /速度加快按键z2-; if(z2#include #define uchar unsigned char#define uint unsigned intsfr ISP_DATA = 0xe2; sfr ISP_ADDRH = 0xe3; sfr ISP_ADDRL = 0xe4; sfr ISP_CMD = 0xe5; sfr ISP_TRIG = 0xe6; sfr ISP_CONTR = 0xe7; sbit DIN = P00; /MAX7219 串行数据输入sbit CLK = P01; /MAX7219 串行时钟sbit LOAD = P02; /MAX7219 显示数据锁存控制sbit scl=P34;sbit sda=P35;sbit pls1=P16; /一直转sbit dir1=P17;sbit pls0=P04; / 90 度sbit dir0=P05; sbit xc2=P37; / 小行程开关sbit xc1=P15; / 大行程开关sbit fem=P36;#define NoOp 0x00 /空操作寄存器#define Digit0 0x01 / 数码管 1 寄存器#define Digit1 0x02 / 数码管 2 寄存器#define Digit2 0x03 / 数码管 3 寄存器#define Digit3 0x04 / 数码管 4 寄存器#define Digit4 0x05 / 数码管 5 寄存器#define Digit5 0x06 / 数码管 6 寄存器#define Digit6 0x07 / 数码管 7 寄存器#define Digit7 0x08 / 数码管 8 寄存器#define DecodeMode 0x09 / 译码模式寄存器#define Intensity 0x0a / 亮度寄存器#define ScanLimit 0x0b / 扫描位数寄存器#define ShutDown 0x0c / 低功耗模式寄存器#define DisplayTest 0x0f / 显示测试寄存器#define ShutdownMode 0x00 / 低功耗方式#define NormalOperation 0x01 / 正常操作方式#define ScanDigit 0x07 / 扫描位数设置,显示 8 位数码管#define DecodeDigit 0xff / 译码设置,8 位均为 BCD 码#define IntensityGrade 0x0a / 亮度级别设置#define TestMode 0x01 / 显示测试模式#define TextEnd 0x00 / 显示测试结束,恢复正常工作模式#define Read_COM 0X01 /字节读数据存储区 #define Prog_COM 0X02 /字节编程数据存储区 #define Dele_COM 0X03 /扇区擦除数据存储区 #define En_Wait_TIME 0X81 /设置等待时间 ,并使能 ISP/IAP /0X00=40MHZ 以下,0X01=20MHZ以下 /0X02=10MHZ 以下,0X03=5MHZ 以下 #define Start_ADDRH 0X20 /扇区地址高位,STC89C/LE52RC #define Start_ADDRL 0X00 /扇区地址低位 #define NoOp 0x00 /空操作寄存器#define Digit0 0x01 / 数码管 1 寄存器#define Digit1 0x02 / 数码管 2 寄存器#define Digit2 0x03 / 数码管 3 寄存器#define Digit3 0x04 / 数码管 4 寄存器#define Digit4 0x05 / 数码管 5 寄存器#define Digit5 0x06 / 数码管 6 寄存器#define Digit6 0x07 / 数码管 7 寄存器#define Digit7 0x08 / 数码管 8 寄存器#define DecodeMode 0x09 / 译码模式寄存器#define Intensity 0x0a / 亮度寄存器#define ScanLimit 0x0b / 扫描位数寄存器#define ShutDown 0x0c / 低功耗模式寄存器#define DisplayTest 0x0f / 显示测试寄存器#define ShutdownMode 0x00 / 低功耗方式#define NormalOperation 0x01 / 正常操作方式#define ScanDigit 0x07 / 扫描位数设置,显示 8 位数码管#define DecodeDigit 0xff / 译码设置,8 位均为 BCD 码#define IntensityGrade 0x0a / 亮度级别设置#define TestMode 0x01 / 显示测试模式#define TextEnd 0x00 / 显示测试结束,恢复正常工作模式uchar DisBuffer8=0,0,0,0,0,0,0,0; / 显示缓存区unsigned char code Tab11=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;unsigned char code Tab211=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xff; /数码管显示 09 的段码表uchar xdata a9=255,255,254,253,253,252,252,251,250; /这些值来自计算uchar xdata b9=156,6,112,218,68,174,24,130,236;/100,250,400,550,700,850,1000,1150,1300unsigned int c9=100,250,400,550,700,850,1000,1150,1300;unsigned int d12=6,8,10,12,14,16,18,20,22,24,27,30;/ 直径值unsigned int e12=8,8,9,10,12,13,14,14,16,18,20,20;/ 要切值unsigned int int_time; / 记录中断次数unsigned int sec,z,x; /unsigned int min; / 数码管显示的数uchar bj=0,bj2=0,bj3=0,bj4=0; /记录按键被按下uchar flag=0; /矩阵按键标记uchar flag1=0; /获取键值uchar flag3=0; /步进电机状态转换uchar z1=0;uchar xdata z2=1,bz=0;uchar x1=0;uchar xdata x2=1,y=0;uchar pre_scan1,pre_scan2,jianzhi;unsigned int count0=0,count1=0,count2=0;/*控制 MAX7219 函数声明*void delay(uint t);/毫秒延时基准程序void SendChar(uchar ch);/向 MAX7219写入一字节数据void WriteWord(uchar addr,uchar num);/向 MAX7219 写一字的数据void InitDisplay(void);/MAX7219 初始化设置/*数据存储函数*/void ISP_IAP_disable(vo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论