51 單片機(jī):鍵控直流電機(jī)
題目:用AT89C51單片機(jī)匯編語(yǔ)言寫個(gè)控制電動(dòng)機(jī)正反轉(zhuǎn)的程序
P3.0的按鈕是控制正轉(zhuǎn)
P3.1的按鈕是控制反轉(zhuǎn)
P3.2的按鈕是停止
用最短的匯編語(yǔ)言寫出來(lái),如果可以的話請(qǐng)一句句的解釋一下。我不會(huì)弄中斷。
電路如下:
這么簡(jiǎn)單的問(wèn)題,用不著使用中斷。
做而論道編寫的程序如下:
;直流電機(jī)控制
ORG 0000H
P30:JB P3.0, P31 ;檢測(cè)按鍵
CALL DELAY ;延時(shí)
JB P3.0, P31 ;消抖
JNB P3.0, $ ;等待釋放
MOV P2, #01H ;正轉(zhuǎn)
;------------------------
P31:JB P3.1, P32 ;輪流檢測(cè)
CALL DELAY
JB P3.1, P32
JNB P3.1, $
MOV P2, #02H ;反轉(zhuǎn)
;------------------------
P32:JB P3.2, P30
CALL DELAY
JB P3.2, P30
JNB P3.2, $
MOV P2, #03H ;停轉(zhuǎn)
SJMP P30
;------------------------
DELAY: ;延時(shí)約10ms(fosc = 6MHz)
MOV R6, #10
DJNZ R7, $
DJNZ R6, $ - 2
RET
;------------------------
END
;------------------------
提問(wèn)者評(píng)價(jià):小弟謝過(guò)大神了,感激
后記:
這程序?qū)懙模憾绦【?,功能齊全,工作速度極快,并不低于使用中斷的方法。