




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 PAGE24 / NUMPAGES24 学院毕业论文(设计)题目:基于单片机的步进电动机 控制系统设计专业:电气工程与其自动化吉湖指导教师(职称): 生建 (讲师) 二00 九年三月 日学院毕业论文(设计)开题报告 2009 年3 月日论文(设计)题目:基于单片机的步进电动机控制系统的设计 吉湖年级 2006级所在院系物理与机电工程学院专业 电气工程与其自动化指导教师 生建开展本课题的意义与工作容:数字化电动机控制技术的发展使电机这个古老的机电能量转换装置得到新的发展和广泛运用,极大的改善了工农业的生产效率,改善了人民的生活水平。步进电动机是纯粹的数字控制电动机,它将电脉冲信号转变成角位移,
2、即给一个脉冲信号,步进电动机就转一个角度,因此非常适合于单片机控制。总体安排与进度:第1周:到图书管或上网查找资料 第2周:整理所找来的资料 第3周:初步完成本系统的设计给指导老师批改 第4周:根据老师的点评完善本系统的设计课题预期达到的效果:本文以单片机为控制核心,达到理想的步进电动机位置控制和加减速控制。指导教师意见:签名:基于单片机的步进电动机控制系统设计 学院:物理与机电工程学院 专业:电气工程与其自动化 学号:2006040632 :吉湖 指导老师:生建 摘要数字化电机控制技术的发展使得电机这一古老的机电能量转换装置得到新的发展和广泛的应用,并极提高了工农业生产效率,改善了人民的生活
3、水平。步进电动机是纯粹的数字控制电动机,它将电脉冲信号转变成角位移,即给一个脉冲信号,步进电动机就转一个角度,因此非常适合于单片机控制。为了提高步进电机控制系统的动态性能和控制精度提出基于单片机的步进电机控制系统设计方法,包括系统硬件、软件与加减速控制算法的设计。 关键词 单片机 步进电机控制系统 位置控制 加减速控制目录摘要、关键词3第一章 三相反应式步进电动机原理与控制5一 三相反应式步进电机的工作原理5 二 步进电动机控制6第二章 系统硬件设计6 一 脉冲分配电路6 二 功率放大电路设计8第三章 系统软件设计8 一 位置控制8(一)位置控制设计8 (二)位置控制设计程序实现8 二 加减速
4、控制9(一)加减速控制设计9 (二)加减数控制程序实现11致词12参考文献12附录1系统程序13附录2 位置控制单片机程序19附录3 加减速控制单片机程序21引言: 随着微电子技术的发展,数字信号处理器以其强大的运算处理能力,较高的控制精度而在自动控制系统中普遍使用。为了提高步进电机的控制性能和精度,本文以单片机AT89C51为控制核心,实现了三相反应式步进电机控制系统的设计。第一章 三相反应式步进电动机概述与控制 一、三相反应式步进电机的工作原理 三相反应式步进电动机由转子和定子两大部分组成如图1-1所示。在定子绕组上有三对磁极,磁极上装有励磁绕组。励磁绕组分为三相,分别为A、B、C三相绕组
5、。步进电机的转子是由软磁材料制成,在转子上均匀分布四个凸极,极上不装绕组,转子的凸极也称为转子的齿1。 图1-1 三相反应式步进电动机原理图 当步进电动机的A相通电,B相和C相不通电时,由于A相绕组产生的磁通要经过磁阻最小的路径形成闭合磁路,这样将使转子齿13和定子A相对齐,如图中A相通电情况所示。当A相断电,改为B相通电时,同A相通电情况一样,磁通也要经过磁阻最小的路径形成闭合回路,这样转子顺时针转过一定角度,使转子齿2、4与B相对齐,转子在空间转过的角度为,如图B相通电所示。当B相改为C相时,同时可使转子顺时针转过的角度为空间角度,如图C相通电所示。若按照A-B-C-A的通电顺序往复下去,
6、则步进电机的转子将按一定速度沿逆时针方向旋转,步进电机转速取决于三相控制绕组的通、断电源的频率。当按A-C-B-A顺时针通电时,步进电机的转动方向将改为顺时针。在步进电机控制过程中,定子绕组每改变一次通电方式,称为一拍。上述的通电控制方式,由于每次只有一相控制绕组通电,称为三相当三拍控制方式,除此控制方式外,还有三相单、双六拍工作方式和三相双三拍控制方式,在三相单、双六拍工作方式中,控制绕组通电顺序为A-AB-B-BC-C-CA-A或A-AC-C-CB-B-BA-A。在三相双三拍控制方式中,控制绕组通电顺序为AB-BC-CA-AB或AC-CB-BA-AC。步进电机每改变一次通电状态(一拍)转子
7、转过的角度称为步进点饥的步距角,从图中可以看出三相单三拍的步距角为,而三相单、双六拍步距角为,三相双三拍的步距角为。步进电机的步距角可通过下式计算 (1-1) 式中的m为步进电机的相数,对于三相步进电机;C为通电状态系数,对于单拍或双拍方式工作时;单双拍混合方式时;为步进电机转子的齿数。步进电机的转速n可通过下式计算 (1-2)式中,f为步进电机每秒的拍数,成为步进电机的通电脉冲频率。二 、步进电动机控制步进电动机是数字控制系统中一种十分重要的自动化执行元件,在工业自动化装备,办公自动化设备中有着广泛的运用,近年来,控制技术、计算机技术以与微电子技术的迅速发展,有力地推动了步进电动机控制技术的
8、进步,提高了步进电动机运动控制装置的应用水平。过去电动机的控制多用模拟法,随着计算机应用技术的迅速发展,电动机的控制也发生了深刻的变化,步进电机常常和计算机一起组成高精度的数字控制系统。模拟控制已经逐渐被使用单片机为主的混合控制和全数字控制所取代。第二章 系统硬件设计步进电机是一种将电脉冲信号转换成角位移的执行机构,其转子角位移与输入脉冲的频率成正比,通过改变脉冲频率可以实现大围的调速;同时,步进电机易于与计算机和其他数字元件接口,因此被应用于各种数字控制系统中2,本设计的步进电动机控制系统由单片机(控制电路),脉冲分配电路、功率放大电路(驱动电路)、步进电动机与电源系统组成组成。系统结构框图
9、如图2-1所示。图2-1 系统结构框图一、脉冲分配电路由步进电动机的工作原理知道,要使电动机正常的一步一步地运行,控制脉冲必须按一定的顺序分别供给电动机各相。给三相绕组轮流供电被称为脉冲分配,实现脉冲分配的方法有硬件法和软件法两种。硬件分配法由环行分配器来实现,软件分配法由程序从计算机接口直接控制输出脉冲的速度和顺序3。 由于软件法在电动机运行过程中,要不停产生控制脉冲,占用大量CPU时间,可能使单片机无法同时进行其他工作(如监测等),所以本系统采用硬件法。使用一种8713集成电路芯片。8713属于单极性控制,用于控制三相和四相步进电机,可以选择以下不同的工作方式:三相步进电动机,单三拍,双三
10、拍,六拍四相步进电动机,单四拍,双四拍,八拍8713可以选择单时钟输入或双时钟输入;具有正反转控制、初始化复位、工作方式、和输入脉冲状态监视等功能;所有输入端部都设有斯密特整形电路,提高抗干扰能力;使用418V直流电源,输出电流为20mA。8713有16个引脚,各引角功能如表2-1所列4 表2-1 8713引脚功能 引脚功能说明1正转脉冲输入端1.,2脚为双时钟输入端2反转脉冲输入端3脉冲输入端3,4脚为单时钟输入端4转向控制端:0-反转;1-正转5,6工作方式选择:00为三(四)拍;01,10为单三(四)拍;11为六(八)拍7三/四相选择:0-三相;1-四相8地9复位端。低电平有效10,11
11、12,13输出端。四相用13、12、11、10脚,分别代表A、B、C、D;三相用13、12、11脚,分别代表A、B、C14工作方式监视。0为单三(四)拍;1为双三(四)拍;脉冲为六(八)拍15输出脉冲状态监视,与时钟同步16电源8713脉冲分配器与单片机接口如图2-2 图2-2 8713脉冲分配器与单片机接口图 本系统选用单时钟输入方式,8713的3引脚为步进脉冲端,4引脚为转向控制端,这两个引脚的输入均由单片机提供和控制,所以5、6、7脚均接高电平。由于采用了脉冲分配器,单片机只需提供步进脉冲,进行速度控制和转向控制,脉冲分配的工作交给脉冲分配器来自动完成。因此CPU的负担减少很多。二、功率
12、放大电路 脉冲分配器8713的A、B、C三端输出电流很小,而所用的三相反应式步进电机驱动电流较大,每相静态电流为3A。为满足驱动要求,系统设计了步进电机功率驱动电路,如图2-3所示(以A相为例)图23 步进电机功率驱动电路 电路采用三级晶体管放大,第一级用3DG6小功率管,第二级用3DK4中功率管,第三级用3DD15大功率管。LA为步进电机A相绕组。R15为限流电阻,保证电流稳态值;D2为续流二极管,防止3DD15关断时绕组反电势击穿管子。C9为加速电容,动态工作时,利用其旁路作用,使电机绕组电流上升加快,来改善电流波形的前沿,提高电机高频性能5。第二章 系统软件设计步进电机存在启动时失步,停
13、止时振荡现象,这是影响步进电机控制精度的主要原因。因此,软件设计主要介绍步进电动机位置控制和加、减速控制与程序实现。位置控制(一)位置控制设计步进电动机每走一步,步数减1,如果没有失步的存在,当执行机构到达目标位置时,步数正好为0。因此,用步数等于0来判断是否移动到目标位置,作为步进电动机停止运行信号。绝对位置参数可作为人机对话的显示参数,或作为其他控制目的的重要参数,它与步进电动机的转向有关,当步进电动机正转时,步进电动机每走一步,绝对位置加1,当步进电动机反转,绝对位置随每次步进减1。硬件连接如图2-2所示。(二)位置控制设计程序实现中断服务子程序框图,如图3-1所示,每次中断仍然改变一次
14、P1.0的状态,每两次中断步进电动机才走一步。 图3-1 中断服务子程序框图 本程序使用资源:30H、31H存放定时常数,低位在前; 32H34H存放绝对位置参数(假设用3字节),低位在前;35H、36H存放步数(假设最大值占2字节),低位在前。 步进电动机的正反转控制在主程序中实现,如果正转,使P1.1=1;如果反转,使P1.1=0。二、加减速控制(一)加减速控制设计为满足加减速控制要求,本系统步进电机按照指数加减速曲线进行控制,如图3-2所示。 图3-2 指数加减速曲线图 系统按指数曲线加减速时,驱动脉冲频率f与升数时间t的关系为: (3-1)式中fm为步进电机最高运行频率;是决定时间快慢
15、的时间常数,实际工作中可由实验来确定。实际运行中,若步进电机运行频率为fg,由式(公式3-1)可算出升速时间为: (3-2) 由于DSP是用定时器比较中断方式来控制步进电机速度的,电机的加减速控制实际上是不断改变定时器周期寄存器的装载值。为了编程的方便,可由阶梯曲线来拟合加速曲线,将升速段按照速度等间距均匀的离散为n档,如图3-3所示 。 图3-3 加速曲线离散化图 若步进电机启动脉冲频率为fg,稳定运行最高频率为fc,则相邻速度级的频率变化为: (3-3)则每一档频率fk为: (3-4)每一档运行时间Tk为: (3-5)式中tr(fk)、tr(fk+1)分别为运行频率fk与fk+1时的升速时
16、间。各分档速度的运行速度Nk为: (3-6)则加速过程总步数Nr为: (3-7)执行加速控制时,对每档的速度读要计算在此台阶上应走步数,然后以递减方式查询。当减至0时,表明该速度档步数已走完,进入下一档速度。同时,递减加速过程总步数,直到加速过程走完。以上是对步进电机加速过程的处理方法,减速过程的处理方法同加速过程6。(二)加减数控制程序实现本程序的资源分配如下: R0中间寄存器; R1存储速度级数;R2存储级步数; R3加减速状态指针,加速时指向35H,恒速时指向37H,减速时指向3AH; 32H34H存放绝对位置参数(假设用3字节),低位在前; 35H36H存放加速总步数(假设用2字节),
17、低位在前; 37H39H存放恒速总步数(假设用3字节),低位在前; 3AH3BH存放减速总步数(假设用2字节),低位在前定时常数系列存放在以ABC为起始地址的ROM中。初始R3=35H,R1,R2都有初使值。加减速程序框图如图3-4所示 图3-4 加减速程序框图 致词:在本设计完成之际,我要向所有给予我指导、关心、支持和帮助的人表示最衷心的感!在设计本系统的过程中,我的指导老师生建老师给了我悉心的指导和帮助,他为本设计的研究和撰写提供了各种技术资料和技术咨询,特别是老师在许多关键问题上的正确指导才能使得我的设计得以顺利完成。本人在设计之前也阅读了大量的相关的文献资料,从中汲取了丰富的知识,借此
18、机会向我的导师和这些作者表示衷心的感!参考文献1许晓蜂。电机与拖动。M。高等教育,20072亚东,从心,王小新。步进电机速度的精确控制。J。交通大学,2001,35,(10):1517-15203周庆贵,黄章。电气控制技术。M。化学工业,20074王晓明。电动机的单片机控制。M。航天航天大学,20075孟武胜,亮。基于AT89C52单片机的步进电机控制系统的设计。J。测控技术,2006,25(11):45-47。6王瑾,基于DSP和CAN总线的步进电机控制系统。J。电子测量技术,2009,31(1):112-115附录1 系统程序;相关参数定义MAICHONGBITP1.0FANGXIANGB
19、ITP1.1FINISHBITP1.7JUEDUIMAICHONG_LEQUR5JUEDUIMAICHONG_MEQUR6JUEDUIMAICHONG_HEQUR7DANGQIANWEIZHI_LEQU30HDANGQIANWEIZHI_MEQU31HDANGQIANWEIZHI_HEQU32HSHEDINGWEIZHI_LEQU33HSHEDINGWEIZHI_MEQU34HSHEDINGWEIZHI_HEQU35HJIASU_STEP_LEQU36HJIASU_STEP_HEQU37HHENGSU_STEP_LEQU38HHENGSU_STEP_MEQU39HHENGSU_STEP_HEQ
20、U3AHJIANSU_STEP_LEQU3BHJIANSU_STEP_HEQU3CHDANGQIANSUDUEQU3DHORG0000HAJMPMAIN ORG000BH ;定时器0中断入口 LJMPTIME0_INT ;调用定时器0中断子程序ORG0040HMAIN:MOVR0,#00H DJNZR0,$;等待系统电源稳定 MOVSP,40H;指定堆栈指针 CLRFINISH;清除完成标记 MOVDANGQIANSUDU,#0H;标示当前转速;初始化定时器 MOVTMOD,#01H;定时器0设定在工作方式1,最大定时周期65536uSMOVTH0,#3CH MOVTL0,#0B0H;设定定时
21、器0最大工作周期50mS MOVIE,#82H;开定时器0中断INIT_WEIZHI:;手动设定当前位置和预定位置,模拟实际工作情况CLRFINISHMOVDANGQIANWEIZHI_L,#80HMOVDANGQIANWEIZHI_M,#60HMOVDANGQIANWEIZHI_H,#98HMOVSHEDINGWEIZHI_L,#80HMOVSHEDINGWEIZHI_M,#96HMOVSHEDINGWEIZHI_H,#98HLCALLINIT_JUEDUIMAICHONG;计算绝对偏差脉冲数LCALLINIT_JIAJIANSU;计算加,恒,减速脉冲数SETBTR0JNBFINISH,$J
22、MPINIT_WEIZHI;返回初始化绝对位置脉冲数;ORGINIT_JUEDUIMAICHONG:;计算绝对偏差脉冲数CLRCMOVA,SHEDINGWEIZHI_LSUBBA,DANGQIANWEIZHI_LMOVJUEDUIMAICHONG_L,A;计算绝对偏差脉冲数最低字节MOVA,SHEDINGWEIZHI_MSUBBA,DANGQIANWEIZHI_MMOVJUEDUIMAICHONG_M,A;计算绝对偏差脉冲数中间字节MOVA,SHEDINGWEIZHI_HSUBBA,DANGQIANWEIZHI_HMOVJUEDUIMAICHONG_H,A;计算绝对偏差脉冲数最高字节JCQUF
23、ANSETBFANGXIANGRETQUFAN:CLRCMOVA,JUEDUIMAICHONG_LCPLA;取反MOVJUEDUIMAICHONG_L,A;计算绝对偏差脉冲数最低字节MOVA,JUEDUIMAICHONG_MCPLA;取反MOVJUEDUIMAICHONG_M,A;计算绝对偏差脉冲数最低字节MOVA,JUEDUIMAICHONG_HCPLA;取反MOVJUEDUIMAICHONG_H,A;计算绝对偏差脉冲数最低字节CLRFANGXIANGRET;ORGINIT_JIAJIANSU:;加减速脉冲数计算CLRCCJNEJUEDUIMAICHONG_H,#01H,H_BUDENG;判
24、断绝对位置脉冲数最高字节CJNEJUEDUIMAICHONG_M,#86H,M_BUDENG;判断绝对位置脉冲数中间字节CJNEJUEDUIMAICHONG_L,#0A0H,L_BUDENG;判断绝对位置脉冲数最低字节MOVJIASU_STEP_H,#0C3HMOVJIASU_STEP_L,#50H;设定加速脉冲数50000MOVHENGSU_STEP_H,#0MOVHENGSU_STEP_M,#0MOVHENGSU_STEP_L,#0;设定恒速脉冲数0MOVJIANSU_STEP_H,#0C3HMOVJIANSU_STEP_L,#50H;设定减速脉冲数50000H_BUDENG:JNCDAY
25、UAJMPXIAOYUCLRCM_BUDENG:JNCDAYUAJMPXIAOYUL_BUDENG:JNCDAYUAJMPXIAOYUXIAOYU:MOVA,JUEDUIMAICHONG_MRRCAMOVJIASU_STEP_H,A;设定加速脉冲数为绝对脉冲数的一半MOVJIANSU_STEP_H,A;设定减速脉冲数为绝对脉冲数的一半MOVA,JUEDUIMAICHONG_LRRCAMOVJIASU_STEP_L,AMOVJIANSU_STEP_L,AMOVA,#0ADDCA,#0MOVHENGSU_STEP_H,#0MOVHENGSU_STEP_M,#0MOVHENGSU_STEP_L,A;
26、设定恒速脉冲数RETDAYU:MOVJIASU_STEP_H,#0C3HMOVJIASU_STEP_L,#50H;设定加速脉冲数50000MOVJIANSU_STEP_H,#0C3HMOVJIANSU_STEP_L,#50H;设定减速脉冲数50000CLRCMOVA,JUEDUIMAICHONG_LSUBBA,#0A0HMOVHENGSU_STEP_L,AMOVA,JUEDUIMAICHONG_MSUBBA,#086HMOVHENGSU_STEP_M,AMOVA,JUEDUIMAICHONG_HSUBBA,#01HMOVHENGSU_STEP_H,A;设定恒速脉冲数RETTIME0_INT:;
27、定时器0中断子程序CLRTR0CPLMAICHONG;脉冲电平取反MAICHONG,HALF;判断是否为上升沿,以实现一个周期一个上升沿LCALLREINIT_TIME0;下降沿则直接装入原时间常数完成一个周期RETIHALF:MOVA,JIASU_STEP_L;判断加速低脉冲数是否为0CJNEA,#0,JIASU1;为0则转向加速高脉冲数判断MOVA,JIASU_STEP_H;判断加速低脉冲数是否为0CJNEA,#0,JIASU2;为0则加速结束转向恒速脉冲数判断MOVA,HENGSU_STEP_L;判断恒速低脉冲数是否为0CJNEA,#0,HENGSU1;为0则转向恒速中间脉冲数判断MOV
28、A,HENGSU_STEP_M;判断恒速中间脉冲数是否为0CJNEA,#0,HENGSU2;为0则转向恒速高脉冲数判断MOVA,HENGSU_STEP_H;判断恒速高字节脉冲数是否为0CJNEA,#0,HENGSU3;为0则恒速区结束转向减速高脉冲数判断MOVA,JIANSU_STEP_L;判断减速低脉冲数是否为0CJNEA,#0,JIANSU1;为0则转向减速高脉冲数判断MOVA,JIANSU_STEP_H;判断减速高脉冲数是否为0CJNEA,#0,JIANSU2;为0则电机停止转动SETBFINISH;P1.7做为完成指示灯RETIJIASU1:;判断加速低脉冲数不为0则减1DECJIAS
29、U_STEP_LACALLREINIT_TIME0;重新装入定时常数RETIJIASU2:DECJIASU_STEP_H;判断加速高脉冲数不为0则减1DECJIASU_STEP_L;判断加速低脉冲数减1INC DANGQIANSUDU;改变当前速度指针ACALLREINIT_TIME0;重新装入定时常数RETIHENGSU1:DECHENGSU_STEP_L;判断恒速低脉冲数不为0则减1ACALLREINIT_TIME0;重新装入定时常数RETIHENGSU2:DECHENGSU_STEP_M;判断恒速低脉冲数不为0则减1DECHENGSU_STEP_L;判断恒速低脉冲数减1ACALLREIN
30、IT_TIME0;重新装入定时常数RETIHENGSU3:DECHENGSU_STEP_H;判断恒速低脉冲数不为0则减1DECHENGSU_STEP_M;判断恒速低脉冲数减1DECHENGSU_STEP_L;判断恒速低脉冲数减1ACALLREINIT_TIME0;重新装入定时常数RETIJIANSU1:DECJIANSU_STEP_L;判断减速低脉冲数不为0则减1ACALLREINIT_TIME0;重新装入定时常数RETIJIANSU2:DECJIANSU_STEP_L;判断减速低脉冲数不为0则减1DECJIANSU_STEP_H;判断减速低脉冲数减1DECDANGQIANSUDU;改变当前速
31、度指针ACALLREINIT_TIME0;重新装入定时常数RETIREINIT_TIME0:;定时器0时间常数重装子程序MOVA,DANGQIANSUDU;取得当前速度指针位置MOVDPL,AMOVDPH,#02HCLRAMOVCA,A+DPTR;查表取出指针所对应的周期时间常数低字节MOVTL0,AMOVDPH,#03HCLRAMOVCA,A+DPTR;查表取出指针所对应的周期时间常数低字节MOVTH0,ASETBTR0;重新启动定时器0;如果是对步进电机的转速,即周期有严格要求的情况下,应对时间常数进行校正RET;步进电机加减速时间常数表;当前数据表示电机运行频率10Hz2500Hz,可自
32、行更改;0 1 2 3 4 5 6 7 8 9ORG0200HSUDU_L:DB0B0H,039H,00BH,092H,006H,08EH,074H,05AH,096H,05EHDB0D1H,005H,009H,0E8H,0A8H,050H,0E3H,067H,0DCH,045HDB0A4H,0FBH,04AH,092H,0D5H,012H,04BH,07FH,0B0H,0DEHDB008H,031H,056H,079H,09BH,0BAH,0D8H,0F4H,00FH,028HDB040H,057H,06DH,082H,096H,0A9H,0BCH,0CDH,0DEH,0EEHDB0FDH,
33、00CH,01BH,028H,036H,043H,04FH,05BH,066H,072HDB07CH,087H,091H,09BH,0A4H,0ADH,0B6H,0BFH,0C7H,0CFHDB0D7H,0DFH,0E7H,0EEH,0F5H,0FCH,003H,009H,00FH,016HDB01CH,022H,027H,02DH,033H,038H,03DH,042H,047H,04CHDB051H,056H,05AH,05FH,063H,068H,06CH,070H,074H,078HDB07CH,080H,084H,087H,08BH,08EH,092H,095H,099H,09CHD
34、B09FH,0A2H,0A5H,0A8H,0ABH,0AEH,0B1H,0B4H,0B7H,0BAHDB0BCH,0BFH,0C2H,0C4H,0C7H,0C9H,0CCH,0CEH,0D0H,0D3HDB0D5H,0D7H,0DAH,0DCH,0DEH,0E0H,0E2H,0E4H,0E6H,0E8HDB0EAH,0ECH,0EEH,0F0H,0F2H,0F4H,0F6H,0F8H,0F9H,0FBHDB0FDH,0FFH,000H,002H,004H,005H,007H,008H,00AH,00BHDB00DH,00EH,010H,011H,013H,014H,016H,017H,019H
35、,01AHDB01BH,01DH,01EH,01FH,020H,022H,023H,024H,025H,027HDB028H,029H,02AH,02BH,02DH,02EH,02FH,030H,031H,032HDB033H,034H,035H,036H,037H,038H;0 1 2 3 4 5 6 7 8 9ORG0300HSUDU_H:DB03CH,0AAH,0C9H,0D7H,0E0H,0E5H,0E9H,0ECH,0EEH,0F0HDB0F1H,0F3H,0F4H,0F4H,0F5H,0F6H,0F6H,0F7H,0F7H,0F8HDB0F8H,0F8H,0F9H,0F9H,0F9
36、H,0FAH,0FAH,0FAH,0FAH,0FAHDB0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FCH,0FCHDB0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCHDB0FCH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDHDB0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDHDB0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FEH,0FEH,0FEH,0FEHDB0FEH,0FEH,0FEH,0F
37、EH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEHDB0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEHDB0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEHDB0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEHDB0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEHDB0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEHDB0FEH,0FEH,0
38、FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEHDB0FEH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB0FFH,0FFH,0FFH,0FFH,0FFH,0FFHEND附录2 位置控制单片机程序如下:POS: CPL
39、 P1.0 ;改变P1.0 电平状态 PUSH ACC ;累加器A进栈 PUSH PSW PUSH R0 ;R0进栈 JNB P1.0,POS4 ; P1.0=0时,半个脉冲,转到POS4 CLR EA ;关中断 JNB P1.1,POS1 ;反转,转到POS1 MOV R0,#32H ;正转。指向绝对位置低位32H INC R0 ;绝对位置加1 CJNE R0,#00H,POS2 ;无进位则转向 POS2 INC R0 ;指向33H INC R0 ;(33H)+1 CJNE R0,#00H,POS2 ;无进位则转向 POS2 INC R0 ;指向34H INC R0 ;(34H)+1 CJN
40、E R0,#00H,POS2 ;无越界,则转POS2 CLR TR0 ;发生越界,停定时器(停电动机) LCALL BAOJING ;调报警子程序POS1: MOV R0,#32H ;反转。指向绝对位置低位32H DEC R0 ;绝对位置减1 CJNE R0,#FFH,POS2 ;无借位则转向 POS2 INC R0 ;指向33H DEC R0 ;(33H)-1 CJNE R0,#FFH,POS2 ;无借位则转向 POS2 INC R0 ;指向34H DEC R0 ;(34H)-1 CJNE R0,#FFH,POS2 ;无越界,则转POS2 CLR TR0 ;发生越界,停定时器(停电动机) L
41、CALL BAOJING ;调报警子程序POS2:MOV R0,#35H ;指向步数低位35H DEC R0 ;步数减1 CJNE R0,#FFH,POS3 ;无借位则转向 POS3 INC R0 ;指向36H DEC R0 ;(36H)-1POS3:SETB EA ;开中断 MOV A,35H ;检查步数=0 ORL A,36H JNZ POS4 ;不等于0转向POS4 CLR TR0 ;等于0。停定时器 SJMP POS5 ;退出POS4:CLR C CLR TRO ;停定时器 MOV A,TL0 ;取TL0当前值 ADD A,#08H ;加8个机械周期 ADD A,30H ;加定时常数(
42、低8位) MOV TL0,A ;重装定时常数(低8位) MOV A,TH0 ;取TH0当前值 ADDC A,31H ;加定时常数(高8位) MOV TH0,A ;重装定时常数(高8位) SETB TR0 ;开定时器POS5:POP R0 POP PSW POP ACC RET1 ;返回附录3 加减速控制单片机程序如下:JAJ:CPL P1.0 ;改变P1.0电平状态 PUSH ACC ;保存现场 PUSH PSW PUSH B PUSH DPTL PUSH DPTH SETB RS0 ;选用工作寄存器1 JNB P1.0,JAJ10 ;P1.0=0时,半个脉冲,转到JAJ10 CLR EA ;
43、关中断 JNB P1.0,JAJ1 ;反转,转到JAJ1 MOV R0,#32H ;正转,指向绝对位置低位32H INC R0 ;绝对位置加1 CJNE R0,#00H,JAJ2 ;无进位则转向JAJ2 INC R0 ;指向33H INC R0 ;(33H)+1 CJNE R0,#00H,JAJ2 ;无进位则转向JAJ2 INC R0 ;指向34H INC R0 ;(34H)+1 CJNE R0,#00H,JAJ2 ;无进位则转向JAJ2 CLR TR0 ;发生越界,停定时器(停电动机) LCALL BAOJING ;调报警子程序JAJ1:MOV R0,#32H ;正转,指向绝对位置低位32H DEC R0 ;绝对位置减1 CJNE R0,#0FFH,JAJ2 ;无借位则转向
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理片区质量分析及总结计划
- 学校如何落实素质教育
- 少先队大队部工作总结
- 四害防治服务合同(2篇)
- 教科版(2017)科学五年下册《温度不同的物体相互接触》说课(附反思、板书)课件
- 房源共租协议
- 林木砍伐与补植合同
- 景点资源共享协议
- 医务人员礼仪培训
- 餐饮年终工作总结
- 企业廉洁风险防控课件教学
- 中医护理三基练习题库+答案
- 2025年护士三基考核试题及答案
- 火龙罐综合灸疗法
- 特种设备使用登记表(范本)
- 汉译巴利三藏相应部5-大篇
- YSJ 007-1990 有色金属选矿厂 试验室、化验室及技术检查站工艺设计标准(试行)(附条文说明)
- 水利水电工程专业英语——水工结构篇
- 服装美术设计基础第三章
- 第5章-热系统评估
- 沥青路面铣刨摊铺施工组织设计
评论
0/150
提交评论