- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 工业控制单片机应用实例 11.1 步进电机控制接口技术 步进电机控制系统 1.脉冲的生成 单片机可以采用程序延时和定时器延时。 根据图11-4编写程序如下: MOV R3,#N ;计数器赋值LOOP0: PUSH ACC ;保存A MOV P1,#0FH ;送高电平 ACALL DELAY1 ;延时 MOV P1,#00H ;送低电平 ACALL DELAY1 ;延时 DJNZ R3,LOOP0 ;R3为零转移 POP ACC ;恢复A RET DELAY1:MOV A,#data LOOP: DEC A JNZ LOOP RET 图11-5是利用定时器延时,程序清单如下: MOV R3,#N ;计数器赋初值 MOV TMOD,#01 ;定时器T0方式1 MOV TL0,#XL ;赋初值 MOV TH0,#XH SETB TR0 ;启动T0 SETB P1.0 ;送高电平 LOOP1: JBC TFO,REP ;查T0溢出 AJMP LOOP1 REP: MOV TLO,#XL ;重赋初值 MOV TH0,#XH CPL P1.0 ;求反输出 DJNZ R3,LOOP1 ;不为零转移 RET 2.时序脉冲的形成步进电机的旋转方向决定于内部绕组的通电顺序和通电方式。以常用的三相步进电机为例,通常有三种通电方式:1) 三相单三拍 A-B-C-A2) 三相双三拍 AB-BC-CA-AB3) 三相六拍 A-AB-B-BC-C-CA-A按以上顺序通电,步进电机正转,按相反方向通电,步进电机反转。 产生时序脉冲的方法是: 1) 用单片机的P1.0、P1.1和P1.2分别控制三相步进电机的A、B、C相绕组。 2) 根据控制方式找出控制模型。 3) 按控制模型的顺序向步进电机输入控制脉冲。 由三相三拍通电方式的二进制可以看出,步进电机每步进一步,高电平就左移或右移一位。因此可以考虑在A累加器中放一个时序字节,在每个采样时刻累加器左移或右移一位,经输出口输出。单片机为8位字长,8不能被3整除。若把进位标志位CY考虑在内,可以看成是第“9”位,就能实现三相单单拍和三相双三拍通电方式。 三相单单拍通电方式,在A累加器中放时序字节49H,示意图如图11-6。 三相双三拍通电方式,在A累加器中放时序字节BBH(图11-7) 图11-8(a)程序清单: MOV R3, #N3 ;步数计数器 CLR C PUSH ACC ;保存A MOV A,#49H ;时序字节送A MOV P1,A ;输出时序字节 PUSH ACC ;保存时序字节 ACALL DELAY ;延时 POP ACC ;恢复时序字节 LOOP: RLC A ;循环移位 MOV P1,A ;输出时序脉冲 PUSH ACC ;保存时序字节 ACALL DELAY ;延时 POP ACC ;恢复时序字节 DJNZ R3,LOOP POP ACC ;恢复A RET ;返回 DELAY: MOV R2,#M DELAY1: MOV A,#M1 LOOP1: DEC A JNZ LOOP1 DJNZ R2,DELAY1 步进电机控制程序的设计 步进电机控制程序的主要任务就是:判断旋转方向,按顺序送出控制脉冲,判断所要送的脉冲是否送完。下面以三相六拍运转方式为例,说明这种程序的设计。 设步进电机所要走的步数放在R4中,转向标志存放在程序状态寄存器用户标志位F1(D5H)中,当F1为零时,步进电机正转,当F1为“1”时步进电机反转。正转模型01H、03H、02H、06H、04H、05H存放在8051片内数据存储器20H~25H中,26H中存放结束标志00H。在27H开始的存储区内存放反转控制模型01H、05H、04H、06H、02H、03H,在2DH单元内存放结束标志00H。 程序清单如下: PUSH ACC ;保护现
文档评论(0)