標(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