首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
15路抢答器程序
来源:本站整理  作者:佚名  2011-08-04 10:14:49



Beep    BIT    P2.3

LED1    EQU    08H
LED2    EQU    09H
LED3    EQU    0AH
LED4    EQU    0BH
LedT0    EQU    0CH    ;0-3 轮流点亮4个数据管

    ORG 0000H 
    LJMP START    ;转入主程序

    ORG    000BH    
;=================================================        
;定时器0中断入口
INT_TO:
    PUSH    ACC
    PUSH    PSW

    CLR    TF0        ;清定时0中断标志
    MOV    TH0,#0F6H    ;2.5MS
    MOV    TL0,#03DH    ;

    MOV    A,#11110000B    ;关数码管
    ORL    P2,A

    MOV    A,LedT0
    CJNE    A,#0,INT_T0_1
    MOV    A,LED1
    MOVC    A,@A+DPTR
    MOV    P0,A
    CLR    P2.7    
    MOV    LedT0,#1
    LJMP    INT_T0_END
 INT_T0_1:
      
    MOV    A,LedT0
    CJNE    A,#1,INT_T0_2
    MOV    A,LED2
    MOVC    A,@A+DPTR
    MOV    P0,A
    CLR    P2.6    
    MOV    LedT0,#2
    LJMP    INT_T0_END
 INT_T0_2:
      
     MOV    A,LedT0
    CJNE    A,#2,INT_T0_3
    MOV    A,LED3
    MOVC    A,@A+DPTR
    MOV    P0,A
    CLR    P2.5    
    MOV    LedT0,#3
    LJMP    INT_T0_END
 INT_T0_3:
      
    MOV    A,LED4
    MOVC    A,@A+DPTR
    MOV    P0,A
    CLR    P2.4    
    MOV    LedT0,#0
    LJMP    INT_T0_END
      
 INT_T0_END:

    POP    PSW    
    POP    ACC

RETI

;=============================================

START:
    MOV    SP,#60H
    

    MOV    TMOD,#01H    ;设定T0为十六位定时模式。
    MOV    TH0,#0F6H    ;2.5MS
    MOV    TL0,#03DH    ;
    SETB    TR0        ;开定时器0
    SETB    ET0        ;致能定时0中断
    CLR    TF0        ;清定时0中断标志
    SETB    EA        ;开总中断

    MOV    LedT0,#00H
    MOV    DPTR,#TABLE

    MOV    LED1,#10H
    MOV    LED2,#10H
    MOV    LED3,#10H
    MOV    LED4,#10H
;=============================================
SCAN:    
    ;按键扫描
    JNB    P3.2,KEY_SW1
    JNB    P3.3,KEY_SW2
    JNB    P3.4,KEY_SW3
    JNB    P3.5,KEY_SW4
    LJMP    SCAN
;=============================================
KEY_SW1:
    LCALL    DELAY_10MS    ;去抖动
    JB    P3.2,SCAN

    MOV    LED3,#0H
    MOV    LED4,#01
    CLR    P1.0        ;点亮LED
    CLR    Beep
    CALL    DELAY_100MS
    SETB    Beep
    CALL    DELAY_2S
    
    MOV    LED3,#10H
    MOV    LED4,#10H
    SETB    P1.0
    JMP    SCAN
;=============================================
KEY_SW2:
    LCALL    DELAY_10MS    ;去抖动
    JB    P3.3,SCAN

    MOV    LED3,#0H
    MOV    LED4,#02
    CLR    P1.1        ;点亮LED
    CLR    Beep
    CALL    DELAY_100MS
    SETB    Beep
    CALL    DELAY_2S
    
    MOV    LED3,#10H
    MOV    LED4,#10H
    SETB    P1.1
    JMP    SCAN
;=============================================
KEY_SW3:
    LCALL    DELAY_10MS    ;去抖动
    JB    P3.4,SCAN

    MOV    LED3,#0H
    MOV    LED4,#03
    CLR    P1.2        ;点亮LED
    CLR    Beep
    CALL    DELAY_100MS
    SETB    Beep
    CALL    DELAY_2S
    
    MOV    LED3,#10H
    MOV    LED4,#10H
    SETB    P1.2
    JMP    SCAN    
;=============================================
KEY_SW4:
    LCALL    DELAY_10MS    ;去抖动
    JB    P3.5,SCAN

    MOV    LED3,#0H
    MOV    LED4,#04
    CLR    P1.3    ;点亮LED
    CLR    Beep
    CALL    DELAY_100MS
    SETB    Beep
    CALL    DELAY_2S
    
    MOV    LED3,#10H
    MOV    LED4,#10H
    SETB    P1.3
    JMP    SCAN

;=============================================
DELAY_2S:
    MOV    R3,#200
    JMP    DELAY10MS
DELAY_100MS:
    MOV    R3,#10
    JMP    DELAY10MS
DELAY_10MS: 
    MOV    R3,#1
;=============================
DELAY10MS:
    MOV    R4,#20
DELAY10MSA:
    MOV    R5,#247
    DJNZ    R5,$
    DJNZ    R4,DELAY10MSA
    DJNZ    R3,DELAY10MS
RET
;=============================================
TABLE:
    DB    00101000B    ;0
    DB    11101011B    ;1
    DB    00110010B    ;2
    DB    10100010B    ;3
    DB    11100001B    ;4
    DB    10100100B    ;5
    DB    00100100B    ;6
    DB    11101010B    ;7
    DB    00100000B    ;8
    DB    10100000B    ;9
    DB    01100000B    ;A
    DB    00100101B    ;b
    DB    00111100B    ;C
    DB    00100011B    ;d
    DB    00110100B    ;E
    DB    01110100B    ;F
    DB    11110111B    ;-
    DB    11111111B    ;
END

关键词:

相关阅读

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:58,304.69000 毫秒