專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

矩陣鍵盤按鍵LED顯示相應(yīng)鍵值-匯編

作者:小牛   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2010年10月05日   【字體:
;/***********************************************************************************

;*  描述: 花費(fèi)了一天時間寫這個小程序,發(fā)表于此,以此為激勵自己繼續(xù)向著單片機(jī)前進(jìn)      *    
;*            按矩陣鍵盤上的鍵對應(yīng)的LED顯示相應(yīng)鍵值 *    
;*            矩陣鍵盤定義:                        *
;*            P1.1-P1.3為行線,P1.4-P 1.7為列線         *
;             P0口接led顯示                                                                                                                       *     
;********************************************************************************/


ORG 0000H
    JMP MAIN

MAIN:
     MOV P0,#0FFH   ;初始化端口口
     MOV P1,#0FFH

 

KEYDOWN:        ;;;;判斷是否有鍵按下部分
     MOV P1,#0F0H
     LCALL DELAY
     MOV A,P1

     CJNE A,#0F0H,KEYSCAN
     JMP KEYDOWN

 

KEYSCAN:   ;;掃描鍵值部分222
     MOV A,#00H
     MOV P1,#0F0H

     MOV A,P1
     CJNE A,#70H,N1
     MOV R4,#03H
        JMP NEXT
N1:     CJNE A,#0B0H,N2
       MOV R4,#02H
                 JMP NEXT
N2:     CJNE A,#0D0H,N3
       MOV R4,#01H
                 JMP NEXT
N3:     CJNE A,#0E0H,NEXT
        MOV R4,#00H
       JMP NEXT
   
NEXT:
     MOV P1,#00FH

     MOV A,P1

     CJNE A,#07H,N4
     MOV R3,#08H
       JMP NEXT1
N4:     CJNE A,#0BH,N5
       MOV R3,#04H
                 JMP NEXT1
N5:     CJNE A,#0DH,DISPLAY

       MOV R3,#00H
       JMP DISPLAY 

DISPLAY:                      ;顯示部分
     MOV A,R4
     ADD A,R3 
     MOV DPTR,#LEDTAB
     MOVC A,@A+DPTR
       MOV P0,A
                 LCALL DELAY
                 LCALL DELAY
     MOV P0,#0FFH
     LJMP KEYDOWN
   
    
DELAY:                     ;消抖延時部分   
           MOV  R6,#25
 D2:      MOV  R7,#100
                 DJNZ  R7,$
                 DJNZ  R6,D2
                 RET

 

LEDTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H

     END
關(guān)閉窗口

相關(guān)文章