標(biāo)題:
匯編語(yǔ)言led按鍵循環(huán)顯示加蜂鳴器響應(yīng)程序
[打印本頁(yè)]
作者:
1204927884
時(shí)間:
2024-4-17 21:22
標(biāo)題:
匯編語(yǔ)言led按鍵循環(huán)顯示加蜂鳴器響應(yīng)程序
(1)編寫程序,按下 S2,S3,S4,S4 任何一個(gè)按鍵的時(shí)候,蜂鳴器都鳴叫,松開按鍵的時(shí)候蜂鳴器停止鳴叫。(2)開始的時(shí)候,數(shù)碼管左邊位不顯示,右邊位數(shù)碼管顯示數(shù)值 0,每按一次 S4 按鍵,數(shù)碼管顯示值加 1,直至 9,再循環(huán)從 0 顯示到 9。
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV DPTR,#TAB
MOV R4,#99
MOV 20H,#0 ;顯示緩存單元清 0,20H 為個(gè)位,21H 為十位
MOV 21H,#0
CLR P2.7 ;停蜂鳴器
RETURN: ACALL DISP ;調(diào)用顯示程序
KEY: JNB P2.0,SOUND ;判斷有無(wú)鍵按下并轉(zhuǎn)相應(yīng)入口
JNB P2.1,SOUND ;P1.0,P1.1,P1.2 任意鍵按下,蜂鳴器響
JNB P2.2,SOUND
JNB P2.3,DISADD ; P2.3 按下,緩存低 8 位單元加 1
AJMP RETURN ;無(wú)鍵按下轉(zhuǎn)
SOUND: ACALL DELAY;延時(shí) ;鍵盤消抖
JNB P2.0,BEEP ;確實(shí)有鍵按下,轉(zhuǎn)蜂鳴器響
JNB P2.1,BEEP
JNB P2.2,BEEP
SJMP KEY ;屬于鍵抖動(dòng),轉(zhuǎn) KEY
BEEP: SETB P2.7
BEEP1: JNB P2.0,GO ;鍵是否釋放,未釋放轉(zhuǎn) GO 繼續(xù)等待
JNB P2.1,GO
JNB P2.2,GO
CLR P2.7 ;鍵釋放,清蜂鳴器
AJMP RETURN ;返回,繼續(xù)刷新顯示,等待按鍵
GO: AJMP BEEP1
DISADD: ACALL DELAY;延時(shí) ;蜂鳴器按鍵消抖
WEISF: SETB P2.7
JNB P2.3,WEISF
CLR P2.7
DJNZ R4,GG
MOV 20H,#1
MOV 21H,#0
MOV R4,#99
SJMP RETURN
GG: MOV A,20H ;顯示個(gè)位單元加 1
INC A
MOV 20H,A
CJNE A,#10,RETURN
MOV 20H,#0
MOV A,21H ;顯示十位單元加 1
INC A
MOV 21H,A
CJNE A,#10H,RETURN
MOV 21H,#0
AJMP RETURN
DISP: MOV A,20H ;顯示程序
MOVC A,@A+DPTR
CLR P2.6
CLR P2.5
CLR P2.4
MOV P0,A
ACALL DELAY
MOV A,21H
MOVC A,@A+DPTR
CLR P2.6
CLR P2.5
SETB P2.4
MOV P0,A
ACALL DELAY
RET
DELAY: MOV R2,#40 ;延時(shí)程序
HER1: MOV R3,#125
HER: DJNZ R3,HER
DJNZ R2,HER1
RET
TAB: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H ;共陽(yáng)極段碼
END
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1