您当前的位置:五五电子网电子知识单元电路时钟-定时电路[程序]单片机89C2051制作的延时控制器 正文
[程序]单片机89C2051制作的延时控制器

[程序]单片机89C2051制作的延时控制器

点击数:7849 次   录入时间:03-04 12:03:21   整理:http://www.55dianzi.com   时钟-定时电路
KEY:    SJMP MAIN1
    SJMP KEY1         ;依次为:KEY值+2,4,6,8,因为SJMP占2个字节
    SJMP KEY2         ;S1的KEYCODE=02H,S2: KEYCODE=04H
    SJMP KEY3         ;S3: KEYCODE=06H, S4: KEYCODE=08H
    SJMP KEY4
KEY1:    CLR TR0            ;时计数器加1
    MOV A,THBIN
    CLR C
    ADDC A,#01H
    MOV THBIN,A
    SUBB A,#24        ;24D
    JC KEY11
    MOV THBIN,#00H
KEY11:  SJMP MAIN1
    NOP
KEY2:    CLR TR0            ;分计数器加1
    MOV A,TMBIN
    CLR C
    ADDC A,#01H
    MOV TMBIN,A
    SUBB A,#60        ;60D
    JC KEY21
    MOV TMBIN,#00H
KEY21:  SJMP MAIN1
    NOP
KEY3:    CLR TR0            ;秒计数器加1
    MOV A,TSBIN
    CLR C
    ADDC A,#01H
    MOV TSBIN,A
    SUBB A,#60        ;60D
    JC KEY31
    MOV TSBIN,#00H
KEY31:  SJMP MAIN1    
    NOP
KEY4:    MOV TH0,#0DCH        ;退出校时状态
    MOV TL0,#00H
    SETB TR0
    SJMP MAIN1

; **********    显示子程序    **************
        ORG 0200H        
DISPLY: MOV A,TSBIN        ;秒计数器调入A
    MOV B,#0AH
    DIV AB             ;秒计数值÷10 (结果十位存于A,个位存于B)    
    SWAP A
    ORL A,#07H        ;显示秒的十位
    MOV P1,A
    MOV A,#DPS1
    ANL A,OUT
    MOV P3,A
    ACALL DSPDEL        ;延时(显示时)0.5ms
    MOV C,P3.7        ;读S4按键状态
    MOV A,#HIDE
    ANL A,OUT
    MOV P3,A
    JC NP1
    MOV KEYCODE,#08H    ;S4按下,键盘值=8    
NP1:    MOV P1,#0F7H        ;消隐
    NOP
    NOP
    NOP
    MOV A,B            ;显示秒的个位
    SWAP A
    ORL A,#07H
    MOV P1,A
    MOV A,#DPS0
    ANL A,OUT
    MOV P3,A
    ACALL DSPDEL
    MOV A,#HIDE
    ANL A,OUT
    MOV P3,A
    NOP
    NOP
    NOP
    MOV A,TMBIN        ;
    MOV B,#0AH
    DIV AB            ;
    SWAP A            ;显示分的十位
    ORL A,#07H
    MOV P1,A
    MOV A,#DPM1
    ANL A,OUT
    MOV P3,A
    ACALL DSPDEL
    MOV C,P3.7        ;检测S2是否按下
    MOV A,#HIDE
    ANL A,OUT
    MOV P3,A
    JC NP2
    MOV KEYCODE,#04H    ;S2按下,键盘值=4
    NOP
NP2:    MOV P1,#0F7H        ;消隐
    NOP
    NOP
    MOV A,B
    SWAP A            ;显示分的个位
    ORL A,#07H
    MOV P1,A
    ;MOV C,KEYPRE
    ;MOV P1.3,C
    SETB P1.3
    MOV A,#DPM0
    ANL A,OUT
    MOV P3,A
    ACALL DSPDEL
    MOV C,P3.7        ;判断S3是否按下
    MOV A,#HIDE
    ANL A,OUT
    MOV P3,A
    JC NP3
    MOV KEYCODE,#06H    ;若S3按下,键盘值=6
    NOP        
NP3:    MOV P1,#0F7H        ;消隐
    NOP
    NOP
    MOV A,THBIN        ;
    MOV B,#0AH    
    DIV AB            ;
    SWAP A            ;显示时的十位
    JNZ DISPLY1
    MOV A,#0F7H
DISPLY1:ORL A,#07H
    MOV P1,A
    MOV A,#DPH1
    ANL A,OUT
    MOV P3,A
    ACALL DSPDEL
    MOV A,#HIDE

上一页  [1] [2] [3]  下一页


本文关键字:单片机  控制器  程序  制作  时钟-定时电路单元电路 - 时钟-定时电路