步进电机实习设计.doc_第1页
步进电机实习设计.doc_第2页
步进电机实习设计.doc_第3页
步进电机实习设计.doc_第4页
步进电机实习设计.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录目录11步进电动机工作原理21.1感应子式步进电机工作原理21.1.1反应式步进电机原理21.1.2感应子式步进电机31.3.1步进电机的选择52设计方案62.1系统设计要求62.2总体分析63元器件介绍73.1 8155芯片功能介绍73.2 8051功能引角介绍84硬件设计114.1 扩展芯片114.2 步进电动机控制电路114.3 键盘及其接口电路124.4 显示器及其接口电路134.5 其它电路134-6 步进电动机PCB图145软件设计165.1 程序功能165.2 主要器件、存储单元及标志位说明165.3 各程序流程图及说明175.3.1 主程序MAIN175.3.2 键盘扫描子程序SM185.3.3 键值处理子程序CL195.3.4 显示子程序SS205.3.5 定时器0中断服务子程序DS215.3.6 延时子程序YH225.4 程序清单23总结28参考文献291步进电动机工作原理 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。 1.1感应子式步进电机工作原理 1.1.1反应式步进电机原理 由于反应式步进电机工作原理比较简单。下面先叙述三相反应式步进电机原理。(1)结构: 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。 (2)力矩: 力矩=力*半径 力矩与电机有效体积*安匝数*磁密 成正比(只考虑线性状态)因此,电机有效体积越大,励磁安匝数越大,定转子间气隙越小,电机力矩越大,反之亦然。 1.1.2感应子式步进电机 (1)特点: 感应子式步进电机与传统的反应式步进电机相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。因永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪音低、低频振动小。 感应子式步进电机某种程度上可以看作是低速同步电机。一个四相电机可以作四相运行,也可以作二相运行。(必须采用双极电压驱动),而反应式电机则不能如此。例如:四相,八相运行(A-AB-B-BC-C-CD-D-DA-A)完全可以采用二相八拍运行方式。一个二相电机的内部绕组与四相电机完全一致,小功率电机一般直接接为二相,而功率大一点的电机,为了方便使用,灵活改变电机的动态特点,往往将其外部接线为八根引线(四相),这样使用时,既可以作四相电机使用,可以作二相电机绕组串联或并联使用。 (2)分类 感应子式步进电机以相数可分为:二相电机、三相电机、四相电机、五相电机等。以机座号(电机外径)可分为:42BYG(BYG为感应子式步进电机代号)、57BYG、86BYG、110BYG、(国际标准),而像70BYG、90BYG、130BYG等均为国内。 1.2 驱动控制系统组成 使用、控制步进电机必须由环形脉冲,功率放大等组成的控制系统。(1)脉冲信号的产生 脉冲信号一般由单片机或CPU产生,一般脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空比则越大。 (2)信号分配 感应子式步进电机以二、四相电机为主,二相电机工作方式有二相四拍和二相八拍二种,具体分配如下二相四拍为,步距角为1.8度;二相八拍为步距角为0.9度。四相电机工作方式也有二种,四相四拍为AB-BC-CD-DA-AB,步距角为1.8度;四相八拍为AB-B-BC-C-CD-D-DA-AB,(步距角为0.9度)。 (3)功率放大 功率放大是驱动系统最为重要的部分。步进电机在一定转速下的转矩取决于它的动态平均电流而非静态电流(而样本上的电流均为静态电流)。平均电流越大电机力矩越大,要达到平均电流大这就需要驱动系统尽量克服电机的反电势。因而不同的场合采取不同的驱动方式,到目前为止,驱动方式一般有以下几种:恒压、恒压串电阻、高低压驱动、恒流、细分数等。 (4)细分驱动器 在步进电机步距角不能满足使用的条件下,可采用细分驱动器来驱动步进电机,细分驱动器的原理是通过改变相邻(A,B)电流的大小,以改变合成磁场的夹角来控制步进电机运转的。 1.3步进电机的应用 1.3.1步进电机的选择 步进电机有步距角(涉及相数)、静转矩、及电流三大要素组成。一旦三大要素确定,步进电机的型号便确定下来了。 (1)步距角的选择 电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有0.36度/0.72度(五相电机)、0.9度/1.8度(二、四相电机)、1.5度/3度 (三相电机)等。 (2)静力矩的选择 步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的2-3倍内好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸)。 (3)电流的选择 静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据频率特性曲线图,判断电机的电流(参考驱动电源、及驱动电压)。 2设计方案2.1系统设计要求本系统控制一台四相八拍步进电动机,要求达到:(1)可以利用按键实现步进电动机的正、反转控制;(2)可以利用按键实现步进电动机的转速控制:正、反转均为3挡转速;(3)系统启动时,须用按键选择步进电动机正、反转及转速挡位;(4)具有显示电路,可以显示正、反转的情况和转速挡位。2.2总体分析(1)机型确定本设计以MCS-51系列单片机为例进行分析,内存空间足够大,无须外扩空间,晶振频率12MHz。(2)控制思路步进电动机采用P1口控制,所须功率放大器采用6通道反相驱动芯片7404。步进电动机的控制本系统控制对象为四相八拍步进电动机,工作时利用P1.0P1.3四根口线控制四相脉冲。每周期分八拍,个拍节状态列表存入程序存储器,用查表方法决定P1口每次输出,改变P1口输出顺序可实现步进电动机正反转控制。同时,利用单片机内部定时器/计数器决定每拍定时时间,改变定时时间即可改变转速。(3)元器件选择根据系统要求,本系统应具有键盘接口及显示接口,拟采用8155芯片扩展I/O接口。3元器件介绍3.1 8155芯片功能介绍8155有40个引脚,采用双列直插封装,我们对8155的引脚分类说明如下: (1) 地址/数据线AD0AD7(8条)是低8位地址线和数据线的共用输入总线,常和51单片机的P0口相连,用于分时传送地址数据信息,当ALE=1时,传送的是地址。(2) I/O口总线(22条)PA0PA7、PB0PB7分别为A、B口线,用于和外设之间传递数据;PC0PC5为C端口线,既可与外设传送数据,也可以作为A、B口的控制联络线。 (3) 控制总线(8条)RESET:复位线,通常与单片机的复位端相连,复位后,8155的3个端口都为输入方式。WR/ RD:读/写线,控制8155的读、写操作。ALE:地址锁存线,高电平有效。它常和单片机的ALE端相连,在ALE的下降沿将单片机P0口输出的低8位地址信息锁存到8155内部的地址锁存器中。因此,单片机的P0口和8155连接时,无需外接锁存器。CS:片选线,低电平有效。IO/M:RAM或I/O口的选择线。当=0时,选中8155的256 B RAM;当=1时,选中8155片内3个I/O端口以及命令/状态寄存器和定时/计数器。TIMERIN、TIMEROUT:定时/计数器的脉冲输入、输出线。TIMERIN是脉冲输入线,其输入脉冲对8155内部的14位定时/计数器减1;为输出线,当计数器计满回0时,8155从该线输出脉冲或方波,波形形状由计数器的工作方式决定。a作片外RAM使用当CE=0,IO/M=0时,8155只能做片外RAM使用,共256 B。其寻址范围由AD0AD7的接法决定,这和前面讲到的片外RAM扩展时讨论的完全相同。当系统同时扩展片外RAM芯片时,要注意二者的统一编址。对这256 B RAM的操作使用片外RAM的读/写指令“MOVX”。 b作扩展I/O用当 CE=0,IO/M=1时,此时可以对8155片内3个I/O端口以及命令/状态寄存器和定时/计数器进行操作。与I/O端口和计数器使用有关的内部寄存器共有6个,需要三位地址来区分。3.2 8051功能引脚介绍 8051系列各种芯片的引脚是互相兼容的,8051,8751和8031均采用40脚双列直播封装型式。当然,不同芯片之间引脚功能也略有差异。8051单片机是高性能的单片机,因为受到引脚数目的限制,所以有不少引脚具有第二功能,其中有些功能是8751芯片所专有的。各引脚功能简要说明如下:Vcc(40脚):电源端,为5V。Vss(20脚):接地端。时钟电路引脚XLAL2(18脚):接外部晶体和微调电容的一端。若需采用外部时钟电路时,该引脚输入外时钟脉冲,要检查8051的振荡电路是否正确工作,可用示波器查看XLAL2端是否有脉冲信号输出。时钟电路引脚XLAL1(19脚):接外部晶体的微调电容的另一端。在片内它是振荡电路方相放大器的输入端。在采用外部时钟时,该引脚必须接地。RST(9脚):RST是复位信号输入端,高电平有效。当此输入端保持两个机器周期,即24个时钟振荡周期的高电平时,就可以完成复位操作。RST引脚的第二功能是VPD,即备用电源的输入端。当主电源Vcc发生故障降低到低电平规定值时,将5V电源自动接入RST端,为RAM提供备用电源,以保证存储在RAM中的信息不丢失,以使电源正常后能继续正常运行。ALE(30脚):地址锁存允许信号端。当8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fosc的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。在CPU访问片外数据存储器时,会丢失一个脉冲。平时不访问外存储器时,ALE端也可1/6的振荡频率固定输出正脉冲,因而ALE也可以用作对外输出时钟或定时信号。如果你想看一下8051芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出,如有,则8051基本上是好的。ALE端的负载驱动能力为8个LS型TTL。此引脚的第二功能PROG是对片内带有4K EPROM的8751固化程序时,作为编程脉冲输入端。PSCN(29脚):程序存储器允许输出信号端。在访问片外程序存储器时,此端 口定时输出脉冲作为读片外程序存储器的选通信号。此引脚EPROM的OE端,PSCN端有效,即允许读出片外EPROM中的指令码。CPU在外部EPROM取址区间,PSCN信号在每个机器周期中有两个有效。PSCN端同样可驱动8个LS型TTL。要检查一个8051小系统上电后CPU能否正确到EPROM中读取指令码,也可用示波器看PSEN端无脉冲输出,如有,说明基本上正常工作。EA(31脚):外部程序存储器地址允许输入端。当EA引脚接高电平时,CPU访问片内EPROM并执行内部程序存储器中的指令,但在程序计数器PC的值超过OFFFH时,将自动转向执行片外程序存储器内的程序 。当输入信号EA引脚接低电平时,CPU只访问外部EPROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。此引脚的第二功能Vpp是对8051片内EPROM固化编程时,作为施加较高编程电压输入端。P0口(3932脚):P0口是一个漏极开路的8位准双向I/O端口。作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。当P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向的含义。在CPU访问片外存储器时,P0口是分时提供低8位地址和8位数据的复用总线。在此区间,P0口内部上拉电阻有效。P1口(1脚8脚):P1口是一个带内部上拉电阻的8位准双向I/O端口。P1口的每一位能驱动4个LS型TTL负载。在P1口锁存器(地址90H)写入全1,此时P1口引脚由内部上拉电阻接成高电平。P2口(21脚28脚):P2口是一个带内部上接电阻的8位准双向I/O端口。、P2口的每一位能驱动4个LS型TTL负载。P3口(21脚28脚):P3口是一个带内部上接电阻的8位准双向I/O端口。P3口的每一位能驱动4个LS型TTL负载。P3口与其他I/O口有很大区别,它除作为一般准双向I/O口外,每个引脚还具有专门的功能,关于这四个并行接口的使用,我们今后再讲。3.3 74ls373功能介绍(1)简要说明 373为三态输出的八 D 透明锁存器,共有 54/74S373 和 54/74LS373 两种线路 (2)结构型式,其主要电器特性的典型值如下 型号 tPd PD 54S373/74S373 7ns 525mW54LS373/74LS373 17ns 120mW (3) 373 的输出端 O0O7 可直接与总线相连。 当三态允许控制端OE为低电平时,O0O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时,O随数据D而变。当 LE 为低电平时,O被锁存在已建立的数据电平。 4硬件设计4.1 扩展芯片选用8051单片机,内部有足够存储空间,本系统中扩展I/O接口芯片为8155,因此采用线选法即可。4.2 步进电动机控制电路采用P1.0P1.3四根口线控制,同时选用6通道反相驱动芯片7404进行功率放大,如图1-1所示。异步电动机共八拍,所须P1口状态见表1-1 表4-1 步进电动机状态表状态P1.0P1.1P1.2P1.3P1口1100001H2110003H3010002H4011006H5001004H600110CH7000108H8100109H4.3 键盘及其接口电路根据系统要求,采用8个按键,分别为:正转键、反转键、调速键、1挡键、2挡键、3挡键、确定键、取消键,功能如下:(1)正转键:当按下该键后,将转向标志为置“1”,同时改变转向为正向;(2)反转键:当按下该键后,将转向标志位清“0”,同时改变转向为反向;(3)调速键:当按下该键后,将调速标志位置“1” ;(4)1挡键:当按下该键后,若调速标志位为0,则不处理;若调速标志位为1,则改变显示转速为1 挡,同时不改变实际转速;(5)2挡键:当按下该键后,若调速标志位为0,则不处理;若调速标志位为1,则改变显示转速为2挡,同时不改变实际转速;(6)3挡键:当按下该键后,若调速标志位为0,则不处理;若调速标志位为1,则改变显示转速为3挡,同时不改变实际转速;(7)确定键:当按下该键后,若调速标志位为0,则不处理;若调速标志位为1,则保存所显示调整转速挡位,同时将实际转速调整为新设定值;(8)取消键:当按下该键后,将调速标志位清“0”,同时不保存所调整转速;其中,调速标志位选择20H.0位,若该位为1表明为调速状态,该位为0表明非调速状态。转向标志位选择20H.1位,若该位为1表明为正转,该位为0表明为反转。由于按键较多,采用矩阵式非编码键盘,使用8155芯片扩展。图中各键码确定原则为“行号+列号”,各键码与按键对应关系见表4-2。表4-2 按键与键码对应关系表按键键码按键键码正转键00H挡键11H反转键01H挡键12H调速键02H确定键03H1挡键10H取消键13H根据扩展原理图,8155芯片各地址见表4-3。表4-3 8155芯片的可编程断口地址表可编程端口地址命令/状态字寄存器7F00PA口7F01PB口7F02PC口7F03定时器/计数器低8位7F04定时器/计数器高8位7F054.4 显示器及其接口电路根据系统要求,采用2位显示,高位显示正反转情况,地位显示转速挡位。根据实际需要,显示器采用7段共阴极LED数码管显示器,高位“E”表示正转,“F”表示反转,低位用123表示各挡转速,显示缓冲区选择30H,31H单元。显示接口电路选择8155芯片,采用动态显示,软件译码方式,段位驱动芯片采用6路集电极开路输出驱动7404芯片,具体扩展如图所示。4.5 其它电路对于时钟电路复位电路和电源电路系统无特殊要求,采用典型电路即可。步进电动机控制系统硬件原理图如图4-1所示图4-1 步进电动机控制系统硬件原理图4-6 步进电动机PCB图根据步进电动机控制系统的硬件原理图由Protell 99SE 生成PCB图如图4-2所示。图4-2 步进电动机控制系统PCB图5软件设计5.1 程序功能步进电动机控制系统程序主要完成以下功能:(1)确定是否有键闭合同时判断是何键闭合;(2)按转向键要求确定拍节状态表各状态变量P1口输出顺序,以决定转向;(3)按转速键要求确定定时器/计数器初值,以决定转速;(4)实时显示转向和转速;5.2 主要器件、存储单元及标志位说明(1)定时器/计数器说明定时器/计数器0根据实际转速挡位设置初值,其定时时间为步进电动机每拍节持续时间,以决定步进电动机转定时器/计数器速。定时器/计数器1固定定时1ms,作为键盘去抖动和显示器动态显示时延时使用。(2)中断说明本程序中只使用定时中断0,定时时间到则根据转向键要求改变P1口状态。(3)I/O接口地址及说明各I/O接口地址及功能说明见表5-1。表5-1 I/O接口地址及功能表地址可编程端口P1.0P1.3步进电动机控制口7F00H8155命令/状态寄存器地址7F01H8155PA口键盘列线、显示器位选线地址7F02H8155PB口显示器段码地址7F03H8155PC口键盘行线地址(4)程序存储器常数及数据存储器存储单元说明步进电动机状态常数表存放起始地址为程序存储器0050H单元。数据存储器各存储单元分配见表5-2。表5-2 存储单元分配表存储单元用图存储单元用途30H显示缓冲区高位41H调整挡位31H显示缓冲区低位42H键码40H实际挡位43H步序数据存储器从50H单元起作为堆栈区。(5)标志位说明调速标志位选择20H.0位,该位为1表明为调速状态,该位表明非调速状态。转向标志位选择20H.1位,该位为1表明为正转,该位为0表明为反转。5.3 各程序流程图及说明根据系统要求,本系统软件部分分为主程序、键盘扫描子程序、键码处理子程序、显示子程序、定时中断服务子程序和延时子程序。5.3.1 主程序MAIN 程序流程图如图5-1所示。 图5-1 主程序流程图说明:(1)存储单元初始化包括:显示缓冲区30H和31H单元清“0”,实际挡位40H单元和调整挡位41H单元清“0”,键码42H单元清“0”,步序43H单元清“0”; (2)中断设置:允许定时器/计数器中断0;(3) 定时器初始化:定时器0、1均采用定时方式1;(4)8155芯片初始化:定时器无操作,A口和B口禁止中断,A口和B口输出。5.3.2 键盘扫描子程序SM功能:判断有无键闭合,将闭合键码送42H单元。程序流程图如图5-2所示。图5-2 键盘扫描子程序流程图5.3.3 键值处理子程序CL功能:根据闭合键键码进行处理。程序流程图如图5-3所示。图5-3 键值处理子程序流程图5.3.4 显示子程序SS功能:动态显示正、反转和转动挡位。程序流程图如图5-4所示。说明:由于挡位单元本身为字形码,因此不与要译码。图5-4 显示子程序流程图5.3.5 定时器0中断服务子程序DS功能:改变异步电动机步序,根据实际转速挡位定时。程序流程图如图5-5所示。说明:对于步进电动机八拍循环运行,因此正转步序8循环至步序1,反转步序1循环至步序8。图5-5 定时器0中断服务子程序流程图5.3.6 延时子程序YH功能:延时1ms,用与键盘去抖动和动态显示延时。程序流程图如图5-6所示。图5-6 延时子程序流程图5.4 程序清单ORG 0000H ;转主程序MAINLJMP MAINORG 000BHLJMP DS ;转定时器0中断服务子程序DSORG 0050HDB 01H,03H,02H,06HDB 04H,0CH,08H,09H ;步进电动机状态常数表ORG 0100HMAIN:MOV SP,#50H ;主程序,定义堆栈区 MOV P1,#00H ;步进电动机停止运行SETB 20H.0 ;准备设定转速 MOV 30H,#00HMOV 31H,#00H ;显示缓冲区初始化 MOV 40H,#00H ;实际挡位单元清零 MOV 41H,#00H ;调整挡位清零 MOV 42H,#00H ;键码单元初始化 MOV 43H,#00H ;步序单元初始化 SETB ET0 ;允许定时器0中断 SETB EA MOV TMOP,#11H ;定时器0,1均采用定时方式1 MOV DPTR,#7F00H MOV A,#03H ;命令字MOVX DPTR,A ;8155初始化MAIN1:LCALL SM MOV A,42H ;读入键盘设定转向 JZ MAIN1 ;未设定转向等待 CJNE A,#00H,MAIN2 ;反转转移至MAIN2 SETB 20H.1 ;设正转标志 SJMP MAIN3MAIN2:CLR 20H.1 ;设反转标志MAIN3:LCALL SM MOV A,42H ;读入键盘设定转速CJNE A,#10H,MAIN4 ;不是1挡转移 MOV TH0,#0D1H MOV TL0,#3EH ;装1挡时间常数MOV 40H,#06HMOV 41H,#06H ;送1字型码SJMP MAIN6MAIN4:CJNE A,#11H,MAIN5 ;不是2挡转移 MOV TH0,#09FHMOV TL0,#58HMOV 40H,#5BFMOV 41H,#5BH SJMP MAIN6MAIN5:CJNE A,#12H,MAIN3 ;未设定转速等待 MOV TH0,#00HMOV TL0,#00HMOV 40H,#41FMOV 41H,#4FHMAIN6:CLR 20H.0 ;转速设定完毕 MOV P1,#01H ;步进电动机状态初始化 MOV 43H,#01H ;保存步序号 SETB TR0 ;开始计时MAIN7:LCALL SM ;调键盘扫描子程序 LCALL CL ;跳键码处理子程序 LCALL SS ;调显示子程序 SJMP MAIN7SM:MOV DPTR,#7F01H ;键盘扫描子程序 MOV A,#0F0H MOVX DPTR,A ;列线均送0 MOV DPTR,#7F0BH MOVX A,DPTR ;读行线状态 JNB ACC.0,SM1 ;0行有键按下转移至SM1 JNB ACC.1,SM2 ;1行有键按下转移至SM1 MOV 42H,#00HRET ;无键按下返回SM1:MOV 42H,#0FH ;将闭合键行号写入键码单元高位SJMP SM3SM2:MOV 42H,#1FHSM3:MOV R6,#0AHSM4:LCALL YHDJNZ R6,SM4 ;延时10秒去抖MOV R7,#03HMOV 35H,#0FEHMOV 36H,#00H ;闭合键列号初始化SM5:MOV DPTR,#7F01HMOV A,35HMOVX DPTR,A ;逐列送0MOV DPTR,#7F03HMOVX A,DPTR ;读行线状态JNB ACC.0,SM6JNB ACC.1,SM6 ;该列有键闭合转移至SM5INC 36HMOV A,,5HRL AMOV 35H,ADJNZ R7,SM5SM6:MOV A,42HMOV R5,36HXCHD A,R5 ;将列号写入键码单元SM7:MOV DPTR,#7F01HMOV A,#0F0HMOVX DPTR,AMOV DPTR,#7F03HMOVX A,DPTRORL A,#0FCHCPL AJNZ SM7 ;等待键释放MOV R6,#0AHSM8:LCALL THDJNZ R6,SM8 ;延时10秒去抖RET ;返回CL:MOV A,42H ;键码处理子程序 JNZ CL1 RET ;无闭合键返回CL1:CJNE A,#00H,CL2 ;是正转SETB 20H.1RETCL2:CJNE A,#01H,CL3 ;是反转CLR 20.1RETCL3:CJNE A,#02H,CL4 ;是调速键SETB 20.0RETCL4:CJNE A,#10H,CL5 ;是1挡键JB 20H.0,CL41RET ;不是调速状态返回CL41:MOV 41H,#06H ;调速状态,将1送调整挡位单元RETCL5:CJNE A,#11H,CL6 ;是2挡键 JB 20H.0,CL51RET ;不是调速状态返回 CL451:MOV 41H,#5BH ;调速状态,将2送调整挡位单元RETCL6:CJNE A,#12H,CL7 ;是3挡键 JB 20H.0,CL41RET ;不是调速状态返回 CL41:MOV 41H,#4FH ;调速状态,将1送调整挡位单元RETCL7:CJNE A,#03H,CL8 ;是确定键 MOV 40H,41H ;将调速挡位送入实际挡位单元 CLR 20H.0 ;清调速标志 RETCL8:MOV C41H,40H ;取消对调整单元修改CLR 20H.0 ;清调速标 RETSS:MOV 31H,41H ;显示子程序,将调整挡位送显示缓冲 JB 20H.1,SS1 ;正转移至SS1MOV 30H,#71H ;将反转代码F送显示缓冲单元SJMP SS2SS1:MOV 30H,#79H ;将正转代码E送显示缓冲单元SS2:MOV R0,#30H MOV R4,#02HSS3:MOV A,#00HMOV DPTR,#7F02HMOVX DPTR,A ;熄灭显示器MOV A,R4MOV DPTR,#7F01HM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论