2022年步进电动机驱动程序 .pdf
《2022年步进电动机驱动程序 .pdf》由会员分享,可在线阅读,更多相关《2022年步进电动机驱动程序 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、步进电机正转loop:mov R3,#0FFh ;30h送 ff即-1 main:INC R3 mov a,R3 tt:MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A ;送显示 mov r7,#5 dec r7 lcall delay ;延时一段时间 cjne a,#06H,main ;如果是最后一个数据重新开始 ljmp loop ;否则 R3 清除 ret TAB:DB 03H,09H,0CH,06H;步进电机正转表 DELAY:;延时程序MOV R5,#255 D3:MOV R2,#25 D4:DJNZ R2,D4 DJNZ R5,D3 RET ;步进电机控制程
2、序p3.2 正转,p3.3反转,p3.4 停止步进电机接p1.0p1.1p1.2p1.3 org 00h stop: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+dptr jz for ;是否到了结束码00h cpl a ;把 acc 反向 m
3、ov 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,r0 mov dptr,#table ;取码 movc a,a+table jz rev ;是否到了结束码00h cpl a ;把 acc 反向 mov p1,a ;输出到 p1 开始反转 jnb p3.4,stop1 ;如果 p3.4 按下停止 jnb p3.3,r
4、ev2 ;如果 p3.3 按下反转 call delay ;转动的速度 inc r0 ;取下一个码名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -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放开
5、否?call delay ;放开消除抖动 jmp rev delay:mov r1,#40 ;步进电机的转速20ms d1:mov r2,#248 djnz r2,$djnz r1,d1 ret table:db 03h,09h,0ch,06h ;正转表 db 00 ;正转结束 db 03h,06h,0ch,09h ;反转 db 00 ;反转结束 end;步进电机正转,反转各3 圈org 00h x1:mov r3,#250 start:mov r0,#00h start1:mov p1,#0ffh mov a,r0 mov dptr,#table movc a,a+dptr jz start
6、 cpl a mov p1,a call delay inc r0 djnz r3,start1 mov r3,#250 start2:mov p1,#0ffh mov r0,#05 start3:mov a,r0 mov dptr,#table movc a,a+dptr jz start2 cpl a mov p1,a call delay 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -inc r0 djnz r3,start3 jmp x1 delay:mov r5,#40;延时。d1:mov r6,#10 d2:mov r7,#18 djnz r7,$djnz
7、 r6,d2 djnz r5,d1 ret table:db 03h,09h,0ch,06h db 00 db 06h,0ch,09h,03h db 00 end ;步进电机正反快慢程序org 00h x1:mov r3,#48 ;一圈 48 步start:mov r0,#00h ;正转取码初值start1:mov p1,#0ffh ;先停止mov a,r0 mov dptr,#table movc a,a+dptr jz start ;是否到了结束码00?cpl a mov p1,a ;输出运转call delay ;调用慢速的延时转动inc r0 ;取码指针加1 取下一个码djnz r3,
8、start1 ;是否走了 48步?mov r3,#48 ;是则重新设定48 步start2:mov p1,#0ffh mov r0,#05 ;逆转的取码初值start3:mov a,r0 mov dptr,#table movc a,a+dptr jz start2 cpl a mov p1,a call delay2 inc r0 djnz r3,start3 jmp x1 ;重复开始 DELAY:;延时程序(慢速)MOV R7,#255 D1:MOV R6,#50 D2:DJNZ R6,D2 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -DJNZ R7,D1 RE
9、T DELAY2:;延时程序(快速)MOV R5,#255 D3:MOV R2,#25 D4:DJNZ R2,D4 DJNZ R5,D3 RET table:db 03h,09h,0ch,06h ;正转表db 00 db 06h,0ch,09h,03h ;反转表db 00 end ;遥控电机程序,按遥控器 0-9 步进电机正转0-9 步,按遥控器11-19 步进电器分别反转;0-9步,同时数码管分别显示当前的数字!org 00h JMP MAIN ORG 30H MAIN:MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH START:JB P3.7,$;等待遥控信号
10、出现SB:MOV R4,#8 ;8毫秒为高电平错误SBA:MOV R5,#250 SBB:JB P3.7,SXB1 DJNZ R5,SBB DJNZ R4,SBA MOV R4,#2 JMP SBC SXB1:MOV R5,#5 SXB2:;去掉 20US的尖峰干扰信号 JNB P3.7,SBB DJNZ R5,SXB2 JMP START SBC:MOV R5,#250 SB1:JB P3.7,SB2 ;2MS内不为高电平错误(监测9MS的低电平引导码)DJNZ R5,SB1 DJNZ R4,SBC JMP START 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 8 页 -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年步进电动机驱动程序 2022 步进 电动机 驱动程序
限制150内