標(biāo)題:
單片機(jī)初學(xué)匯編按鍵檢測(cè),按一下亮再按滅,如此循環(huán),不是很完美,希望拋磚引玉
[打印本頁(yè)]
作者:
偉哥C51
時(shí)間:
2024-3-9 19:41
標(biāo)題:
單片機(jī)初學(xué)匯編按鍵檢測(cè),按一下亮再按滅,如此循環(huán),不是很完美,希望拋磚引玉
ORG 000H
KS: JB P3.5,$; 測(cè)按鍵
ACALL DELAY; 按鍵延時(shí)去抖動(dòng)
JB P3.5,KS;再次測(cè)按鍵
JNB P3.5,$; 按鍵松開(kāi)否
ACALL DELAY;
MOV A,P1; 讀取P口值
ANL A,#001H;取P1.0位
JNZ MD; 測(cè)試P1.0口非0否,非零跳至MD點(diǎn)燈
SETB P1.0; 是0關(guān)燈
ACALL DELAY2; 延時(shí)200毫秒再測(cè)按鍵
SJMP KS
MD: CLR P1.0
ACALL DELAY2; 延時(shí)200毫秒再測(cè)按鍵
DELAY: MOV R1,#2
LOOP: MOV R2,#255
DJNZ R2,$
DJNZ R1,LOOP
RET
DELAY2: MOV R3,#2
LOOP3: MOV R4,#36
LOOP2: MOV R5,#255
DJNZ R5,$
DJNZ R4,LOOP2
DJNZ R3,LOOP3
RET
END
作者:
21cnsound
時(shí)間:
2024-3-10 17:40
MD: CLR P1.0
ACALL DELAY2; 延時(shí)200毫秒再測(cè)按鍵
這里少了一句 SJMP KS
作者:
偉哥C51
時(shí)間:
2024-3-24 14:39
21cnsound 發(fā)表于 2024-3-10 17:40
MD: CLR P1.0
ACALL DELAY2; 延時(shí)200毫秒再測(cè)按鍵
這里少了一句 ...
少這句是不是程序不能跳回KS重新開(kāi)始檢測(cè),但是在實(shí)驗(yàn)板子上沒(méi)區(qū)別
這條子程序返回語(yǔ)句 ACALL DELAY2; 延時(shí)200毫秒再測(cè)按鍵,執(zhí)行完主程序下面沒(méi)有語(yǔ)句了,程序怎么走,單片機(jī)是不能停下,就像CRT顯像管電子束從上往下,一行一行的往下掃描
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1