單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)程序
掃描二維碼
隨時(shí)隨地手機(jī)看文章
NS-6型實(shí)驗(yàn)板驅(qū)動(dòng)步進(jìn)電機(jī)
控制輸出為P1口
由8050,8550做功率輸出驅(qū)動(dòng)PH266-E1.2按K1鍵,電機(jī)由慢變快作加速度順時(shí)針旋轉(zhuǎn)按K2鍵,電機(jī)由慢變快作加速度逆時(shí)針旋轉(zhuǎn)
注:本試驗(yàn)只為初學(xué)者掌握單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)的原理,其硬件配置只做為短時(shí)間試驗(yàn)演示不可持續(xù)過(guò)長(zhǎng)時(shí)間,亦不可實(shí)際中使用
電路如下圖:
?
;尼士單片機(jī)
;任風(fēng)逍遙
;步進(jìn)電機(jī)驅(qū)動(dòng)程序
;2004/8/8
;NS-1試驗(yàn)板驅(qū)動(dòng)步進(jìn)電機(jī)
;K1驅(qū)動(dòng)步進(jìn)電機(jī)順時(shí)針轉(zhuǎn)動(dòng),K2驅(qū)動(dòng)步進(jìn)電機(jī)逆時(shí)針轉(zhuǎn)動(dòng)
org 000h
ajmp aa
org 010h
;馬達(dá)正轉(zhuǎn)
aa:
mov 20h,#50
JB P3.6,Bb;如果P3.6為1則轉(zhuǎn)到Bb如果為0則順序執(zhí)行
a1:
mov r0,#15
loop1:
mov p1,#00110011b
acall delay
mov p1,#11000011b
acall delay
mov p1,#11001100b
acall delay
mov p1,#00111100b
acall delay
djnz r0,loop1
mov a,20h
cjne a,#30,l1;不相等,就轉(zhuǎn)移
ajmp l3
l1:dec 20h
l3:
JB P3.6,Bb
jmp a1
Bb:JB P3.7,aa
a2:
mov r0,#15
loop2:
mov p1,#00111100b
acall delay
mov p1,#11001100b
acall delay
mov p1,#11000011b
acall delay
mov p1,#00110011b
acall delay
djnz r0,loop2
mov a,20h
cjne a,#30,l2;不相等,就轉(zhuǎn)移
ajmp l4
l2:dec 20h
l4:
JB P3.7,bb
jmp a2
ret
delay:
mov r6,#25
d1:mov r7,20h
d2:djnz r7,d2
djnz r6,d1
ret
end
步進(jìn)電機(jī)驅(qū)動(dòng)范例