文章搜索

矩阵键盘声音提示数码管输出

发表时间:2015-4-30  作者:admin  浏览次数:1378  
字体大小: 【小】 【中】 【大】

;本程序按下矩阵键盘的按钮实现数码管的0 1 2 3 4 5 6 7 8 9 A B C D E F,同时喇叭输出声音提示

;///////////////////////////////////////////
 org 0000h
 ajmp main
 org 000bh
 ajmp timer0
 org 0030h
main:
 mov 30h,#100
 mov tmod,#01h
 mov ie,#82h
 mov th0,#high(64536)
 mov tl0,#low(64536)
 mov dptr,#tab
 lcall key
 movc a,@a+dptr
 mov p0,a
 CLR P2.0
 ljmp main
timer0:   ;1ms timer
 mov th0,#high(64536)
 mov tl0,#low(64536)
 cpl p3.7
 djnz 30h,t_e
 mov 30h,#100
 clr tr0
t_e: reti
  
KEY: LCALL KS
     JNZ K1
     LCALL DELAY2
     AJMP KEY
K1:  LCALL DELAY2
     LCALL DELAY2
     LCALL KS
     JNZ K2
     AJMP KEY
K2:  setb tr0
 MOV R2,#0EFH
     MOV R4,#00H
K3: MOV P1,R2
L6: JB P1.0,L1 
     MOV A,#00H
     AJMP LK
L1: JB P1.1,L2
     MOV A,#04H
     AJMP LK
L2: JB P1.2,L3              
     MOV A,#08H
     AJMP LK
L3: JB P1.3,NEXT
     MOV A,#0cH
LK: ADD A,R4
     PUSH ACC
K4: LCALL DELAY2
     LCALL KS
     JNZ K4
     POP ACC
     
     RET
     
NEXT:
    INC  R4
    MOV A,R2
    JNB ACC.7,KEY
    RL A
    MOV R2,A
    AJMP K3
KS: MOV P1,#0FH
     MOV A,P1
     XRL A,#0FH
     RET
DELAY2:
      MOV R5,#08H
L7: MOV R6,#0FAH
L8: DJNZ R6,L8
     DJNZ R5,L7
     RET

tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh
end
 

本站已经获得中华人民共和国工信部、通信管理局审批通过 国家ICP备案序号: 赣ICP备13006653号-2

电工电子技术QQ群(1):66585281电工电子技术QQ群(2):197874883电工电子技术QQ群(3):29019650 

版权归刘昆山所有©2013-2020转载须经本人同意,否则后果自负!  《我的电子制作经验》www.dgdz.net All Rights Reserved.

管 理