四相八拍步进电机调速
步进电机转速调节的方法
步进电机转速调节的方法
工程师在依据负载,力矩等选好步进电机和驱动器的型号后,在详细应用中,还涉及到步进电机的转速这一参数的确定和设置。
建议通过调整输入驱动器的脉冲频率以及驱动器的细分参数来达到调整步进电机转速的作用。
其实就是掌握单位时间内步进电机的步数。
常规调整步进电机转速的方法分为以下几种:
一、换向器电机调速
优点:①具有沟通同步电机结构简洁和直流电机良好的调速性能; ②低速时用电源电压、高速时用步进电机反电势自然换流,运行牢靠;
③无附加转差损耗,效率高,适用于高速大容量同步电机的启动和调速。
缺点:过载力量较低,原有电机的容量不能充分发挥。
二、定子调压调速
优点:①线路简洁,装置体积小,价格廉价; ②使用、修理便利。
缺点:①调速过程中增加转差损耗,此损耗使转子发热,效率较低; ②调速范围比较小; ③要求采纳高转差电机,比如特别设计的力矩电机,所以特性较软,一般适用于55kW以下的异步电机。
三、转子串电阻调速
优点:①技术要求较低,易于把握; ②设备费用低; ③无电磁谐波干扰。
缺点:①串铸铁电阻只能进行有级调速。
若用液体电阻进行无级调速,则维护、保养要求较高; ②调速过程中附加的转差功率全部转化为所串电阻发热形式的损耗,效率低。
③调速范围不大。
四、电磁转差离合器调速
优点:①结构简洁,掌握装置容量小,价值廉价; ②运行牢靠,修理简单; ③无谐波干扰。
缺点:①速度损失大,由于电磁转差离合器本身转差较大,所以输出轴的最高转速仅为电机同步转速的80%~90%;
②调速过程中转差功率全部转化成热能形式的损耗,效率低。
步进电动机四相八拍运行方式是
步进电动机四相八拍运行方式是步进电动机是一种能够精确控制位置,速度和加速度的电动机。
在步进电动机的工作原理中,四相八拍运行方式是其中一种常见的驱动方式。
这种方式通过切换电机的绕组,使电机按照规定的步距和顺序进行转动,从而实现精准的位置控制。
四相八拍运行方式是指电机的绕组分为四组,电流可以依次通过这四组绕组,从而驱动电机转动。
每个步进电动机都有一个固定的步距,即电机每接收一个脉冲信号就会转动一个步距。
而八拍则表示在整个转动过程中,电机需要经过八个步距才能完成一个循环。
这种运行方式可以使电机以较高的精度和稳定性进行转动。
在四相八拍运行方式中,电机的转动取决于外部信号源发送的脉冲信号。
当脉冲信号传输到电机驱动器时,驱动器会按照规定的顺序依次激活电机的四组绕组。
通过切换不同的绕组,电机可以按照指定的步距旋转,从而实现预设的位移。
这种驱动方式的优点之一是可以实现高精度的定位控制。
由于电机每次转动一个固定的步距,可以非常精确地控制电机的位置,适用于需要高精度定位的场合。
此外,四相八拍的运行方式还可以提供较高的转速和加速度,使电机的运动更加平稳和快速。
然而,四相八拍运行方式也存在一些局限性。
例如,在高速运动时可能会出现共振现象,需要采取一些措施来减轻共振对系统稳定性的影响。
另外,对于一些特殊要求如低速高扭矩输出的应用场景,四相八拍运行方式可能不太适用。
总的来说,步进电动机四相八拍运行方式是一种常见且有效的驱动方式,适用于需要精确定位和高速运动的场合。
通过合理设计和控制,可以最大限度地发挥步进电动机的性能优势,为各种工业和商业应用提供可靠的驱动解决方案。
1。
步进电机调速
课程设计报告系(部):自动化专业班级:学生姓名:学号:设计题目:步进电机调速完成日期年月日指导教师评语:_____________________________________ ______________________________________________________________________________________________________________成绩(五级记分制):指导教师(签字):_____________________本次课程设计是借助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)一绪论步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。
步进电机调速方法
一、变极对数调速方法这种调速方法是用改变定子绕组的接红方式来改变笼型电动机定子极对数达到调速目的,特点如下: 1、具有较硬的机械特性,稳定性良好; 2、无转差损耗,效率高; 3、接线简单、控制方便、价格低; 4、有级调速,级差较大,不能获得平滑调速; 5、可以与调压调速、电磁转差离合器配合使用,获得较高效率的平滑调速特性。
本方法适用于不需要无级调速的生产机械,如金属切削机床、升降机、起重设备、风机、水泵等。
二、变频调速方法变频调速是改变电动机定子电源的频率,从而改变其同步转速的调速方法。
变频调速系统主要设备是提供变频电源的变频器,变频器可分成交流-直流-交流变频器和交流-交流变频器两大类,目前国内大都使用交-直-交变频器。
其特点: 1、效率高,调速过程中没有附加损耗; 2、应用范围广,可用于笼型异步电动机; 3、调速范围大,特性硬,精度高; 4、技术复杂,造价高,维护检修困难。
5、本方法适用于要求精度高、调速性能较好场合。
三、串级调速方法串级调速是指绕线式电动机转子回路中串入可调节的附加电势来改变电动机的转差,达到调速的目的。
大部分转差功率被串入的附加电势所吸收,再利用产生附加的装置,把吸收的转差功率返回电网或转换能量加以利用。
根据转差功率吸收利用方式,串级调速可分为电机串级调速、机械串级调速及晶闸管串级调速形式,多采用晶闸管串级调速,其特点为: 1、可将调速过程中的转差损耗回馈到电网或生产机械上,效率较高; 2、装置容量与调速范围成正比,投资省,适用于调速范围在额定转速70%-90%的生产机械上; 3、调速装置故障时可以切换至全速运行,避免停产; 4、晶闸管串级调速功率因数偏低,谐波影响较大。
5、本方法适合于风机、水泵及轧钢机、矿井提升机、挤压机上使用。
四、绕线式电动机转子串电阻调速方法绕线式异步电动机转子串入附加电阻,使电动机的转差率加大,电动机在较低的转速下运行。
串入的电阻越大,电动机的转速越低。
【免费下载】四相八拍步进电机调速
图 1.5 是该四相反应式步进电机工作原理示意图。
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
四相八拍步进电机控制电路
四相八拍步进电机控制电路
步进电机在各种自动控制领域中有着广泛的应用,它通过精确的位置控制和简单的控制电路设计,实现了高效的运行。
在步进电机中,四相八拍步进电机是一种常见的类型,它具有结构简单、控制方便等特点,因此得到了广泛采用。
步进电机的控制原理基于控制电路对电机内部各个线圈的通断控制,从而实现单步运动。
四相八拍步进电机由四个线圈组成,按相间夹角为90度的顺序连接,每相均可单独控制。
常见的步进电机控制电路包括单片机控制、逻辑门控制等。
在设计四相八拍步进电机控制电路时,首先需要确定电机驱动方式。
常见的方式包括全步进驱动和半步进驱动。
全步进驱动中,电机每步转动一个完整的步进角度;而在半步进驱动中,电机每步转动半个步进角度。
选择不同的驱动方式可以实现不同的转动精度和速度要求。
控制电路中常用的元器件包括晶体管、电阻、电容等。
通过合理的连接和控制,可以使步进电机按照预先设定的步进序列运行。
在具体设计电路时,需要根据电机的参数和工作要求,选择合适的元器件和控制方式,并进行电路调试和优化。
为了确保步进电机的稳定运行,还需要注意电源稳定性和线圩的连接质量。
稳定的电源可以提供电机正常工作所需的能量,而良好的线圩连接可以减小电机运行时的噪音和振动,延长电机使用寿命。
总的来说,四相八拍步进电机控制电路是实现步进电机精准运动的关键,通过合理的设计和调试,可以有效地实现对电机位置的控制。
在实际应用中,可以根据具体要求进行电路的定制设计,以满足不同场景下步进电机的控制需求。
1。
28BYJ-48步进电机资料及调速程序
步电机是一种将电脉冲转化为角位移的执行机构。
通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。
当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。
每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。
当通电状态的改变完成一个循环时,转子转过一个齿距。
四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。
),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。
),八拍(A-AB-B-BC-C-CD-D-DA-A。
)左——右 CCW旋转方向(轴伸端视)步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB)永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。
在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。
它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。
这种步进电机的应用最为广泛。
红线接电源5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色接P1.0口。
由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,如下:步进电机驱动速度计算公式:运转速度=脉冲频率×60/步进电机分割数/减速比64步进电机分割数=360/6.625调速程序:#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int#define st_mo P1sbit k1=P2^0;//正转键sbit k2=P2^1;//反转键sbit k3=P2^2;//停止按键sbit k4=P2^3;//加按键sbit k5=P2^4;//减按键sbit dula=P2^5;//定义段码位sbit wela=P2^6;//定位段码位sbit alarm=P2^7;//定义蜂鸣器位uchar ccw[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //反转uchar cw[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正传uchar code ducode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//定义段码uchar code wecode[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//定位段码uchar tempdata[8],speed=10;void delay(uchar z) //延时1ms{uchar i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}void delay500us(void) //延时500us{int i;for(i=0;i<58;i++);}void buzzer() //产生报警音{uchar t;for(t=0;t<100;t++){delay500us();alarm=!alarm; //产生脉冲}alarm=1; //关闭蜂鸣器}void ccw_motor()//反转子程序{uchar i;for(i=0;i<8;i++)//旋转一周内部旋转一周{for(i=0;i<8;i++){st_mo=ccw[i];delay(speed);}}}void cw_motor()//正转子程序{uchar i;for(i=0;i<8;i++)//旋转一周内部旋转一周{for(i=0;i<8;i++){st_mo=cw[i];delay(speed);}}}void diaplay(uchar first,uchar num) //LED 显示函数{static uchar i;P0=0xff;wela=1;wela=0;P0=wecode[i+first];wela=1;wela=0;P0=tempdata[i];dula=1;dula=0;i++;if(i==num){i=0;}}void init()/定时器1、2初始化函数{TMOD|=0X11;TH0=(65536-2000)/256;TL0=(65536-2000)%256;TH1=(65536-1000)/256;TL1=(65536-1000)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;PT0=1; //边沿触发如不设置LED显示时会跳动}void main(){uchar num;init();while(1){if(k1==0){buzzer();for(num=0;num<512;num++){if(k3==0){buzzer();break;}cw_motor();}}if(k2==0){buzzer();for(num=0;num<64;num++){if(k3==0){buzzer();break;}ccw_motor();}}st_mo=0;}}void timer0() interrupt 1//定时器1{TH0=(65536-2000)/256; //延时2msTL0=(65536-2000)%256;tempdata[0]=ducode[speed%10];tempdata[1]=ducode[speed/10];diaplay(0,2);}void timer1() interrupt 3//定时器2{TH1=(65536-1000)/256; //延时1msTL1=(65536-1000)%256;if(k4==0){delay(5);if(k4==0)speed++;}while(k4==0);if(k5==0){delay(5);if(k5==0){if(speed>2)speed--;}}while(k5==0);}效果图。
步进电机调速
一、变极对数调速方法这种调速方法是用改变定子绕组的接红方式来改变笼型电动机定子极对数达到调速目的,特点如下: 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。
四相步进电机八拍调速程序
unsigned char keycan=0;//键值
unsigned char s,i,j,k,z;
int y=30;//定义转动速度,数值越大电机转速越慢反之则快
{
for(z=0;z<8;z++)
{
P1=runz[z];
delay(y);
}
}
void frun()//反转运行
{
for(z=0;z<8;z++)
{
P1=runf[z];
delay(y);
}
}
main()
{
while(1)
{
if(P2_0==0) //如果电机正转按键按下
{
keycan=1;//键值等于1
定义转动速度数值越大电机转速越慢反之则快sbitp20p20
#include<reg52.h>
/*****P1.0=A ;P1.1=B ;P1.2=B' ; P1.3=A'****/
code unsigned char runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04}; //两相四线八拍工作方式{/Leabharlann 电机减速y-=5;}
}
}
sbit P2_0=P2^0;//正转按键
sbit P2_1=P2^1;//反转按键
sbit P2_2=P2^2;//电机加速
sbit P2_3=P2^3;//电机减速
void delay(i)//延时函数
A步进电机四相八拍
一.方案设计本设计采用电压为DC12V的四相八拍步进电机35BYJ46型电机,用ULN2803作为步进电动机驱动电路主芯片,以8255A作为8088并行输出接口,8088对步进电机的控制信号则通过8255A送到ULN2803.关于转向与转速,通过查表的方式实现,以逐次递增方向查表,依次输出表中数据,则步进电机正转;以逐次递减方向查表,则步进电机反转,即通过一个表实现步进电机的正转与反转。
转速则通过调用延时子程序,当调用延时较长的子程序时,则步进电机转速慢,当调用延时较短的子程序时,步进电机转速加快。
二、硬件系统的基本原理在工业控制系统里步进电动机是主要的控制元件之一。
步进电机具有快速启动停止,精确定位和能够使用数字信号进行控制,能够实现脉冲-角度转换的特点,因此得到广泛的应用。
在使用步进电机的控制系统里,脉冲分配器产生周期的控制脉冲序列,步进电机驱动器每接收一个脉冲就控制步进电机沿给定方向步进一步。
实验使用型号为35BYJ46的四相步进电机,采用四相八拍控制方式工作。
步进电机的转角和转动方向取决于各相中通电脉冲的个数和顺序。
8088控制机控制步进电机的电路见图1-1。
计算机将表1-1所示的各种通电方式转换成相应的状态控制字,通过计算机将各种状态字依次送到接口电路,并根据速度的要求作相应的延时处理。
由接口电路输出所需的控制脉冲通过驱动电路路使步进电机按要求动作。
驱动电路使用ULN2803A达林顿晶体管,反相驱动,驱动电流可以达到500mA。
驱动电路的作用是对控制脉冲进行放大,产生步进电机工作所需要的激励电流。
图1-1 步进电机控制实验原理图35BYJ46型步进电机使用DC12V 电压,采用四相八拍控制相序。
励磁线圈和励磁顺序如图1-2,控制相序如表1-1。
表中的PB10~PB13对应并行接口8055的B 口0~3位。
如果使用8255B 口的其它位则相应的状态字也要改变。
表1-1 步进电机四相八拍相序表步 序 相 序通电相 对应PB 口的输出值(状态字)PB13 PB12 PB11 PB10 1 0 0 0 1 A 01H 2 0 0 1 1 AB 03H 3 0 0 1 0 B 02H 4 0 1 1 0 BC 06H 5 0 1 0 0 C 04H 6 1 1 0 0 CD 0CH 7 1 0 00 D 08H 810 1 DA09H图1-2 励磁顺序和励磁线圈示意图1 2 3 4 5 6 7 85+ + + + + + + + 4 - - - 3- - - 2- - - 1- - -135425 (黑) 4 (黄) 3 (棕) 2 (蓝) 1 (红)+12VA ’B ’C ’D ’A B C DPB0 PB1 PB2PB38255驱动单元步进电动机(二)8255A可编程并行接口芯片1.8255简介Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。
四相八拍步进电机控制
四相八拍步进电机控制步进电机是一种常见的电机类型,广泛应用于各种领域中,其中四相八拍步进电机是其一种常见类型,其控制简单且精准。
在控制四相八拍步进电机时,需要考虑到步进电机的特性以及控制方法,以确保电机能够按照预期的步距和速度进行运转。
步进电机工作原理步进电机是一种电磁式电机,通过电流在驱动器中的控制,使电机旋转固定的步距。
四相八拍步进电机中,有四组线圈,每组线圈都可以独立控制,通过不同相位的脉冲信号来驱动。
当电流依次施加到不同的线圈上时,电机便能实现一步距的转动,从而完成旋转运动。
步进电机控制方法控制四相八拍步进电机主要有两种方法:单步进控制和微步进控制。
1.单步进控制:在单步进控制中,每次施加一个脉冲信号,使步进电机转动一个步距。
这种控制方法简单直接,适用于一些简单的应用场景,如需要电机做简单定位的场合。
2.微步进控制:微步进控制是一种更为精细的控制方法,通过在每个步距之间施加一定比例的电流,使电机实现更加平滑的运动。
这种控制方法可以提高步进电机的精度和稳定性,适用于对运动要求较高的场合。
步进电机控制流程控制四相八拍步进电机的基本流程如下:1.初始化:设置步进电机的参数,包括步距大小、速度、加减速度等。
2.发送控制信号:通过控制器向步进电机的驱动器发送相应的脉冲信号,控制电机转动。
3.监测电机状态:实时监测电机的位置和运动状态,确保电机按照预期进行运转。
4.控制结束:根据需要停止电机运动或者改变电机的运动方向。
1应用领域和优势四相八拍步进电机广泛应用于打印机、数控机床、纺织机械、医疗设备等领域。
由于其控制简单、结构紧凑、精度高等优点,步进电机在这些领域中得到了广泛的应用。
综上所述,四相八拍步进电机作为一种常见的电机类型,其控制方法简单且灵活,通过合理的控制可以实现精确的运动控制。
在实际应用中,需要根据具体情况选择合适的控制方法,并结合具体的控制流程来实现对步进电机的有效控制,从而满足不同应用场景对电机精度和稳定性的要求。
步进电机按键控制速度
步进电机按键控制速度步进电机28BYJ-48(12V)介绍:首先,我们看下步进电机28BYJ-48(12V)外观图,如下:28BYJ-48(12V)含义如下:28表示电机直径28毫米,B表示电机,Y表示永磁,J表示带减速箱,48表示四相八拍。
下面解释下“4 相永磁式”的概念,28BYJ-48 的构造如下图所示。
先看里圈,它有 6 个齿,辨别标注为 0~5,这个叫做转子,它是要转动的,转子的每一个齿都是一块永磁体,这就是“永磁式”的概念。
再看外圈,这个就是定子,它是固定不动的,实践上它是跟电机的外壳固定在一同的,它有 8个齿,而每一个齿上都缠上了一个线圈绕组,正对着的 2 个齿上的绕组又是串联在一同的,也就是说正对着的2 个绕组老是会同时导通或关断的,如此就构成了4相,在图平分别标注为 A-B-C-D,这就是“4 相”的概念。
对于电机电机28BYJ-48(12V)是64个脉冲为一圈(注意是电机本身),得到电机28BYJ-48(12V)的步进角是5.625度(注意是电机本身)。
而因为这个电机28BYJ-48(12V)是带减速齿轮的,所以最后在输出轴上的步进角是5.625/64=0.08789度(因为减速比是1/64)。
最后推导出对于输出轴,是4096个脉冲为一圈(64×64)。
电机转64圈,输出轴转1圈。
对电机施加一系列连续不断的控制脉冲时,它可以连续不断的转动。
电机启动和停转平稳,可以精确控制转动角度。
步进电机转动是需要按照一定的组合以一定的频率给步进电机的4“相”输入脉冲信号,将4个相分别称为A、B、C、D。
在这里我们采用4相8拍的方式控制电机的转动,即A-AB-B-BC-C-CD-D-DA-A。
步进电机驱动芯片ULN2003:步进电机28BYJ-48(12V)由芯片ULN2003驱动。
ULN2003是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成,每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
四相八拍步进电机调速
目录引言 (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章系统软件设计 (6)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)参考文献 (22)致谢 (23)引言步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。
使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速,因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。
在本设计方案中采用单片机内部的定时器改变脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。
关键词:步进电机,单片机,调速系统第1章绪论1.1 步进电机的概述1.1.1 步进电机的特点1)一般步进电机的精度为步进角的3-5%,且不累积。
2)步进电机外表允许的温度高。
步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)参考文献 (22)致谢 (23)引言步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。
使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速,因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。
在本设计方案中采用单片机内部的定时器改变脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。
关键词:步进电机,单片机,调速系统第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的低压条件下工作,一旦步进电机的电压窜到单片机部分,竟会引起单片机损坏;或者步进电机部分的有关信号干扰单片机,也会引起系统工作失误。
故单片机与不进电极之间的硬件接口一般需要进行电压隔离;对于四相步进电机,需要四路控制电路,每一路控制步进电机的一相;有时需要步进电机以不同的速度工作,不适应不同的目的,硬件接口中将包括工作频率发生器。
第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 语音报警系统该系统采用专用集成语音芯片,将所要播放的语音信息一次性烧录到存储器内。