KEY BIT P1.0 ;按鍵低電平有效
LED BIT P2.0 ;LED高電平亮
MOV P1,#0FFH ;置P1為輸入方式
CHECK_KEY: JB P1.0,$ ;等待按鍵
LCALL DELAY10MS ;去抖動(dòng)10ms
JB P1.0,CHECK_KEY ;確定有按鍵
LCALL DELAY1S ;延時(shí)1S后檢測(cè)按鍵
JB P1.0,short ;若已為高電平為短按
LCALL LED_FLASH ;若仍然為低電平為長(zhǎng)按
LCALL LED_FLASH
JNB P1.0,$ ;等鍵松開(kāi)
LCALL DELAY10MS ;去抖動(dòng)
SJMP CHECK_KEY ;返回循環(huán)
short: LCALL LED_FLASH ;閃爍1次
SJMP CHECK_KEY ;循環(huán)
LED_FLASH: SETB LED ;閃爍程序
LCALL DELAY500MS ;延時(shí)500ms
CLR LED
LCALL DELAY500MS
RET
DELAY10MS: MOV R2,#100
L1: MOV R3,#50
DJNZ R3,$
DJNZ R2,L1
RET
DELAY500MS: MOV R2,#100
L2: MOV R3,#250
DJNZ R3,$
DJNZ R2,L1
RET
DELAY1S: MOV R2,#200
MOV R3,#250
DJNZ R3,$
DJNZ R2,L1
RET
END
能寫(xiě)個(gè)C語(yǔ)言版的嗎? 謝謝!
我感覺(jué)C語(yǔ)言的難懂哦~
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |