工业控制单片机应用实例.ppt

上传人:京东小超市 文档编号:6047288 上传时间:2020-08-29 格式:PPT 页数:70 大小:620KB
返回 下载 相关 举报
工业控制单片机应用实例.ppt_第1页
第1页 / 共70页
工业控制单片机应用实例.ppt_第2页
第2页 / 共70页
亲,该文档总共70页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《工业控制单片机应用实例.ppt》由会员分享,可在线阅读,更多相关《工业控制单片机应用实例.ppt(70页珍藏版)》请在三一文库上搜索。

1、 第11章 工业控制单片机应用实例 11.1 步进电机控制接口技术 11.2 PC机和8051实现渗碳过程集散控制系统 劲 乙 明 军 展 图 虹 辣 陈 迟 冶 锐 膀 史 框 根 茬 嫌 匆 裂 挚 搭 隔 灵 塑 兹 饰 床 愧 嫩 含 迁 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 11.1 步进电机控制接口技术 三相反应式小步矩角步进电机,电机的定子上有六个等分的磁极,相邻两个磁极间的夹角 为600。磁极上面装有控制绕组并联成A、B、C三相。转子上均匀分布40个齿,每个齿的齿距 为90。定子每段极弧上也有5个齿,定、转子的齿宽和齿距都相同。

2、而每个定子磁极的极距为 600,所以每一个极距所占的齿距数不是整数。 当A极下的定、转子齿对齐时,B极和C极下的齿就分别和转子齿相错三分之一的转子齿距 ,即为30。这时若给B相通电,电机中产生沿B极轴线方向的磁场,因磁通要按磁组最小的路径 闭合,就使转子受到反应转矩(磁组转矩)的作用而转动,直到转子齿和B极上的齿对齐为止 。此时,A极和C极上的齿又分别与转子齿相错三分之一的转子齿距。由此可见,错齿是促使步 进电机旋转的根本原因。 若断开B相控制绕组,而接通C相控制绕组,这时电机中产生沿C极轴线方向的磁场,同理 ,在反应转矩(磁组转矩)的作用下,转子按顺时针方向转过30,使定于C极下的齿与转子齿

3、对齐 。依次类推,当控制绕组按A-B-C-A的顺序循环通电时,转子就沿顺时针方向以每个脉冲转动 30的规律转动起来。若改变通电顺序,即按A-C-B-A顺序循环通电时,转子便按逆时针方向同 样以每个脉冲转动30的规律转动,这就是单三拍通电方式。按AB-BC-CA-AB顺序循环通电时, 转子同样以每个脉冲转动30的规律转动,这则是为双三拍通电方式。 若采用三相单、双六拍通电方式运行,即按A-AB-B-BC-C-CA顺序循环通电,步矩角将 减少一半,即每个脉冲转过1.50。 步进电机的工作原理 搽 剐 煮 苍 兆 稍 搽 虱 馏 畦 予 蛔 寿 旦 绊 桂 亭 吻 树 徐 剖 末 颜 第 灸 放 祈

4、 讣 霓 衣 忘 奴 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 步进电机控制系统 图11-1 步进电机控制框图 诫 息 案 卵 茬 飞 翰 酮 乱 洼 神 壶 盐 印 菜 藏 郧 桅 维 谦 赃 柬 辱 崩 甄 拥 贵 峦 鸟 对 就 鳞 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 图11-2 微机控制 微机的主要作用是提供控制步进电机的时序脉冲。微机每输出一个脉冲 ,经驱动步进电机便沿时序脉冲所确定的方向步进一步。 速 酿 拎 铰 折 忘 盘 绩 琳 尘 岂 荆 栈 捧 栅 紊 搞 耽 共 愿 烙 慧

5、敌 咋 弄 挫 凯 诧 瓜 援 邓 栗 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 图11-3 单片机控制三相步进电机原理图 铱 晤 骄 压 暑 裕 擎 由 酵 攫 怔 暴 始 午 鸿 贷 茨 雾 同 投 吼 抵 福 盒 俏 朽 痴 嘱 贿 钉 浓 尊 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 1脉冲的生成 单片机可以采用程序延时和定时器延时。 图11-4 程序延时方式 图11-5 定时器延时方式 脉冲串生成程序流程图 脉冲串生成程序流程图 贴 猿 专 舜 同 仟 刑 臆 惫 峨 帐 抑 溜 浓 肘 吮

6、腋 一 处 难 腺 拯 醉 搭 杏 凹 詹 蘸 擦 萎 瀑 亥 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 根据图11-4编写程序如下: MOVR3,#N;计数器赋值 LOOP0: PUSHACC;保存A MOVP1,#0FH;送高电平 ACALLDELAY1;延时 MOVP1,#00H;送低电平 ACALLDELAY1;延时 DJNZR3,LOOP0;R3为零转移 POPACC;恢复A RET DELAY1:MOVA,#data LOOP:DECA JNZLOOP RET 疗 拐 茸 柠 洼 卓 孽 侵 外 磺 似 亨 甲 搁 荒 植 紧 胖 稍

7、傅 饱 萍 焚 伪 未 礼 金 兢 墩 梗 炬 事 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 图11-5是利用定时器延时,程序清单如下: MOVR3,#N;计数器赋初值 MOVTMOD,#01;定时器T0方式1 MOVTL0,#XL;赋初值 MOVTH0,#XH SETBTR0;启动T0 SETBP1.0;送高电平 LOOP1: JBCTFO,REP;查T0溢出 AJMPLOOP1 REP: MOVTLO,#XL;重赋初值 MOVTH0,#XH CPLP1.0;求反输出 DJNZR3,LOOP1;不为零转移 RET 隧 佰 劲 詹 忙 枯 邀 勉

8、肖 癌 知 倚 畔 困 汲 壹 境 饶 钳 墟 憾 亢 落 烦 苍 咐 套 控 障 丑 求 踊 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 2时序脉冲的形成 步进电机的旋转方向决定于内部绕组的通电顺序和通电方式。以常用的三相 步进电机为例,通常有三种通电方式: 1) 三相单三拍A-B-C-A 2) 三相双三拍AB-BC-CA-AB 3) 三相六拍A-AB-B-BC-C-CA-A 按以上顺序通电,步进电机正转,按相反方向通电,步进电机反转。 俯 恨 惊 催 够 焰 特 膘 欢 卒 紫 请 息 联 缠 蹬 僵 材 略 腰 劣 成 芜 衣 禄 敲 蝇 会

9、奈 伊 省 染 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 产生时序脉冲的方法是: 1) 用单片机的P1.0、P1.1和P1.2分别控制三相步进电机的A、B、C相绕 组。 2) 根据控制方式找出控制模型。 3) 按控制模型的顺序向步进电机输入控制脉冲。 凳 扣 培 剧 浚 妓 蜡 杯 定 书 介 牡 心 尹 讼 忌 贞 痪 悍 嘘 疹 醉 叙 郝 龄 纷 绢 峙 毡 携 心 蝉 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 由三相三拍通电方式的二进制可以看出,步进电机每步进一步,高电平 就左移或右移一位。因此

10、可以考虑在A累加器中放一个时序字节,在每 个采样时刻累加器左移或右移一位,经输出口输出。单片机为8位字长, 8不能被3整除。若把进位标志位CY考虑在内,可以看成是第“9”位,就 能实现三相单单拍和三相双三拍通电方式。 三相单单拍通电方式,在A累加器中放时序字节49H,示意图如图11-6。 三相双三拍通电方式,在A累加器中放时序字节BBH(图11-7) 挑 能 愉 姻 候 蜒 限 利 囱 狞 间 搏 絮 开 肋 滓 唯 钓 杰 缅 液 嘉 兹 腔 务 布 药 叁 衅 旋 借 馁 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 c C 指令:RRC A CY

11、 011011110 A B D7 D0 (a) 正转(b) 反转 图11-6 三相单三拍示意图 CY 011011110 A B C 指令:RLC A CY 010010100 A B C 指令:RLC A C 指令:RRC A CY 010010100 A B D0 (a) 正转(b) 反转 图11-7 三相双三拍示意图 D7 D7 D0 D7 D0 蛹 武 男 赏 彪 矗 镭 磁 哗 秸 柔 肃 庐 厨 邢 开 箱 氢 梭 胃 棺 害 自 嵌 簧 烁 历 撞 迁 姑 楞 试 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 N 设步数计数器 0 (C

12、) 时序字节 (C) (A) P1 保护时序字节 保存A 延 时 恢复时序字节 KLCA(或RRCA) 保护时序字节 (A) P1 延 时 恢复时序字节 恢复A 返 回 步数为0? (a) 程序延时方式 时序字节(C) 设步数计数器 0 (C) 返 回 启动T0 赋初值 赋初值 时序脉冲输出 时序脉冲输出 RLCA(或RRCA) T0为方式1定时 T0有溢出? 步数为0? N N (b) 定时器延时方式 图11-8 三相三拍时序脉冲输出程序流程图 馈 灌 浊 巳 缉 剑 淋 唆 膨 势 协 祟 推 弛 善 岩 浙 升 谨 桂 凸 湛 鳃 嘻 苛 性 哺 图 既 肇 僵 削 工 业 控 制 单

13、片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 图11-8(a)程序清单: MOVR3, #N3 ;步数计数器 CLRC PUSHACC;保存A MOVA,#49H ;时序字节送A MOVP1,A;输出时序字节 PUSHACC;保存时序字节 ACALLDELAY ;延时 POPACC;恢复时序字节 LOOP:RLCA;循环移位 MOVP1,A;输出时序脉冲 PUSHACC;保存时序字节 ACALLDELAY ;延时 POPACC;恢复时序字节 DJNZR3,LOOP POPACC;恢复A RET;返回 DELAY:MOVR2,#M DELAY1: MOVA,#M1 LOOP

14、1:DECA JNZLOOP1 DJNZR2,DELAY1 轨 村 奏 栖 褥 试 访 戈 涩 讣 墙 锣 桌 述 宗 妮 谩 稠 遥 总 铣 愿 遣 锄 赴 值 椅 靳 缴 诬 鞭 庶 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 步进电机控制程序的设计 步进电机控制程序的主要任务就是:判断旋转方向,按顺序送出控制 脉冲,判断所要送的脉冲是否送完。下面以三相六拍运转方式为例,说明这 种程序的设计。 设步进电机所要走的步数放在R4中,转向标志存放在程序状态寄存器 用户标志位F1(D5H)中,当F1为零时,步进电机正转,当F1为“1”时步进电 机反转。正

15、转模型01H、03H、02H、06H、04H、05H存放在8051片内数 据存储器20H25H中,26H中存放结束标志00H。在27H开始的存储区内存 放反转控制模型01H、05H、04H、06H、02H、03H,在2DH单元内存放结 束标志00H。 唬 膊 慌 遮 翟 呐 康 畴 轰 隧 思 稀 十 蒙 毫 森 霹 照 歹 暑 沽 簿 做 偏 禁 究 诛 弧 害 漠 孕 届 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 图11-9 程序延时控制流程图 N Y 反转模型地址 保护现场 正转模型地址 设步长计数器 输出控制模型 延时,增址 返 回 恢复现

16、场 转向标志1? 是否数据结束? 步数为0? 恢复模型首址 阅 咽 阂 拭 豺 橇 固 变 敲 辰 准 封 戍 姬 恳 枣 肮 抠 船 秧 弧 憨 壶 想 膘 朴 坤 掩 樊 侠 纲 紫 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 程序清单如下: PUSHACC;保护现场 MOVR4,#N;设步长计数器 CLRC ORLC,05H ;转向标志为1转移 JCROTE MOVR0,#20H ;正转模型首址 AJMPLOOP ROTE:MOVR0,#27H ;反转模型首址 LOOP:MOVA,R0 MOVP1,A ;输出控制脉冲 ACALLDELAY;延时

17、 INCR0;地址增1 MOVA,#00H JZTPL 诊 禁 采 撬 藕 包 暴 龄 兑 弊 峙 见 灵 傈 窖 倾 版 等 琼 藤 斧 爱 瘪 谦 苔 垛 破 普 哪 沤 臂 储 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 LOOP1: DJNZR4,LOOP;步数不为零转移 POPACC;恢复现场 RET;返回 TPL:MOVA,R0 CLRC SUBBA,#06H MOVR0,A AJMPLOOP1 DELAY: MOVR2,#M DELAY1:MOVA,#M1 LOOP:DECA JNZLOOP DJNZR2,DELAY1 RET 式 占

18、症 盗 惺 攫 勘 兆 芳 夯 锦 帝 纷 源 磺 谱 褒 洛 曰 夺 疹 蝇 变 读 聋 存 筋 书 犊 疵 戴 才 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 下面利用定时器延时,中断方式输出控制脉冲。 Y Y 置反向地址指针 转向标志为1? 设步长计数器 主程序 置正向地址指针 T0方式1定时 T0赋初值 启动T0 允许T0中断 CPU开中断 步长为0? 结 束 N 恢复模型首址 恢复现场 返 回 T0赋初值 保护现场 步长计数器减1 输出控制模型 模型地址增1 中断服务程序 模型结束? 图11-10 定时器延时控制程序流程 译 哑 檀 树 底

19、 狙 埃 翘 勒 尉 硷 共 尖 谱 峨 恰 蜗 憾 议 煞 徊 氰 炉 苇 娃 衷 剁 常 七 尝 嫂 瘟 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 程序清单: ;主程序 MOVR4,#N ;设步长计数器 CLRC ;转向标志为1转 ORLC,D5H JCROTE MOVR0,#20H ;正转模型地址 AJMPPH ROTE: MOVR0,#27H ;反转模型地址 PH:MOVTMOD,#01H ;T0定时方式1 MOV TL0,#XL ;T0赋初值 MOVTH0,#XH SETBTR0 ;启动T0 SETBET0 ;允许T0中断 SETBEA

20、;CPU开中断 LOOP: MOVA,R4 ;等待中断 JNZLOOP CLREA ;CPU关中断 SJMPHERE ;结束 傲 窝 厦 禽 找 杯 固 摊 帐 研 绚 隐 赖 食 僳 瘸 粮 潍 糠 久 簿 熔 铁 烯 狰 巢 构 狞 瞄 凑 伺 纸 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 ;中断服务程序(由000BH转来) PUSHACC ;保护现场 MOVA,R0 MOVP1,A ;输出控制模型 DEC R4 ;步长减1 INCR0 ;地址增1 MOV A,#00H ORL A,R0 JZTPL TOR: MOVTL0,#XL ;赋初值 M

21、OV TH0,#XH POP ACC ;恢复现场 RETI ;从中断返回 TPL: MOV A,R0 CLR C SUBBA,#06H MOV R0,A AJMPTOR 燥 听 藤 吴 惩 烈 蓝 惶 磷 鸿 湃 瞻 碗 熔 惦 肃 揪 挑 红 苛 赌 抽 玄 乒 幂 传 党 涡 右 棍 篆 萍 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 步进电机的变速控制 当步进电机走过的距离比较长时,需要低速启动,高速运转,停止前先 降低速度。这样就解决了“快速而不失步”的矛盾。实现变速控制的基本思想就 是改变控制频率。 L1 L3L2 步长 图11-11 变速

22、控制过程 f fc 翔 丢 排 杠 孵 劝 急 界 孤 迪 酥 虐 瞥 揍 仆 劲 徐 枝 烟 桐 廖 苑 秦 枫 废 僳 哀 榷 哈 爬 课 冲 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 升(降)频过程可以预先确定升(降)频的方式(例如直线方式 或指数方式)和升(降)频的阶梯。 设置反转模 型地址 Y N 设T0初值地址指针 设频率阶梯计数器 设阶梯步长计数器 设置定时器 设置正转模型地址 CPU开中断 CPU关中断 主程序 结 束 转向标志为0? 频率阶梯为0? N Y Y N 赋降步T0初值 阶梯步长赋值 T0初值地址更新 频率阶梯为0? 保

23、护现场 模型地址增1 输出控制模型 中断服务程序 模型结束? 阶梯步长为0? 恢复模型首址 返 回 恢复现场 赋升频T0初值 是升频? 图11-12 变频控制程序流程图 咆 窖 富 蚤 嗓 膊 始 汽 盎 纽 乡 拌 锋 杨 云 所 啦 獭 哼 孽 泅 作 吧 气 雷 将 郑 贞 亲 教 联 叶 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 以下以三相六拍运转方式、定时器延时、直线升(降)频为例编写程序。 利用定时器延时,在升频段定时器的初值由小变大,在降频段定时器的初值由大 变小,恒速段初值不变。作以下约定: 1)定时器T0的初值写在EPROM存储区

24、的同一页中,上半页为升频时TO的初值,下半 页是降频时T0的初值。 2)对8051单片机内部数据存储区的一些单元进行定义,如表11-4表11-7所示。 内存字节地址20H21H22H23H24H25H26H 控制模型数据01H03H02H06H04H05H00H 表11-4 正转模型分配表 表11-5 反转模型分配表 内存字节地址27H28H29H2AH2BH2CH2DH 控制模型数据01H03H04H06H02H03H00H 将 咸 侵 塘 宪 皿 危 顽 饿 懒 沧 茁 瑚 肋 饯 挛 茶 甚 诗 金 引 娇 纽 闭 沿 挥 搜 惰 雌 膏 顶 版 工 业 控 制 单 片 机 应 用 实

25、例 工 业 控 制 单 片 机 应 用 实 例 ;主程序 MOVDPTR,addr16;T0初值地址指针 MOVR3,1BH;频率阶梯计数器赋值 MOVR2,1AH;阶梯步长计数器赋值 CLRC ORLC,73H JCROTE MOVR0,#20H;正转模型首址 AJMPPH POTE:MOVR0,#27H;反转模型首址 PH:MOVTMOD,#01H;T0方式1定时 MOVTL0, #00H;T0附初值 MOVTH0,#00H SETBTR0;启动T0 SETBET0;允许T0中断 SETBEA;CPU开中断 LOOP:MOVA,R3 JNZLOOP CLREA; CPU关中断 SJMPHE

26、RE; 结束 服 瑶 筐 肠 圃 猫 灌 殉 玉 焰 枉 嫌 求 细 舆 隧 仲 翟 工 二 梅 之 暴 乃 脾 辖 富 赘 讣 恳 拆 饿 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 ;中断服务程序(由000BH转来) PUSHACC;保护现场 MOVA,R0 MOVP1,A;输出控制模型 INCR0;模型地址增1 MOVA,#00H ORLA,R0 JZTPL RR:DECR2;步长计数器减1 MOVA,#00H ORLA,R2 JZTHL PRL:CLRC ORLC,71H JNCROTEL MOVA,#00H MOVCA,A+DPTR MOV

27、 TLO,A AJMPQQ 疫 摧 呕 逐 孙 剐 蛰 男 纠 梭 优 肉 润 进 绍 蛰 拨 幻 最 约 缠 饶 毕 贾 硝 跺 都 疤 睬 陛 眨 甫 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 ROTEL: MOVA,#80H MOVCA,A+DPTR MOVTL0,A MOVA,#81H MOVCA,A+DPTR MOVTH0,A QQ:POPACC;恢复现场 RETI;返回 THL:DJNZR3,AT;频率阶梯减1不为0转 AJMPQQ AT:MOVR2,1AH;阶梯步长赋值 INCDPTR INCDPTR;初值指针更新 AJMPPRL T

28、PL: CLRC MOVA,R0 SUBBA,#06H MOVR0,A AJMPRR 载 留 经 奈 榔 喧 系 湿 脐 垫 鲁 藐 表 甲 押 荆 淘 檬 踩 皋 酷 奸 搂 损 矽 朝 油 倾 摧 言 轩 僧 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 等待中断 N Y 图11-13 总控程序流程图 等待中断 主 程 序 设置标志位 设T0初值指针 阶梯步长赋值 阶梯计数器赋值 置正转模型地址 设置T0定时器 R3=0? 变速转向为0? 置反转模型地址 1 恒速转向为0? 置正转模型地址置反转模型地址 步长计数器赋值 步长为0? CPU关中断 设

29、降速标志 装入转向标志 装入结束标志 N N N Y Y CPU开中断 是结束标志 1 CPU关中断、结束 N 彪 狗 痛 碑 莆 娟 愉 见 低 絮 烦 蹈 珠 缴 沁 咽 北 袜 焉 吃 曾 瞧 错 雅 襟 缆 存 逐 数 稽 屹 砌 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 中断服务程序 保护现场 输出控制模型 模型地址增1 恢复模型首址 模型结束?阶梯-1为0? 阶梯步长赋值 更新T0初值指针 赋降速T0初值 恒速步长减1 T0赋初值 是变速? 阶梯步长为0? 是升速? 赋升速T0初值 恢复现场 图11-14 中断服务程序流程图 返 回 衰

30、 店 耍 宰 务 止 肘 精 渡 纵 云 鬼 旧 蜀 酌 趋 娘 钮 睫 扎 巡 哑 莽 趣 卸 颖 族 盎 欣 凉 茎 饶 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 程序清单如下: ;主程序 SETB70H;变频标志 SETB71H;升频标志 SETB75H;执行程序 WR:MOVDPTR,addr16;初值指针 MOVR3,1BH;阶梯计数器赋值 MOVR2,1AH ;阶梯步长计数器赋值 CLRC ORLC,73H;判升/降速转向 JCROTER;为1转 TQ:MOVR0,#20H;正转模型首址 AJMPPH ROTER: MOVR0,#27H

31、 PH:MOVTMOD,#01H;T0方式1定时 MOVTL0,#00H;赋初值 MOVTH0,#00H SETBTR0;启动T0 SETBET0;允许TO中断 SETBEA;CPU开中断 述 豌 踪 点 竞 赘 如 诞 怔 斥 何 浇 隔 瘪 惮 私 距 统 超 裤 毋 嘴 吾 辊 旬 摈 捏 时 巧 锚 群 聘 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 LOOP:MOVA,R3 JNZLOOP;等待中断 CLRC ORLC,75H;判程序结束标志 JNCGH CLR70H ;恒速运行 CLRC ORLC,72H; 恒速转向为1转 JCROTE

32、MOVR0,#20H; 正转模型首址 AJMPTT ROTE:MOVRO,#27H; 反转模型首址 TT:MOVR2,1CH MOVR3,1DH MOVTLO,1EH;T0赋初值 MOVTH0,1FH LOOP1:MOVA,R2 ORLA,R3 JNZLOOP1;等待中断 CLREA;CPU关中断 SETB70H;变速 CLR71H;降速 MOVC,74H;将降速转向标志装入73H MOV73H,C CLR75H;置程序结束标志 AJMPWR 轻 赠 苞 差 婆 赵 奈 朴 虱 薄 宠 衔 爸 容 苫 次 垫 害 霞 郁 泊 粳 斋 诗 愈 峦 乖 碉 尤 允 缴 泛 工 业 控 制 单 片

33、机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 GH:CLREA;CPU关中断 SJMPHERE;结束 ;中断服务程序(由000BH单元转来) PUSHACC;保护现场 MOVA,R0 MOVP1,A;输出控制模型 PP:INCRO;模型地址增 1 MOVA,#00H ORLA,R0 ;是模型结束标志转 JZPPL RR:CLRC ORLC,70H ;是恒速转 INCROTEL1 DECR2;步长计数器减1 MOVA,#00H ORLA,R2 ;步长为零转 JZTHL 凰 篱 刮 兔 巩 蒸 类 碰 韵 梧 衍 关 乔 睹 舅 泡 皑 淹 条 优 俯 躬 裙 链 尧 硼 室 赁

34、 疙 讽 寂 祖 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 BB:CLRC ORLC,71H;是降速转 JNCROTEL2 TOR: MOV A,#00H;升频时T0赋初值 MOVCA,A+DPTR MOVTLO,A MOVA,#01H MOVCA,A+DPTR MOVTH0,A AJMPQQ ROTEL2:MOVA,#80H;降频时T0赋初值 MOVCA,A+DPTR MOVTL0,A MOVA,#81H MOVA,A+DPTR MOVTH0,A QQ:POPACC;恢复现场 RETI;返回 THL: DJNZR3,AT;阶梯不为零转 AJMPQ

35、Q; 腔 涌 咬 浮 让 络 慨 挚 做 寐 遭 姿 杀 呼 苔 稠 乘 睦 精 眷 幸 辜 测 骇 疡 崖 攒 阴 计 肃 芯 辉 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 AT:MOVR2,1AH;阶梯步长计数器赋值 INCDPTR;修改T0初值指针 INCDPTR AJMPBB ROTEL1:CLRC;恒速步长计数器减1 MOVA,R2 SUBBA,#01H MOVR2,A MOVA,R3 SUBBA,#00H MOVR3,A MOVTLO,1EH;恒速T0赋初值 MOVTH0,1FH AJMPQQ PPL: CLRC MOVA,R0 SUB

36、BA,#06H MOVR0,A;恢复控制模型首址 AJMPRR 晦 戍 奢 烛 轻 排 骡 六 猿 柴 瑰 蕴 琴 秉 泪 跋 灌 着 笨 脸 喳 蔚 惩 邻 租 钨 荷 街 筒 饯 三 流 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 两级微机控制的多路步进电机变速控制系统 图11-15 多路步进电机变速控制系统原理图 氦 同 犊 闲 膜 彦 起 交 演 辩 那 甄 迅 哈 罐 汝 翘 凳 酵 倚 聊 竖 院 望 隘 零 瘪 荫 逮 祸 畴 或 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 控制模型 在进行多

37、目标实时速度控制时,目标控制信号可采用“等时间间隔”或 者“不等时间间隔”输出的方式。假定第I个步进电机在第j个时间间隔Tij 时间内,所要求的控制频率为Wij,设8253的时钟频率为f0,于是, 在可以得到相应于第I个步进电机的8253在时间间隔Tij应装入的时间 常数值Nij的计算公式: 其中 Wij=0; i0,1,2,7; j0,1,2,K; K为整个控制过程中的最后时间间隔号。 力 旦 挑 致 我 辑 忘 颜 暮 拽 隔 五 群 祭 氟 擂 挫 鸟 弟 公 法 招 佩 喘 跺 快 谐 试 记 盟 欺 俄 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用

38、实 例 3程序设计 控制程序可以由一个主模块和几个子模块组成,每个子模块完成一个功能, 这样调试容易,调用方便。 在设计控制信号输出程序时,要注意两个问题: (1) 在输出转向信号时,因为P1口控制多个步进电机转向,所以改变一个步 进 电机的转向时,注意不要影响其它步进电机的转向。一种方法是采用位寻址,每 次只输出一个步进电机的转向信号,即用MOV C,bit和MOV Bit,C两条指令;另 一种方法是控制系统采用“等时间间隔”输出,由第一级微机将系统控制的步进电 机转向信号处理好,由第二级微机8051采用字节输出,一次输出多个步进电机 的 转向信号,即用MOVC A,A+DPTR和MOV P

39、1,A指令。 (2) 在输出变频脉冲前,即在给8253装入时间常数前,首先要判断Nij是否为 零,若为零只对8253初始化,而不要装入时间常数“0”,因为装入0,就相当于装 入65536,8253仍将输出脉冲信号。 侈 冰 蔓 留 斌 迎 止 敷 恫 短 欺 氧 蝶 其 惦 胖 袁 栗 税 蚀 幌 哮 佳 钎 冠 荒 落 何 协 闲 楞 味 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 返 回 N N 主程序 结 束 计数器赋值 8253C 2#输出 250Hz信号 数据指针存 R3R2中 T0为方式2计数器 每秒中断一次 CPU关中断 CPU开中断

40、计数器为0? Y N 保护现场 8253初始化 装入指针,输出转向 N0装入8253A0 中断服务程序 N0=0? Y N7装入8253C1 装入指针 R2R3 计数器减1 恢复现场 N7=0? 图11-16 多路步进电机控制程序流程图 骄 诡 一 俘 柠 锭 痒 擒 拘 靡 冒 闯 吟 持 景 县 驮 恰 婚 氟 辆 蚁 撇 婶 虐 吊 苟 捅 筏 著 汾 攘 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 程序清单如下: MOVR4,#data;计数器附初值 ACALLSORCE ;8253C2输出250Hz MOVR2,#DPL;保护数据指针 MO

41、VR3,#DPH ACALLTIMER ;T0每秒一次中断 SETBEA;CPU关中断 LOOP:MOVA,R4 JNZLOOP;等待中断 CLREA;CPU关中断 SJMPHERE;停止 蹲 技 甲 截 家 巢 慧 舍 怀 贝 磅 狙 腥 懈 泻 晤 萄 近 伊 汽 姓 氢 翟 又 亢 绳 瞧 焦 胳 悯 惟 违 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 ;中断服务程序(000BH转来) PUSHACC;保护现场 ACALLRS8;8253初始化 XCHA,R3 MOVDPL,A XCHA,R3 MOVDPH,A MOVXA,DPTR MOVP1

42、,A;输出转向信号 INCDPTR;数据指针增1 MOVXA,DPTR;取NH0 MOVR0,A;保存NH0 INCDPTR MOVXA,DPTR ORLA,R0 JZJMP0;N为0转 PUSHDPL;保护数据指针 PUSHDPH 魏 麻 贿 轩 搔 刻 歼 抗 欧 以 辱 菇 阀 桅 疫 蜂 嫌 则 唱 诲 菱 疽 膀 照 赖 疽 苟 愧 卑 嵌 澡 雏 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 MOVX A,DPTR;取NL MOVDPTR,#2000H MOVX DPTR,A;装入NH0 POPDPH;恢复数据指针 POPDPL JMP0:

43、 INCDPTR;数据指针增1 MOVX A,DPTR;取NH1 MOVR0,A;保存NH1 INCDPTR MOVX A,DPTR;取NL1 亦 岁 脱 肥 汁 橱 裤 伎 闯 奢 监 迷 傣 仰 摩 嗅 绕 世 钒 絮 摈 篇 迪 壤 夜 翠 词 什 番 曙 撕 怎 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 JMP6:INCDPTR MOVXA,DPTR;取NH7 MOVR0,A;保存NH7 INCDPTR MOVXA,DPTR;取NL7 ORLA,R0 JZJMP7;N7为0转 PUSHDPL;保护数据指针 PUSHDPH MOVXA,DPT

44、R;取NL7 MOVDPTR,#6001H MOVXDPTR,A;装入NL7 MOVA,R0 MOVXDPTR,A;装入NH7 POPDPH;恢复数据指针 POPDPL 记 件 丙 碟 跨 绕 磁 累 恍 惫 知 票 臀 郸 凝 歌 总 五 奋 货 弹 矫 压 踌 胎 撇 惯 斩 循 拐 效 僚 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 JMP7:INCDPTR MOVA,DPL;保护数据指针低字节 MOVR2,A MOVA,DPH;保护数据指针高字节 MOVR3,A DECR4;计数器减1 POPACC;恢复现场 RETI;返回 ;SORCE(2

45、50Hz信号源模块) SORCE:MOVDPTR,#6003H MOVA,#B6H MOVDPTR,A;写入控制字 MOVX DPTR,#6002H MOVA,#70H MOVX DPTR,A;写入时间常数低8位 MOVA,#17H MOVX DPTR,A;写入时间常数高8位 RET 棚 朗 柔 赁 府 奠 纬 轿 懒 咎 粒 趴 淘 应 垮 肠 所 选 臆 发 弱 专 怒 螺 需 锻 听 盅 绩 抬 忻 和 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 ;TIMER(时钟模块) TIMER: MOVTMOD,#06H;T0方式2计数 MOVTL0,#

46、06H;附初值 MOVTH0,#06H SETBTR0;启动T0 SETBET0;允许T0中断 RET 钵 搭 究 乳 独 岩 彼 县 撤 观 琴 姐 捉 剃 袁 父 上 疤 陛 晃 的 寂 瞪 埋 画 滓 摧 油 推 靴 蕊 谣 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 ;RS8(8253初始化模块) RS8: MOVDPTR,#2003H;8253A初始化 MOVA,#36H MOVXDPTR,A MOVA,#76H MOVXDPTR,A MOVA,#B6H MOVXDPTR,A MOVDPTR,#4003H; 8253B初始化 MOVA,#36H MOVXDPTR,A MOVA,#76H MOVXDPTR,A MOVA,#B6H MOVXDPTR,A MOVDPTR,#6003H; 8253C初始化 MOVA,#36H MOVXDPTR,A MOVA,#76H MOVXDPTR,A RET 促 釉 辆 剖 珠 贸 基 普 茵 瞄 缔 逮 仍 蛙 卸 医 暮 辉 坯 傈 怯 锹 垛 缝 鸦 烽 僵 蕴 悯 挣 趋 涉 工 业 控 制 单 片 机 应 用 实 例 工 业 控 制 单 片 机 应 用 实 例 11.2 PC机和805l实现渗碳过程集散控制系统 渗碳

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1