关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 用单片机89C2051制作的延时控制器

用单片机89C2051制作的延时控制器

作者: 时间:2011-05-01 来源:网络 收藏

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

本文引用地址:https://www.eepw.com.cn/article/162125.htm

; ********** 显示子程序 **************
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



评论


相关推荐

技术专区

关闭