《电子线路课程设计步进电机驱动控制系统设计(含仿真).doc》由会员分享,可在线阅读,更多相关《电子线路课程设计步进电机驱动控制系统设计(含仿真).doc(27页珍藏版)》请在三一办公上搜索。
1、课 程 设 计 说 明 书仿真文件,联系153893706课程设计名称: 电子线路课程设计 题 目: 步进电机驱动控制系统设计 学 生 姓 名: 专 业: 应用电子技术 学 号: 200508510116 指 导 教 师: 日期:2007年 7月13日步进电机驱动控制系统设计摘 要:本文介绍了一种步进电机驱动控制系统设计方案,包括其时钟脉冲电路、脉冲分配器、以及驱动电路和供电电源的设计。前面几块电路主要由一些集成芯片构成,而分配器主要由EPROM存储器、计数器、可编程计数长度选定电路和电机类型及其工作方式选择电路等组成。它与控制器的接口简单,软件编制容易,占用CPU的时间短。给出了详细的分析过
2、程及实现方法,并对提出的方案进行了仿真分析。关键词:步进电动机,驱动电,系统设计,仿真数据采集, 以太网接口, 嵌入式CPU, CPLD芯片 Abstract: This paper presents a stepper motor drive control system design, including its clock pulse circuit, pulse distributor, and the drive circuit and power supply design. In front of a few from some of the main circuit Integ
3、rated Chip. However,the distribution is composed of EPROM memory,counter,programmable counting circuit and select circuit of the type an d operation mode of motor etcThe inter-face between distributor and controller is simple,program development is easy,and runtime of the program is shortThe detaile
4、d analysis and realization method are given. The simulation results are provided Keywords: stepping motor,driving circuit,design system,Simulation 目 录1 前言11.1课程设计任务11.2课程设计目的及意义11.3步进电机的发展与应用12 系统总体方案设计32.1方案论证与比较32.2方案选择53 单元硬件模块设计63.1供电电源设计63.2 功率放大器设计63.3 环形脉冲分配器设计73.4 时钟脉冲产生电路73.5步进电机的选用84 特殊器件介
5、绍94.1晶体振荡器94.2 CW317三端可调正集成稳压器94.3 TWH8751的结构及原理104.4步进电机114.5 AT89C51的封装及其内部结构124.6 ULN2003A的封装及其内部结构135 软件设计155.1说明软件设计原理及设计所用工具155.2画出软件设计结构图、说明其功能155.3软件设计流程图166 系统调试187 总结与体会208 参考文献21附录1:相关设计图22附录2:部分程序设计清单231前言1.1课程设计任务设计一步进电机驱动控制系统,能实现步进电机的正转、反转、手动和自动控制,被控电机为3相步进电机,型号是36BF003,正常工作时相电压的标称值为27
6、V,正常工作时相电流的标称值为1.5A,保持转矩是78毫牛顿米,步距角为1.5度或3度。1.2课程设计目的及意义了解步进电机的结构和工作原理以及其发展前景,掌握步进电机控制系统的设计方法及其调试技术,了解功率器件的应用技术,学会各模块单元的设计及连接,同时学会单元电路的参数测试及分析,基本学会使用绘图软件Protel 99 SE和ISIS仿真软件。1.3步进电机的发展与应用步进电机、直流电机和无刷直流电机的主要区别在于它们的驱动方式。步进电机是以步阶方式分段移动,直流电机和无刷直流电机通常则采用连续移动的模拟控制方式。由于步进电机采用步阶移动,所以特别适合绝对寻址应用,目前市场上常见的步进电机
7、已能提供每一步1.8或0.9的精确移动能力。步进电机采用直接控制方式,它的主要命令和控制变量都是步阶位置 (step position);相形之下,直流电机则是以电机电压做为控制变量,以位置或速度做为命令变量。直流电机需要反馈控制系统,它会以间接方式控制电机位置,步进电机系统多半则是以开环方式进行操作。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步
8、进电机来控制变的非常的简单。步进电机广泛应用于对精度要求比较高的运动控制系统中,如机器人、打印机、软盘驱动器、绘图仪、机械阀门控制器等。目前,对步进电机的控制主要有分数器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成环形脉冲分配器等。分散器件组成的环形脉冲分配器体积比较大,同时由于分散器件的延时,其可靠性大大降低;软件环形脉冲分配器要占用主机的运行时间,降低了速度;专用集成芯片环形脉冲分配器集成度高可靠性好,但其适用性受到限制,同时开发周期长、需求费用较高。2系统总体方案设计步进电机的控制和驱动方法很多,按照使用的控制装置可分为:普通集成电路控制、单片机控制、工控机控制、PLC控制等几种
9、;按照控制结构可分为:硬脉冲生成器硬脉冲分配结构、软脉冲生成器软脉冲分配器结构、软脉冲生成器硬脉冲分配器结构。步进电机由定子和转子两部分组成,根据转子的结构形式,可分为永磁转子步进电机和磁阻式转子步进电机两类。常用的有三相磁阻式步进电机,当三相定子绕组轮流接通驱动脉冲信号时,在三对大极上就依次轮流产生磁场,吸引转子转动,转子每次转动的角度成为步距角。给每相绕组通一次称一拍。控制三相绕组通电的次序,就能使电机正转或反转。控制通电信号的频率就能控制电机的转速。2.1方案论证与比较方案一:本方案是利用时钟脉冲电路产生的时序脉冲并通过环形脉冲分配器进行时序脉冲的分配,然后经过功率放大器将输入的时序脉冲
10、信号进行放大带动步进电机的转动,其控制系统组成框图如图2.1所示:手动/自动控制时钟脉冲产生工作方式选择环行分配器B相放大C相放大A相放大步进电 机供电电源图2.1总体方案设计框图方案二:由于步进电机具有无累积误差、跟踪性能好的优点,步进电机的控制以组成开环控制系统居多,因此本设计是基于PLC的步进电机典型控制方案,其系统结构如图2.2所示。系统硬件部分由控制面板、PLC控制器、驱动器、步进电机等组成。控制面板作为人机交互界面,通过与PLC的通信,实现操作监控功能,可以是传统的按钮、拨键、开关、指示灯、仪表通过硬接线组成的操作面板,也可以是个人计算机或者是新型的触摸屏;控制器PLC 发出脉冲、
11、方向信号,通过驱动器控制步进电机的运行状态。在手动盘车功能的步进电机控制系统中,如果在驱动器不断电的情况下要求直接转动电机轴,就要利用驱动器的脱机信号功能,使电机脱机,进行手动操作或调节,手动完成后,再将脱机信号去除,以继续自动控制。控 制 面 板PLC驱 动 器步进电机负载脉冲MAICHONG M脉冲方向脱机图2.2 控制系统结构框图方案三:本设计主要是由单片机构成,其结构框图如图2.3所示。该步进电机的控制系统主要由单片机AT89S51、电机驱动芯片L298N、4 4 的键盘,串口方式的共阳LED 显示电路(由6 片级联的74LS164 驱动) 、电源和时钟电路等几个单元组成,其结构框图如
12、图2 所示。借助于AT89S51 中内置的看门狗,可使系统在失控时恢复正常运行。整个系统外围元件少,具有结构简单、成本低廉、可靠性高、使用方便、通用性强等特点。在实际应用中,也可采用大功率的管子来代替L298N对步进电机进行驱动,成本比较低,缺点是管子的特性有一定差异,对驱动效果有一定的影响,且电路较复杂。6位LED驱动与显示单片机AT89S5144键盘驱动器L298N电源与时钟步进电机图2.3 单片机控制结构图2.2方案选择由于方案二和方案三都存在连接电路较复杂,尤其是方案三,其驱动电路以及LED显示电路都很复杂,而方案一则所连接的的电路较为简单,而且易于实现控制,故经过对各方案的优缺点进行
13、比较后,本次设计采用方案一。3单元模块设计3.1供电电源设计系统的稳定运行需要多个电源,脉冲源、环行分配器需要5伏的电压,而驱动电路,步进电机需要27伏的稳压电源。因此本次设计的电源采用三端可调正集成稳压器。图3.1 步进电机供电电源电路3.2功率放大器设计由环形分配器输出的脉冲功率很小,要进行功率放大,使脉冲电流达到110A,才足以驱动步进电机旋转。为了使步进电机有较大的高频转矩,还应该能获得较大的高频电流,为此发展了多种功率放大电路,本次设计采用图3.2所示的功放电路。图3.2 斩波型驱动功放电路3.3环形脉冲分配器设计本设计选用AT89C51为环形脉冲分配器,ULN2003(国产型号为5
14、G1413)是七路达林顿驱动器阵列,是个集电极开路(OC)输出的反向器.最大驱动电流可以达到500mA。通常应用时是把负载步进电机的一端接到VDD(12V)上,另一端接到输出引脚上,如16脚。为了防止程序进入死循环,增加了外部的硬件看门狗定时器MAX813L,其内部的看门狗定时器监控UP/UC的工作。如果在1.6s内未检测到其工作,内部的定时器将使看门狗输出WDO处于低电平状态,WDO将保持低电平直到在WDI检测到UP/UC的工作。将WR和WDO连接可使看门狗超时产生复位。采用ULN2003A驱动步进电机。3.4时钟脉冲产生电路时钟脉冲产生电路,能实现步进电机的正转、反转、手动(点动)和自动控
15、制。本次设计的时钟脉冲电路采用晶振电路来实现,晶振的频率较大,稳定度高,且频率精准,我们可以利用分频的方法使晶振的频率变小,可以使电机工作稳定。图3.3 时钟脉冲产生电路3.5步进电机的选用步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。本次设计主要采用的电机型号为36BF003。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机
16、的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:1) 控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A-B-CD,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。2) 控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。3) 控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。4特殊器件介绍4.1 晶体振荡器为了提高振荡频率的稳定度,可以使用
17、晶体或陶瓷(Cer-amic)振荡子等压电元件。此除了可以应用于高频率振荡电路以外,尚可以使用于钟表与计数器等基准时间产生电路。 压电元件为利用机械振动与电气振动间的相互转换的作用,而且其固有振动数是由几何尺寸所决定的。图4.1 晶振的电气特性(由于使用振荡器,可以使频率更为稳定。振荡领域为在串联谐振点fs与并联谐振点fp之间。) 图(a)所示的为其等效电路,图(b)所示的为其电抗(Reaetance)特性。fs为串联谐振频率点fp为并联谐振频率点,其谐振频率分别如下: ,将晶体与陶瓷振荡器此较,陶瓷振荡器的电感性范围fsfp为晶体的数十倍。因此,陶瓷振荡器的频率稳定度比晶体差一些。4.2 C
18、W317三端可调正集成稳压器CW317是常用的三端可调正集成稳压器,是一种性能优越的集成稳压电路,输出电压范围1.2537V,最大输出电流1.5A。3个脚分别为输入、控制、输出,输出电流即供充电使用,输入端Vi直接接整流电,控制端ADJ一般由输出电路提取控制源,为了能够调定固定工作点,控制端应设电阻或可变电阻。稳压管DW正极对地电压为-1.25V,调压电位器的下端没有接在地端,而是接在稳压管正极,稳压电源的输出电压仍然从三端稳压器的输出端与地之间获得。这样当W的阻值调到零时,R1上的1.25V电压刚好和DW上的-1.25V相抵消,从而使输出电压为0V。该电路可以从0V起调,输出电压可达30V以
19、上。图4.2 W317封装外形1、三端固定 如W7806,它的稳压值是固定的,不可调整。2、三端可调 通过两个外接电阻中的一个RP,可调整输出电压。3、开关式 调整工作管的开关状态达到降低损耗,并通过控制开关时间达到稳压目的。LM317属三端可调式稳压器,之所以称为可调恒流源,是可以由控制极ADJ的电位器RP调节控制电压源达到的。4.3 TWH8751的结构及原理TWH8751功率开关集成电路采用TOP-220封装形式,内电路由输入级,缓冲放大器和达林顿功率输出级组成,并设有反馈环路和减流型输出保护电路,通用性强。共有5个引出脚,如图1中相应部分的标识所示,管脚功能分别为:输入端(IN),选通
20、端(ST),地端(GND),输出端(OUT)和电源正端(VCC)。当脚2选通端电平1.6V时,脚1输入端对输出端(脚4)无控制作用,即末级达林顿管截止,电路无输出;只有脚2为低电平(1.2V)时,加在脚1上的信号才能有效地控制脚4输出端的电平。 TWH8751的输入端和选通端所需输入控制电流很小,仅100200A,而输出端允许通过的最大电流为2A。内部另设有减流型保护电路,当输出电流超过3A时,保护电路能自动使输出电流减至1A左右,在使输出截止后,集成开关电路将重新恢复至2A的输出负载能力。4.4 步进电机1) 结构电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴
21、线错开。0、1/3、2/3,(相邻两转子齿轴线间的距离为齿距以表示),即A与齿1相对齐,B与齿2向右错开1/3,C与齿3向右错开2/3,A与齿5相对齐,(A就是A,齿5就是齿1)下面是定转子的展开图:图4.3 定转子的展开图2) 旋转:如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3,此时齿3与C偏移为1/3,齿4与A偏移(-1/3)=2/3。如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3,此时齿4与A偏移为1/3对齐。 如A相通电,B,C相不通电,齿4与A对齐,转子
22、又向右移过1/3这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A,B,C,A通电,电机就每步(每脉冲)1/3,向右旋转。如按A,C,B,A通电,电机就反转。由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。不过,出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用A-AB-B-BCC-CA-A这种导电状态,这样将原来每步1/3改变为1/6。甚至于通过二相电流不同的组合,使其1/3变为1/12,1/24,这就是电机细分驱动的基本理论依据。不难推出:电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移
23、1/m,2/m(m-1)/m,1。并且导电按一定的相序电机就能正反转被控制这是步进电机旋转的物理条件。4.5 AT89C51的封装及其内部结构AT89C51是一个低功耗,高性能CMOS 8位单片机,有4 kbytes闪速可编程,可擦写只读存储器(派罗姆)。该装置是利用制造-11的高密度非易失性存储器技术,是符合工业标准的MCS一51指示 集pinout . 而在片内Flash允许程序存储器将重新在系统或传统非挥发性记忆程序员,结合灵活的8位CPU与Flash在单片芯片,该-11 AT89C51的是一个强大的微机提供了高度灵活和具成本效益的解决很多嵌入式控制。AT89C51提供以下标准功能: 4
24、 kbytes闪光灯,128字节的RAM,32我/澳线路,两个16位定时器/计数器,一个五向量两级中断结构,一个全双工串口,芯片振荡器和时钟电路。图4.4 AT89C51的封装图4.5 AT89C51的内部结构4.6 ULN2003A的封装及其内部结构uln2001a , uln2002a , uln2003a , uln2004a都是单片高电压,高电流达林顿晶体管阵列. 每个共分七达林顿的NPN成对特征高压产出与普通阴极钳位二极管开关感性负载. 珍藏的评级单一灵顿一双五百马. 达林顿组合,可比照更高的电流能力. 应用包括司机接力,链球司机,司机灯泡,展示司机(领导和气体放电) ,线路驱动器,
25、逻辑缓冲区等. 100五(否则可互换)版本,见sn75465通过sn75469 . uln2001a的是一种通用的阵列,可使用的TTL及CMOS技术. uln2002a的,是专门设计用于14至25五MOS器件. 每个输入该装置具有网络Zener二极管,电阻器系列,以控制输入电流为 安全极限. uln2003a的有2.7千瓦基地系列电阻为每灵顿一双操作直接用TTL或5-第五的CMOS 装置. uln2004a的有10.5千瓦系列电阻基地,使操作直接从CMOS器件的使用电压供应 6日至15诉所需输入电流的uln2004a是低于当年的uln2003a ,和所需的电压低于所需的uln2002a。图4.
26、6 ULN2003A的封装图4.7 ULN2003A的内部结构5软件设计5.1说明软件设计原理及设计所用工具本设计主要使用Protel以及ISIS软件,通过它可以进行原理图的绘制以及仿真。下面介绍一些前面板对象共用属性的用法。1)Visible 选项:选中该项表示开启栅格的功能。当开启栅格显示功能的时候,原理图的图纸背景中会出现网格。该选项后面的编辑框用于输入显示栅格的大小,单位为mil。2)Lib Ref编辑框:表示所要放置的元器件在元件库中的名称。Protel 99 SE就是根据这一名称在当前元件库中进行搜索,在用户确定之后再将其从库中调到工作区中的。3)Designator 编辑框:表示
27、所要放置的元器件在原理图中的元器件序号,每一个元器件都有一个唯一的元器件序号,它是元器件的唯一标识符。4)Part Type编辑框:表示元器件的类型。默认情况下,它与Lib Ref的内容相同,也就是说,该元件的类型就是它在相应的元件库中的名称。5.2画出软件设计结构图、说明其功能本设计主要使用Protel及ISIS软件,来设计步进电机驱动控制系统。本次设计步进电机必须有五个部分,即:1)时钟脉冲产生电路;2)环形脉冲分配器;3)步进电机驱动电路;4)步进电动机;5)供电电源。各部分功能分别为:1)给环形脉冲器提供输入脉冲;2)环形脉冲分配器将输入的时钟脉冲信号转换成A、B、C、三相绕组的顺序控
28、制信号;3)将输入的信号经放大后,加到电机的三相绕组上,驱动电机转动,每输入一个之中脉冲,步进电机就前进一步;5)负责给电机提供电源。图5.1 设计结构图5.3 软件设计流程图在这个设计中,主要程序流程图使用了顺序结构,当该顺序结构全部程序完成后,程序才能继续运行,这样就实现了暂停循环的状态。 图5.2 主程序流程图图 图5.3 定时器中断服务程序流程图6系统调试控制三相绕组通电的次序,就能使电机正转或反转,控制通电信号的频率,就能控制电机的转速。假如不停地按A-B-C-A顺序控制步进电机各相绕组的通断电,步进电机的转子便不停地顺时针转动;若通电顺序改为A-C-B-A,步进电机的转子将逆时针转
29、动。这种通电方式称为三相三拍通电方式;此时定子绕组的通电状态每改变一次,转子转过3。 若控制线路不停地按A-AB-B-BC-C-CA-A顺序控制步进电机各相绕组的通断电,这种通电方式称为三相六拍通电方式。当从A相通电转为A和B同时通电时,转子齿将同时受到A相绕组产生的磁场和B相绕组产生的磁场的共同吸引,转子齿只好停在A和B两相磁极之间,转子转过1.5。当由A和B两相同时通电转为B相通电时,转子再沿顺时针方向旋转1.5,使转子齿与B相磁极对齐。依此类推。在三相六拍通电时,定子绕组的通电状态每改变一次,转子转过1.5。与三相三拍通电方式相比,可使每次转角缩小一半。 步进电机定子绕组的通电状态每改变
30、一次,它的转子转过的一个确定角度,称为步进电机的步距角a。步距角a的计算公式: 其中,m为定子绕组的相数,Z为转子的齿数,K为通电方式系数;当m相m拍通电时,k=1;m相2m拍通电时,k=2本次步进电机驱动控制系统设计主要是实现电机的正转、反转、手动(点动)和自动控制,通过各种控制模块来控制,通过改变通电方式,可以得到不同的显示结果。图6.1 系统指标参数测试图图6.2 时序脉冲分配图7总结与体会通过本次设计了解到了一些电机的发展与应用。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机又称脉冲电动机,利用电脉冲信号进行控制,将电脉冲信号转换成相应的角
31、位移或者线位移的电动机。步进电机驱动器是其控制系统中的重要部分。随着步进电机的应用和发展,其驱动器也在不断发展、完善和提高,驱动电路集成化已成为一种趋势。而驱动技术方面现在应用较多的有斩波驱动、升频升压驱动等。虽然这次的课程设计做得不是很好,但我们小组都已经做出了自己最大的努力。同时,我也从这次的设计中学会了很多东西,不仅学会了protel及ISIS软件的使用,查询资料的方法,而且使我明白了在做任何一件事都要注重团队精神。由于时间太仓促,没有经过系统的指导,在设计的过程中很吃力,其次是对设计中的一些器件的原理和用法不是很了解。希望在以后的设计课程当中应当对我们进行一下培训,并且能亲自给我们进行
32、一些软件仿真的指导。本次设计在胡兵老师的精心指导下,通过我们小组成员的共同努力,才顺利的完成了本次课程设计。首先要感谢胡兵老师对我们的辅导,在我们做毕业设计的每个阶段都给予了我们很大的帮助。其次,通过这次课程设计我学会了怎样做好一个程设计,也学会了怎样去写一篇小论文。同时这次之所以我们能这么快的完成这次课程设计,正是因为有我们这一小组的团结,因此我明白了无论做什么事首先要的是团结!而且大家谨慎的态度及准确的做好每一步是成功与否的关键,虽然在设计过程中我们遇到不少的困难和麻烦,但大家都有那种不达目的誓不罢休的精神,再经过大家的讨论终于克服了种种困难。最后我们在设计中出现的问题,希望老师能给予指正
33、和教导。由于本次课程设计的时间有限,所设计的原理图不能都在ISI软件上进行电路图的绘制和连接,其中有些图形是通过图片格式进行处理的。8参考文献1 王鸿钰. 步进电机控制技术入门M . 上海:同济大学出版社,1990.2 郑伟. 步进电机的计算机控制 J . 韶关大学学报, 1994 (4) .245-247.3 李君凯. 步进电机控制系统 J . 自动化与仪器仪表, 2003 (1) .352-353.4 王彦增. 步进电机速度控制的软件设计方法 J . 机械与电子,1994 (2) .2115 谢自美电子线路设计、实验、测试(第二版)M武汉:华中理工大学出版社,2000.6 薛钧义,张彦斌,
34、樊波等凌阳十六位单片机原理及应用M北京:北京航空航天大学出版社,20037 霍迎辉,陈宇翔. 步进电机的微机和单片机控制 M . 电机电器技术 .8 黄文平. 浅谈步进电机的驱动 J . 机床电器, 2004 (5) .86-88.9 王彦增. 步进电机速度控制的软件设计方法 M . 机械与电子,1994 (2) .10 王鸿钰. 步进电机控制技术入门M . 上海:同济大学出版社,1990.11 郑伟. 步进电机的计算机控制 J . 韶关大学学报, 1994 (4) .319-320.12 李君凯. 步进电机控制系统 J . 自动化与仪器仪表, 2003 (1) .43-48.13 宁爱华.
35、步进电机的微机控制方法与高速特性分析 J . 西南民族大学学报(自然科学版) , 2003 (8) .186-192.附录1:相关的设计图附录2:部分程序设计清单:ORG00HSTART:MOVDPTR,#TAB1MOVR0,#03MOVR4,#0MOVP1,#3WAIT:MOVP1,R0;初始角度,0度MOVP0,#0FFHJNBP0.0,POS ;判断键盘状态JNBP0.1,NEGSJMPWAITJUST:JB P0.1,NEG;首次按键处理POS:MOV A,R4;正转角度MOVC A,A+DPTRMOVP1,AACALLDELAYINCR4AJMPKEYNEG:MOVR4,#6 ;反转
36、角度MOVA,R4MOVCA,A+DPTRMOVP1,AACALL DELAYAJMPKEYKEY:MOVP0,#03H ;读键盘情况MOVA,P1JBP0.0,FZ1CJNER4,#8,LOOPZ ;是结束标志MOVR4,#0LOOPZ:MOVA,R4MOVCA,A+DPTRMOVP1,A ;输出控制脉冲ACALLDELAY ;程序延时INCR4 ;地址加1 AJMPKEYFZ1: JB P0.1,KEY CJNER4,#255,LOOPF ;是结束标志MOVR4,#7LOOPF:DECR4MOVA,R4MOVCA,A+DPTRMOVP1,A ;输出控制脉冲ACALL DELAY ;程序延时AJMPKEYDELAY:MOVR6,#5DD1:MOVR5,#080HDD2:MOVR7,#0DD3:DJNZR7,DD3DJNZR5,DD2DJNZR6,DD1RETTAB1:DB02H,06H,04H,0CHDB08H,09H,01H,03H ;正转模型资料END