四相八拍步进电机调速

合集下载

步进电机转速调节的方法

步进电机转速调节的方法

步进电机转速调节的方法
工程师在依据负载,力矩等选好步进电机和驱动器的型号后,在详细应用中,还涉及到步进电机的转速这一参数的确定和设置。

建议通过调整输入驱动器的脉冲频率以及驱动器的细分参数来达到调整步进电机转速的作用。

其实就是掌握单位时间内步进电机的步数。

常规调整步进电机转速的方法分为以下几种:
一、换向器电机调速
优点:①具有沟通同步电机结构简洁和直流电机良好的调速性能; ②低速时用电源电压、高速时用步进电机反电势自然换流,运行牢靠;
③无附加转差损耗,效率高,适用于高速大容量同步电机的启动和调速。

缺点:过载力量较低,原有电机的容量不能充分发挥。

二、定子调压调速
优点:①线路简洁,装置体积小,价格廉价; ②使用、修理便利。

缺点:①调速过程中增加转差损耗,此损耗使转子发热,效率较低; ②调速范围比较小; ③要求采纳高转差电机,比如特别设计的力矩电机,所以特性较软,一般适用于55kW以下的异步电机。

三、转子串电阻调速
优点:①技术要求较低,易于把握; ②设备费用低; ③无电磁谐波干扰。

缺点:①串铸铁电阻只能进行有级调速。

若用液体电阻进行无级调速,则维护、保养要求较高; ②调速过程中附加的转差功率全部转化为所串电阻发热形式的损耗,效率低。

③调速范围不大。

四、电磁转差离合器调速
优点:①结构简洁,掌握装置容量小,价值廉价; ②运行牢靠,修理简单; ③无谐波干扰。

缺点:①速度损失大,由于电磁转差离合器本身转差较大,所以输出轴的最高转速仅为电机同步转速的80%~90%;
②调速过程中转差功率全部转化成热能形式的损耗,效率低。

步进电机调速

步进电机调速

课程设计报告系(部):自动化专业班级:学生姓名:学号:设计题目:步进电机调速完成日期年月日指导教师评语:_____________________________________ ______________________________________________________________________________________________________________成绩(五级记分制):指导教师(签字):_____________________本次课程设计是借助DICE-AT2计算机控制技术实验箱中的35BYJ46型四相八拍步进电机为对象,用ULN2803作为步进电动机驱动电路主芯片,以8255A作为8088为核心的并行输出接口,8088对步进单机的控制信号则通过8255A送到ULN2803,并以此来实现步进电机的转速调节和实现步进电机正反转改切换:正转-停止-反转。

通过8255APB端口的通和断产生脉冲序列,步进电机旋转方向由给定脉冲决定,步进电机的速率由延时时间决定;通过调整发送脉冲之间的时间间隔达到控制步进电机的速率,时间间隔越长,步进电机旋转越慢,时间间隔越短,步进电机旋转越快。

试验中实现了步进电机的正转、停止、反转。

通过程序改变步进电机的转速与转序,实现了对步进电机的可靠操控。

关键词:四相八拍步进电机;正反转;速率;转速This course is designed by means of computer DICE-AT2 control technology experiment box of 35byj46 four phase and eight beat step motor as the object, use ULN2803 as a step into the motor driving circuit of the main chip, 8255A as 8088 is a core of the parallel output interface, 8088 single control signal of step is through the 8255 sent ULN2803. And in order to achieve the stepper motor speed regulation and achieve the stepper motor positive inversion change: forward - stop - reversal. By 8255APB port of the and off pulse sequence, stepper motor rotation direction given by the pulse decide, stepper motor speed is determined by the delay time; by adjusting the transmit pulse between the interval to achieve the stepper motor control of the rate, longer time intervals, stepper motor rotation slower, shorter time interval, stepper motor faster rotation. In the experiment, the positive rotation, stop and reverse of the stepper motor are realized. Through the program to change the stepper motor speed and turn order, to achieve a reliable control of the stepper motor.Key words: four phase eight beat stepper motor; positive and negative; speed; Rotationl Speed一绪论 (1)二系统分析 (2)三设计方案 (2)3.1硬件设计 (2)3.2软件设计 (2)四硬件调试 (3)4.1操作说明 (3)4.2系统调试 (3)五结果分析及心得体会 (4)参考文献 (5)附录 (6)程序清单 (6)一绪论步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。

四相八拍步进电机控制电路

四相八拍步进电机控制电路

四相八拍步进电机控制电路
步进电机在各种自动控制领域中有着广泛的应用,它通过精确的位置控制和简单的控制电路设计,实现了高效的运行。

在步进电机中,四相八拍步进电机是一种常见的类型,它具有结构简单、控制方便等特点,因此得到了广泛采用。

步进电机的控制原理基于控制电路对电机内部各个线圈的通断控制,从而实现单步运动。

四相八拍步进电机由四个线圈组成,按相间夹角为90度的顺序连接,每相均可单独控制。

常见的步进电机控制电路包括单片机控制、逻辑门控制等。

在设计四相八拍步进电机控制电路时,首先需要确定电机驱动方式。

常见的方式包括全步进驱动和半步进驱动。

全步进驱动中,电机每步转动一个完整的步进角度;而在半步进驱动中,电机每步转动半个步进角度。

选择不同的驱动方式可以实现不同的转动精度和速度要求。

控制电路中常用的元器件包括晶体管、电阻、电容等。

通过合理的连接和控制,可以使步进电机按照预先设定的步进序列运行。

在具体设计电路时,需要根据电机的参数和工作要求,选择合适的元器件和控制方式,并进行电路调试和优化。

为了确保步进电机的稳定运行,还需要注意电源稳定性和线圩的连接质量。

稳定的电源可以提供电机正常工作所需的能量,而良好的线圩连接可以减小电机运行时的噪音和振动,延长电机使用寿命。

总的来说,四相八拍步进电机控制电路是实现步进电机精准运动的关键,通过合理的设计和调试,可以有效地实现对电机位置的控制。

在实际应用中,可以根据具体要求进行电路的定制设计,以满足不同场景下步进电机的控制需求。

1。

步进电机的调速原理

步进电机的调速原理

步进电机的调速原理
调速原理是指控制步进电机转速的方法。

常见的调速原理有以下几种:
1. 定常电流控制:通过控制步进电机的驱动电流大小来实现调速。

电机转速与驱动电流成正比关系,增大电流可以提高转速,减小电流可以降低转速。

2. 单微步调速:通过改变步进电机的微步数来实现调速。

步进电机分为全步和微步两种工作模式,全步每转一周,电机转动一个完整的步距角,而微步则是将步距角进一步细分。

通常通过控制电机可执行的微步数,来调控电机的转速。

3. 物理机械调速:通过改变步进电机的负载来实现调速。

例如,在电机轴上增加负载可以降低转速,减小负载则可以提高转速。

4. 闭环调速:通过反馈系统来实现闭环控制,实时调整电机驱动信号以达到预定转速。

常见的闭环调速方法有位置反馈和速度反馈。

位置反馈通常使用编码器等装置来实时监测电机转动角度,根据误差信号调整驱动信号;速度反馈则是通过速度传感器实时监测电机转速,并根据误差信号进行调整。

这些调速原理可以根据实际需求进行选择和组合,以实现步进电机的精确调速。

步进电机调速

步进电机调速

一、变极对数调速方法这种调速方法是用改变定子绕组的接红方式来改变笼型电动机定子极对数达到调速目的,特点如下: 1、具有较硬的机械特性,稳定性良好; 2、无转差损耗,效率高; 3、接线简单、控制方便、价格低; 4、有级调速,级差较大,不能获得平滑调速; 5、可以与调压调速、电磁转差离合器配合使用,获得较高效率的平滑调速特性。

本方法适用于不需要无级调速的生产机械,如金属切削机床、升降机、起重设备、风机、水泵等。

二、变频调速方法变频调速是改变电动机定子电源的频率,从而改变其同步转速的调速方法。

变频调速系统主要设备是提供变频电源的变频器,变频器可分成交流-直流-交流变频器和交流-交流变频器两大类,目前国内大都使用交-直-交变频器。

其特点: 1、效率高,调速过程中没有附加损耗; 2、应用范围广,可用于笼型异步电动机; 3、调速范围大,特性硬,精度高; 4、技术复杂,造价高,维护检修困难。

5、本方法适用于要求精度高、调速性能较好场合。

三、串级调速方法串级调速是指绕线式电动机转子回路中串入可调节的附加电势来改变电动机的转差,达到调速的目的。

大部分转差功率被串入的附加电势所吸收,再利用产生附加的装置,把吸收的转差功率返回电网或转换能量加以利用。

根据转差功率吸收利用方式,串级调速可分为电机串级调速、机械串级调速及晶闸管串级调速形式,多采用晶闸管串级调速,其特点为: 1、可将调速过程中的转差损耗回馈到电网或生产机械上,效率较高; 2、装置容量与调速范围成正比,投资省,适用于调速范围在额定转速70%-90%的生产机械上; 3、调速装置故障时可以切换至全速运行,避免停产; 4、晶闸管串级调速功率因数偏低,谐波影响较大。

5、本方法适合于风机、水泵及轧钢机、矿井提升机、挤压机上使用。

四、绕线式电动机转子串电阻调速方法绕线式异步电动机转子串入附加电阻,使电动机的转差率加大,电动机在较低的转速下运行。

串入的电阻越大,电动机的转速越低。

步进电机的调速方法和优点

步进电机的调速方法和优点

步进电机的调速方法和优点
步进电机的调速方法和优点可以根据具体的应用需求来选择调速方法,以下是常用的步进电机调速方法和其优点:
1. 电流控制法:通过调节步进电机的驱动电流大小来改变步进电机的转速。

优点是控制简单,成本低,适用于对转速精度要求不高的应用。

2. 脉冲频率控制法:通过改变输入给步进电机的脉冲频率来调节转速。

优点是转速可调范围广,转速精度高,适用于对转速要求较高的应用。

3. 引导参考比法:通过与编码器等传感器进行闭环控制,将电机的实际位置反馈给控制器,从而实现转速的精确控制。

优点是转速稳定性高,精度极高,适用于要求极高的精确控制和定位应用。

步进电机的优点包括以下几点:
1. 精度高:步进电机精确的转动位置能够提供精确的定位和控制。

2. 高扭矩:步进电机在不同转速下可以输出较高的扭矩,适用于要求较高的力矩输出的应用。

3. 停止时无震动:步进电机在停止时不会产生震动,保证了控制系统的稳定性。

4. 自启动:步进电机在停止情况下可以自动启动,节省了启动装置的成本和复杂性。

5. 无需编码器:步进电机可以通过开环控制进行位置和速度控制,无需使用编码器等传感器,简化了控制系统的设计和成本。

6. 响应速度快:步进电机可以快速响应控制信号,实现高速的加速和减速,适用于需要快速响应的应用。

写出四相八拍步进电机的控制模型

写出四相八拍步进电机的控制模型

写出四相八拍步进电机的控制模型步进电机是一种常见的电动机,通过控制电流方向改变磁场来驱动转子运动。

四相八拍步进电机是其中一种类型,它包含四个相,每相有两个步进角度,总共有八拍。

在控制步进电机时需要了解其控制模型,以便准确控制其转动角度和速度。

步进电机的工作原理步进电机的运动是通过将电流施加到电机的不同相上,使得产生的磁场相互作用而形成驱动力,从而使转子运转。

对于四相八拍步进电机来说,控制每个相的电流能够实现准确的步进角度,从而控制电机的转动。

控制模型控制四相八拍步进电机的关键在于确定每个步进角度的电流控制。

一种常用的控制模型是利用微控制器或控制器来控制电机的电流输出。

通过适当的算法,可以实现精确的步进角度控制,从而控制电机的转动。

步进角度控制步进电机的每个步进角度由控制电流的波形决定。

在四相八拍步进电机中,可以通过改变每相的电流顺序和大小来控制电机的步进角度。

例如,按照ABCD的顺序控制每相电流,就可以实现电机的顺时针或逆时针转动,从而控制步进角度。

控制算法控制四相八拍步进电机的算法种类繁多,常见的有正弦曲线控制、脉冲信号控制等。

这些算法可以根据电机的具体应用需求进行选择,以实现最佳的电机控制效果。

通过合理选择和调整算法参数,可以实现步进电机的平稳转动和精确控制。

应用领域四相八拍步进电机广泛应用于打印机、CNC机床、自动化设备等领域。

在这些领域中,步进电机的精确控制和可靠性是非常重要的,只有准确地控制电机的步进角度,才能实现设备的高效运行和稳定性。

结语四相八拍步进电机的控制模型是实现电机精确控制的关键。

通过了解步进电机的工作原理、控制模型以及相应的控制算法,可以实现对电机转动角度和速度的精确定位和控制。

在实际应用中,需要根据具体需求选择合适的控制方法,以确保步进电机的稳定运行和精准控制。

步进电机四相八拍怎么驱动

步进电机四相八拍怎么驱动

步进电机四相八拍怎么驱动步进电机是一种常见的电机类型,其特点是可以通过控制每一个步进角度来实现准确的位置控制。

步进电机按照其驱动方式可以分为几种,其中四相八拍驱动方式是比较常见的一种。

在四相八拍驱动方式中,步进电机的每个相位都有两个状态,通电和断电。

通过控制这八个状态的组合,可以精确地控制步进电机的运动。

下面将介绍一下四相八拍驱动方式的原理和具体操作方法。

首先,步进电机有四个线圈,分别称为A、B、C、D相。

在四相八拍驱动方式中,需要两个控制器来控制电机的运动,一个控制器用来控制A相和C相的通断,另一个控制器用来控制B相和D相的通断。

这样就可以实现步进电机的顺时针和逆时针旋转。

具体来说,当控制器1给出A相通电、C相断电的指令时,步进电机会向前走一步;当控制器1给出A相断电、C相通电的指令时,步进电机会向后走一步。

同理,通过控制器2给出B相和D相的通断指令,也可以实现步进电机的正反转。

为了控制步进电机按照设定的路径运动,需要编写相应的控制程序。

这个程序会根据步进电机的特性和要求,确定每一步的控制信号顺序和时序,以实现准确的位置控制。

编写这样的程序需要考虑到步进电机的速度、加速度、负载情况等因素,保证步进电机能够按照预期的路径精确运动。

在实际应用中,四相八拍驱动方式可以广泛用于需要精确定位和控制的场合,例如打印机、数控机床、机器人等领域。

通过准确控制步进电机的旋转角度,可以实现复杂的动作和路径规划,提高生产效率和质量。

总的来说,四相八拍驱动方式是一种常见且有效的步进电机驱动方式,通过合理的控制可以实现精准的位置控制。

在工业自动化和机械控制领域有着广泛的应用,对于提高生产效率和产品质量都起到了积极的作用。

1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录引言 (1)第1章绪论 (2)1.1步进电机的概述 (2)1.1.1 步进电机的特点 (2)1.1.2步进电机的工作原理简述 (2)1.2四相八拍步进电机 (2)1.2.1 四相步进电机工作原理 (2)1.2.2 八拍得工作方式 (4)1.3单片机概述 (4)1.3.1 单片机原理简述 (4)1.3.2 8031单片机 (5)1.4总体方案设计 (5)1.4.1 系统的组成 (5)1.4.2 系统的工作原理 (6)第2章系统软件设计 (7)2.1显示子程序的设计 (7)2.2键盘子程序的设计 (8)2.3正反转程序流程图 (11)2.3.1 正反转程序流程图 (11)2.3.2 转速快慢程序流程图 (14)2.4定时中断流程图 (17)2.5语音报警系统 (19)2.6主程序设计 (20)参考文献 (23)致谢 (24)引言步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速,因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。

在本设计方案中采用单片机内部的定时器改变脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。

关键词:步进电机,单片机,调速系统第1章绪论1.1 步进电机的概述1.1.1 步进电机的特点1)一般步进电机的精度为步进角的3-5%,且不累积。

2)步进电机外表允许的温度高。

步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。

3)步进电机的力矩会随转速的升高而下降。

当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。

在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。

4)步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。

步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。

在有负载的情况下,启动频率应更低。

如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。

1.1.2步进电机的工作原理简述步进电机是一种用电脉冲进行控制 ,将电脉冲信号转换成相位移的电机 ,其机械位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成正比 ,每一个脉冲信号可使步进电机旋转一个固定的角度.脉冲的数量决定了旋转的总角度 ,脉冲的频率决定了电机运转的速度.当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

1.2 四相八拍步进电机1.2.1 四相步进电机工作原理图1.5是该四相反应式步进电机工作原理示意图。

图1.5 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。

当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。

而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。

依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。

四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。

单四拍与双四拍的步距角相等,但单四拍的转动力矩小。

八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。

单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图1-6.a、b、c所示:a 单四拍 b双四拍 c八拍图1.6步进电机工作时序波形图1.2.2 八拍得工作方式单双八拍工作方式:A-AB-B-BC-C-CD-D-DA (即一个脉冲,转 3.75度)八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。

1.3单片机概述1.3.1 单片机原理简述单片机(SINGLE-CHIP MICROCOMPUTER)是把微型计算机主要部分都集成在一块芯片上的单芯片微型计算机。

图1.7中表示单片机的典型结构图。

由于单片机的高度集成化,缩短了系统内的信号传送距离,优化了结构配置,大大地提高了系统的可靠性及运行速度,同时它的指令系统又很适合于工业控制的要求,所以单片机在工业过程及设备控制中得到了广泛的应用。

图1.7典型单片机结构图单片机在进行实时控制和实时数据处理时,需要与外界交换信息。

人们需要通过人机对话,了解系统的工作情况和进行控制。

单片机芯片与其它CPU比较,功能虽然要强得多,但由于芯片结构、引脚数目的限制,片内ROM、RAM、I/O口等不能很多,在构成实际的应用系统时需要加以扩展,以适应不同的工作情况。

单片机应用系统的构成基本上如图1.8所示。

图1.8 单片机的应用系统单片机应用系统根据系统扩展和系统配置的状况,可以分为最小应用系统、最小功耗系统、典型应用系统。

本设计是设计一款最小应用系统,最小应用系统是指能维持单片机运行的最简单配置的系统。

这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关量的输入/输出控制、时序控制等。

对于片内有ROM/EPROM的芯片来说,最小应用系统即为配有晶体振荡器、复位电路和电源的单个芯片;对与片内没有ROM/EPROM芯片来说,其最小应用系统除了应配置上述的晶振、复位电路和电源外,还应配备EPROM或EEPROM 作为程序存储器使用1.3.2 8031单片机8031单片机具有体积小,重量轻,价格低,耗电少,电源单一,抗干扰能力强,可靠性高,面向控制,控制功能强,运行速度快等特点。

所以本次调速设计芯片采用8031来控制。

8031单片机内部组成:1个8位微处理器CPU;128字节的数据存储器(RAM);32条I/O位线(四个8位口P0,P1,P2,P3);2个定时器;1个具有5个中断源,2个优先级的中断嵌套机构;1个全双工的串行通信端口,特许功能寄存器以及一个震荡和时钟电路。

各部分通过芯片内部总线连接。

8031单片机的硬件机构特点:8031单片机无内部存储器(ROM),有数据存储器(RAM);输入/输出(I/O)端口:它具有一个全双的串行口,该串行口由两根I/O位线构成,有四种工作方式,可通过编程选定,且8031还有32个I/O位线。

中断与堆栈:8031单片机有5个中断源,分为2级优先,每个中断源的优先级是可以编程的。

它的堆栈位置也是可以编程的,堆栈深度可以达到128字节。

定时/计数器与寄存区:8031单片机有2个16位定时/计数器,通过编程可以实现四种工作模式。

8031单片机在内部RAM中设置了四个通用工作寄存器区,共32个寄存器,以适应多种终端或子程序嵌套的要求。

指令系统:8031单片机指令系统功能大,指令段,执行速度快。

外接晶振的频率为128MHZ时,大部分指令执行时间为1μM。

1.4 总体方案设计1.4.1 系统的组成本系统主要组成部分为:主机芯片8031,转速测量采集系统,步进电机的驱动系统,8279扩展外部中断子系统,报警系统等多部分系统原理图图1.10 系统原理框图1.4.2 系统的工作原理系统的工作原理如下:有主机芯片8031发出指令至步进电机的驱动和隔离电路,步进电机启动,通过8031的内部中断来实现步进电机的加速运转。

电机的转速通过光电传感器,传输到采样保持电路到A/D 转换器,转换成数字信号,存到主机芯片8031进行处理,在传输到8279到LED 显示器。

如果转速超过规定速度,通过8031发出指令到报警电路报警。

单片机控制步进电机工作是,电机在几十伏,甚至一百幅的高压条件下工作,而单片机则在5V 的低压条件下工作,一旦步进电机的电压窜到单片机部分,竟会引起单片机损坏;或者步进电机部分的有关信号干扰单片机,也会引起系统工作失误。

故单片机与不进电极之间的硬件接口一般需要进行电压隔离;对于四相步进电机,需要四路控制电路,每一路控制步进电机的一相;有时需要步进电机以不同的速度工作,不适应不同的目的,硬件接口中将包括工作频率发生器。

键盘 显示器8279 8031 光电耦合 A/D 转换器步进电机第2章系统软件设计2.1 显示子程序的设计图2.1 显示程序流程图8279的初始化程序如下:INIT: MOV DPTR,#7FFFH ;置8279命令/状态口地址 MOV A,#0D1H ;置清显示命令字MOVX @DPTR,A ;送清显示命令WEIT: MOVX A,@DPTR ;读状态JB ACC.7,WEIT ;等待清显示RAM结束MOV A,#34H ;置分频系数,晶振12MHZMOVX @DPTR,A ;送分频系数MOV A,#00H ;置键盘/显示命令MOVX @DPTR,A ;送键盘/显示命令MOV IE,#84H ;允许8279中断RET显示子程序如下:DIS: MOV DPTR,#7FFFH ;置8279命令/状态口地址 MOV R0,#30H ;字段码首地址MOV R7,#08H ;8位显示MOV A,#90H ;置显示命令字MOVX @DPTR,A ;送显示命令MOV DPTR,#7FFEH ;置数据口地址LP: MOV A,@R0 ;取显示数据ADD A,#6 ;加偏移量MOVC A,@A+PC ;查表,取得数据的段码MOVX @DPTR,A ;送段码显示INC R0 ;调整数据指针DJNZ R7,LP ;RETSEG: DB 3FH,06H,5BH,4FH,66H,6DH;字符0、1、2、3、4、5段码 DB 7DH,07H,7EH,6FH,77H,7CH;字符6、7、8、9、A、B段码DB 39H,5EH,79H,71H,73H,3EH;字符C、D、E、F、P、U段码DB 76H,38H,40H,6EH,FFH,00H;字符H、L、-、Y、“空”段码2.2 键盘子程序的设计图2.2 键盘程序流程图键盘中断子程序如下:KEY: PUSH PSWPUSH DPLPUSH DPHPUSH ACCPUSH BSETB PSW.3MOV DPTR,#7FFFH ;置状态口地址MOVX A,@DPTR ;读FIFO状态ANL A,#0FH ;JZ PKYR ;MOV A,#40H ;置读FIFO命令MOVX @DPTR,A ;送读FIFO命令 MOV DPTR,#7FFEH ;置数据口地址 MOVX A,@DPTR ;读数据 LJMP KEY1 ;转键值处理程序PKYR: POP BPOP ACCPOP DPHPOP DPLPOP PSWRETI ;KEY1: ……;键值处理程序键盘程序清单:KEY1: ACALL KS1;有无键按下子程序JNZ LK1;有键按下,转去抖延时AJMP KEY1;无键按下,继续扫描LK1: ACALL DELA12; 12MS延时程序调用ACALL KS1;判断键是否真正按下JNZ LK2 ;有键按下,转逐列扫描AJMP KEY1;无键按下,继续扫描LK2: MOV R2,#0FEH;设置首列扫描字MOV R4,#00H;保存首列号LK4: MOV DPTR,#7F01H;列扫描字送至PA口MOV A,R2MOVX @DPTR,AINC DPTR;指向PC口INC DPTRMOVX A,@DPTR;读入行状态JB ACC.0,LONE;第0行无键按下,转LONEMOV A,#00H;有键按下,设置行首键号AJMP LKP;转求键号LONE: JB ACC.1,LTWO;第1行无键按下,转LTWO MOV A,#08H;有键按下,设置行首键号AJMP LKP;转求键号LTWO: JB ACC.2,LTHR;第2行无键按下,转LTHR MOV A,#10H;有键按下,设置行首键?AJMP LKP;转求键号LTHR: JB ACC.3,NEXT;第3行无键按下,查下一列MOV A,#18H;有键按下,设置行首键LKP: ADD A,R4 ;求键号,键号=行首键号+列号 PUSH ACC ;保护键号LK3: ACALL KS1 ;等待键释放JNZ LK3 ;键未释放,继续等待POP ACC;键释放,键号送AAJMP OVER;键扫描结束NEXT: INC R4;列号加1,指向下一列 MOV A,R2;判断8列扫描完否JNB ACC.7,KND; 8列扫描完,继续RL A;扫描字左移一位MOV R2,A;送扫描字AJMP LK4 ;转下一列扫描KND: AJMP KEY1OVER: RET;键扫描结束KS1: MOV DPTR,#7F01H;指向PA口MOV A,#00H;设置扫描字MOVX @DPTR,A;扫描字送PA口INC DPTR;指向PC口INC DPTRMOVX A,@DPTR;读入PC口状态CPL;以高电平表示有键按下ANL A,#0FH;屏蔽高4位RET2.3 正反转程序流程图2.3.1 正反转程序流程图图2.3 正反转程序流程图主程序如下:CON: MOV R3, # NMOV TMOD , # 10HMOV TL1 , # LOWMOV TH1 , # H IGHJNB FLAG ,LEFTMOV R0 , RMAJMP TIME - SLEFT: MOV R0 , LMTIME: SETB EASETB ET1SETB TR1步进电机控制程序P3.2正转,P3.3反转,P3.4停止步进电机接P1.0P1.1P1.2P1.3 ORG 00hSTOP: ORL P1,#0FFh; 步进电机停止LOOP: JNB P3.2,FOR2; 如果P3.2按下正转JNB P3.3,REV2 ; 如果P3.3按下反转JNB P3.4,STOP1; 如果P3.4按下停止JMP LOOP; 反复监测键盘FOR: MOV R0,#00h; 正转到TAB取码指针初值FOR1: MOV A,R0; 取码MOV DPTR,#TABLE ;MOVC A,@A+DPTRJZ FOR; 是否到了结束码00hCPL A ; 把ACC反向MOV P1,A; 输出到P1开始正转JNB P3.4,STOP1; 如果P3.4按下停止JNB P3.3,REV2; 如果P3.3按下反转CALL DELAY; 转动的速度INC R0; 取下一个码JMP FOR1; 继续正转REV: MOV R0,#05h ; 反转到TAB取码指针初值REV1: MOV A,R0MOV DPTR,#TABLE; 取码MOVC A,@A+TABLEJZ REV; 是否到了结束码00hCPL A; 把ACC反向MOV P1,A; 输出到P1开始反转JNB P3.4,STOP1; 如果P3.4按下停止JNB P3.3,REV2; 如果P3.3按下反转CALL DELAY; 转动的速度INC R0; 取下一个码JMP REV1; 继续反转STOP1: CALL DELAY; 按P3.4的消除抖动JNB P3.4,$; P3.4放开否?CALL DELAY; 放开消除抖动JMP STOP;FOR2: CALL DELAY; 按P3.2的消除抖动JNB P3.2,$; P3.2放开否?CALL DELAY; 放开消除抖动JMP FOR;REV2: CALL DELAY; 按P3.3的消除抖动JNB P3.3,$; P3.3放开否?CALL DELAY; 放开消除抖动JMP REV;DELAY: MOV R1,#40; 步进电机的转速20MS D1:MOV R2,#248;DJNZ R2,$DJNZ R1,D1RETTABLE:DB 03h,09h,0Ch,06h; 正转表DB 00; 正转结束DB 03h,06h,0Ch,09h; 反转DB 00; 反转结束END2.3.2 转速快慢程序流程图图2.4 转速快慢程序流程图步进电机正反快慢程序ORG 00hx1: MOV R3,#48 一圈48步START: MOV R0,#00h 正转取码初值START1:MOV P1,#0FFh; 先停止MOV A,R0MOV DPTR,#TABLEMOVC A,@A+DPTRJZ START; 是否到了结束码00?CPL AMOV P1,A; 输出运转CALL DELAY; 调用慢速的延时转动INC R0; 取码指针加1取下一个码DJNZ R3,START1; 是否走了48步?MOV R3,#48; 是则重新设定48步START2:MOV P1,#0FFhMOV R0,#05; 逆转的取码初值START3:MOV A,R0;MOV DPTR,#TABLEMOVC A,@A+DPTRJZ START2CPL AMOV P1,ACALL DELAY2INC R0DJNZ R3,START3JMP x1; 重复开始DELAY: ; 延时程序(慢速)MOV R7,#255D1: MOV R6,#50D2: DJNZ R6,D2DJNZ R7,D1RETDELAY2: ; 延时程序(快速)MOV R5,#255D3:MOV R2,#25D4: DJNZ R2,D4DJNZ R5,D3RETTABLE:DB 03h,09h,0Ch,06h; 正转表DB 00DB 06h,0Ch,09h,03h; 反转表DB 00END2.4 定时中断流程图图2.5 中断子程序流程图中断服务程序如下:INTTO: PUSH APUSH PSWMOV A , @R0MOV P1 ,AINC R0MOV A , # 00HXRL A , @R0JNZ NEXTMOV A , R0CLR CSUBB A , # 03HMOV R0 , ANEXT: DJNZ R3 , RETUCLR ET1CLR EARETU: POP PSWPOP ARETI利用软件形成脉冲序列的程序清单:PULSE_S: MOV R7,#NUM;设定脉冲个数PUSH A ;保护现场PUSH PSWLOOP: SETB P1.0 ;输出高电平ACALL DELAY1 ;延时CLR P1.0 ;输出低电平ACALL DELAY2 ;延时DJNZ R7,LOOP ;R7≠0,继续输出脉冲POP PSW ;恢复现场POP ARET定时中断子程序:TIME0: CLR EA ;关中断INC 30HMOV A,30HXRL A,#50H ;判断是否到8秒JZ S_8 ; 8秒定时到,转至S_8 AJMP RECOUN ;未到8秒,继续计时S_8: SETB P3.2;触发外部中断0NOPCLR P3.2NOPRECOUN: MOV TH0,#3CHMOV TL0,#0B0H ;设定定时器初值SETB EA ;开中断RETI ;中断返回中断子程序T_CON: PUSH A ;保护现场PUSH PSWMOV R7,#N ;设定控制步数JNB FLAG,LEFT ;判断旋转方向RIGHT: MOV R0,RM ;正转模型起始地址AJMP ROTATELEFT: MOV R0,LMROTATE: MOV A,@R0 ;取第一拍控制模型MOV P1,A ;输出第一拍控制模型ACALL DELAY1 ;延时INC R0MOV A,@R0 ;取第二拍控制模型MOV P1,A ;输出第二拍控制模型ACALL DELAY1 ;延时INC R0MOV A,@R0 ;取第三拍控制模型 MOV P1,A ;输出第三拍控制模型ACALL DELAY1 ;延时DJNZ R7,ROTATE ;未走完要求的步数,继续POP PSW ;恢复现场POP ARET ;返回2.5 语音报警系统该系统采用专用集成语音芯片,将所要播放的语音信息一次性烧录到存储器内。

相关文档
最新文档