1、单片机应用系统课程设计说明书专业年级:姓名:指导老师:目录一、步进电机21、步进电机介绍22、步进电机分类23、技术指标34、步进电机工作原理4二、单片机最小系统及电源电路51、最小系统52、电源电路6三、步进电机驱动电路61、驱动电路62、单电压型驱动电源73、对驱动电源的要求7四、显示电路8五、程序设计81、正反转程序82、测速计算程序93、显示程序94、双四拍及八拍驱动程序10六、程序流程图11七、调试结果及分析12一、步进电机1、步进电机简介2、步进电机分类3、技术指标4、步进电机工作原理(1)工作原理(2)驱动方式电机驱动方式可以采用双四拍(ABBCCDDAAB)方式,也可以采用单四
2、拍(ABCDA)方式,或单、双八拍(AABBBCCCDDDAA)方式。各种工作方式时序图如下:(高电平有效)二、单片机最小系统及电源电路1、最小系统单片机最小化系统是指单片机能正常工作所必要外围元件,重要可以提成时钟电路和复位电路。(1)时钟电路(2)复位电路2、电源电路用固定式三端集成稳压电路7805设计制作持续可调直流稳压实际电路如图所示,图中R1取220,R2取680重要用来调节输出电压。输出电压UoUxx(1+R2/R1),该电路可在512V稳压范畴内实现输出电压持续可调。其中1接整流器输出电压,2为公共地,3为5V输出电压三、步进电机驱动电路1、驱动电路 步进电机驱动可以选用专用电机
3、驱动模块,在本实验中采用达林顿驱动器ULN2803,该芯片单片最多可一次驱动八线步进电机。达林顿管步进电机与单片机连接2、单电压型驱动电源 输入脉冲为0时,VT截止;输入脉冲为1是,VT导通,在接通瞬间,电容C短接电阻R,电流由ELCVT,电阻在电流达到恒定后起限流作用,此时电流由 ELRVT。输入脉冲消失后,VT截止,L两端将产生一感应电压,增长二极管 D 续流,续流电流:LRDL 。 电路图如下: 3、对驱动电源规定 抱负驱动电源使电机绕组电流应尽量接近矩形波,事实上,步进电机是感性负载,绕组中电流不能突变,而是按指数规律上升或下降,从而使整个通电周期内,绕组电流平均值下降,电机输出转矩下
4、降。而当电机运营频率很高时,电流峰值明显不大于额定励磁电流,从而导致电机转矩进一步下降,严重时不能启动。为了提高步进电机动态特性,必要改进电流波形,使先后沿陡度增大,办法有电阻法和电压法,本次课程设计采用单电压型驱动电源。四、显示电路 在本实验中,采用总线方式驱动八段显示管时,故将八段驱动方式选取开关拨到“内驱”位置。 实验仪提供了6 位8段码LED显示电路,采用动态方式显示。8位段码、6位位码是由两片74LS374输出,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。 某些显示电路五、程序设计1、正反转程序 实验采用单四拍驱动方式,反转只需把START
5、子程序中 #30H改为#34H即可,详细实现程序如下:2、测速计算程序 实验以定期器T0作为计数器,定期器T1作为定期器每0.2ms中断一次,以方式2工作。3、显示程序 由于使用实验箱内驱显示方式,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。 八拍START:MOV P1,#09HACALL DELAYMOV P1,#01HACALL DELAYMOV P1,#03HACALL DELAYMOV P1,#02HACALL DELAYMOV P1,#06HACALL DELAYMOV P1,#04HACALL DELAYMOV P1,#0CHACALL
6、 DELAYMOV P1,#08HACALL DELAYLJMP STARTDELAY:MOV R0,#100LOOP:MOV R1,#200DJNZ R1,$DJNZ R0,LOOPRETEND4、双四拍及八拍驱动程序双四拍START:MOV P1,#09HACALL DELAYMOV P1,#03HACALL DELAYMOV P1,#06HACALL DELAYMOV P1,#0CHACALL DELAYLJMP STARTDELAY:MOV R0,#100LOOP:MOV R1,#200DJNZ R1,$DJNZ R0,LOOPRETEND六、程序流程图 程序由初始化程序、中断初始程序
7、、步进电机正反转驱动程序、转速计算程序、显示程序等构成,总体流程图如下:七、调试成果及分析程序清单:ORG 0000HLJMP MAINORG 001BH;定期器1中断入口LJMP T_1ORG 002FHMAIN:MOV SP,#6FH;给堆栈赋地址;MOV SCON,#0C0HMOV TMOD,#2EH;定期器T0作为计数器,定期器T1作为定期器每0.2ms中断一次,工作方式为方式2MOV TL1,#37H;0.2msMOV TH1,#37HMOV TL0,#00H;计数器低8位清零MOV TH0,#00H;计数器高8位清零 SETB EA;容许中断;SETB ET1;容许定期器/计数器1
8、中断SETB TR1;启动定期器1SETB TR0;启动计数器0MOV P1,#00HMOV R4,#200MOV R5,#50 MOV 30H,#01H;正转MOV 31H,#02HMOV 32H,#04HMOV 33H,#08HMOV 34H,#08H;反转MOV 35H,#04HMOV 36H,#02HMOV 37H,#01HSTART:MOV R0,#30H;#34H反转MOV R3,#4LOOP:MOV A,R0 MOV P1,ALCALL DELAYINC R0DJNZ R3,LOOPSJMP STARTDELAY:MOV R7,#25DL1:MOVR6,#100;25*100*2
9、=5msDL2:DJNZ R6,DL2 DJNZ R7,DL1 RETSHUZI:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;共阳极;DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,07FH,6FH;共阴极顺T_1:DJNZ R4,LOOP2DJNZ R5,LOOP1MOV A,TL0;LCALL LEDMOV TL0,#00HMOV R4,#200MOV R5,#50LOOP2:RETILOOP1:MOV R4,#200RETILED:MOV B,#10;每2s读一次数,则转速n=m*60/2*3,即n=10mMUL
10、AB;脉冲数乘10得转速,存于A中MOV B,#100DIV ABPUSH ACCMOV A,BMOV DPTR,#SHUZIMOVC A,A+DPTRMOV DPTR,#8004HMOVX DPTR,AMOV DPTR,#8002HMOV A,#01HMOVX DPTR,ALCALL DELAY1POP ACCMOV B,#10DIV ABPUSH ACCMOV A,BMOVC A,A+DPTRMOV DPTR,#8004HMOVX DPTR,AMOV DPTR,#8002H MOV A,#02HMOVX DPTR,ALCALL DELAY1POP ACCJZ OUTMOVC A,A+DPTRMOV DPTR,#8004HMOVX DPTR,AMOV DPTR,#8002HMOV A,#04HMOVX DPTR,ALCALL DELAY1OUT:RETDELAY1:MOV R4,#40LOOP3:MOV R5,#25DJNZ R5,$DJNZ R4,LOOP3RETEND