?? 新建 文本文檔 (2).txt
字號(hào):
最近做的工程需要用到步進(jìn)電機(jī),但由于量小,又沒(méi)有廠家的選型手冊(cè),只得托人從深圳隨便發(fā)了幾個(gè)……
NMB (PM35L-048-HPH7)據(jù)我的測(cè)試,在單四排工作模式下,其步進(jìn)角為7.5度。
驅(qū)動(dòng)模塊用的是ULN2003,只用了四個(gè)單元,接口用的是P3,當(dāng)然程序里面把P1也定義了,在我的測(cè)試板上,P1是接LED指示單元的,只是為了調(diào)試方便而以。^_^
/*MPU=PHILIPS P89C58X2FN OSC=6MH MOTOR DRIVER=ULN2003*/
/*http://wangchunyu.cublog.cn COPY RIGHT @2006*/
h1 equ 42h /*電機(jī)緩存*/
numl equ 43h /*轉(zhuǎn)數(shù)低位*/
numh equ 44h /*轉(zhuǎn)數(shù)高位*/
delayl equ 45h /*延時(shí)低位*/
delayh equ 46h /*延時(shí)高位*/
delayhh equ 47h /*延時(shí)甚高位*/
org 00h
sjmp start
org 30h
start:
mov h1,#10001000b /*電機(jī)緩存初始化*/
start1:
mov delayl,#020h
mov delayh,#020h
mov delayhh,#01h /*設(shè)置延時(shí)(速度)*/
mov numl,#00ah
mov numh,#030h /*設(shè)置轉(zhuǎn)數(shù)*/
lcall runl /*左轉(zhuǎn)*/
mov delayl,#0ffh
mov delayh,#0ffh
MOV DELAYHH,#002H
lcall delay /*延時(shí)*/
mov delayl,#020h
mov delayh,#020h
mov delayhh,#01h /*設(shè)置延時(shí)(速度)*/
mov numl,#00ah
mov numh,#030h /*設(shè)置轉(zhuǎn)數(shù)*/
lcall runr /*右轉(zhuǎn)*/
mov delayl,#0ffh
mov delayh,#0ffh
mov delayhh,#00Ah
lcall delay /*延時(shí)*/
sjmp start1
runl: /*左轉(zhuǎn)子程序*/
mov r4,numl
runl1:mov r5,numh /*初始化轉(zhuǎn)數(shù)*/
runl2:mov a,h1
mov p1,a
mov p3,a
rl a
mov h1,a
lcall delay
djnz r5,runl2
djnz r4,runl1
reti
runr: /*右轉(zhuǎn)子程序*/
mov r4,numl
runr1:mov r5,numh /*初始化轉(zhuǎn)數(shù)*/
runr2:mov a,h1
mov p1,a
mov p3,a
rr a
mov h1,a
lcall delay
djnz r5,runr2
djnz r4,runr1
reti
delay: /*延時(shí)子程序*/
mov r1,delayl
l1:mov r2,delayh
l2:MOV R3,DELAYHH
l3:DJNZ R3,L3
DJNZ R2,L2
djnz r1,l1
RETI
end
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -