当前位置:首页 > 单片机 > 单片机
[导读] ;**************************************************;带键盘设置的秒计时器;功能:倒计时的秒计时器,从59倒计到0,然后又从59开始倒计到0;;各个键的功能;S1:开始运行;S2:停止运行;S3:高位加1,按

;**************************************************
;带键盘设置的秒计时器
;功能:倒计时的秒计时器,从59倒计到0,然后又从59开始倒计到0;
;各个键的功能
;S1:开始运行
;S2:停止运行
;S3:高位加1,按一次,数码管的十位加1,从0-5循环变化
;S4:低位加1,按一次,数码管的个位加1,从0-9循环变化

;**************************************************
KEYOKBIT 00H
STARTRUNBIT01H
VALUEEQU21H
SETVALEQU22H;设置值
COUNTEREQU23H;用于显示的计数器
COUNTEQU24H;秒计数器
KEYVALEQU25H
DISPBUFEQU5EH
FIRSTBITP2.7;第一位数码管的位控制
SECONDBITP2.6;第二位数码管的位控制
P1LEDEQU22H
TMRVAREQU60110;65536-5000*12/11.0592定时器初值5毫秒

ORG0000H
JMPSTART
ORG0*8+3;INT0中断入口
RETI
ORG1*8+3;TIMER0中断入口
JMPINT_T0;转去定时器0中断服务程序入口
ORG2*8+3;INT1中断入口
RETI
ORG3*8+3;TIMER1中断入口
RETI
ORG4*8+3;串行中断入口
RETI
START:
MOV SP,#5FH
MOV P1,#0FFH;所有LED全部熄灭
MOV VALUE,#0
MOV P1LED,#0FEH
MOV SETVAL,#59
MOV VALUE,SETVAL
MOV DISPBUF,#5
MOV DISPBUF+1,#9
CLRSTARTRUN
CLRKEYOK
CALLINIT_T0
SETBEA
LOOP:
CALLKEY;调用键盘程序
JBKEYOK,KEYPROC;如果有键按下,转键盘处理
NEXT:
MOV A,VALUE;获得秒的数值
MOV B,#10
DIVAB;二进制转化为十进制,十位和个位分送显示缓冲区
NEXT1:
MOV DISPBUF,A
MOV DISPBUF+1,B;个位送显示缓冲区
JMPLOOP
;以下是键值处理
KEYPROC:
MOV A,KEYVAL;取得键值
JZKEYRUN;如果键值是0
DECA
JZKEYSTOP;如果键值是1
DECA
JZKEYLEFT;如果键值是2
JMPKEYRIGHT;键值是3,转
KEYRUN:
SETBSTARTRUN
JMPLOOP
KEYSTOP:
CLRSTARTRUN
JMPLOOP
KEYLEFT:
CLRSTARTRUN
INCDISPBUF
MOV A,DISPBUF
CJNEA,#6,LEFT0
MOV A,#0
LEFT0:
MOV B,#10
MULAB
MOV SETVAL,A
MOV VALUE,SETVAL
JMPLOOP
KEYRIGHT:
CLRSTARTRUN
INCDISPBUF+1
MOV A,DISPBUF+1
CJNEA,#10,REFT0
MOV DISPBUF+1,#0
REFT0:
MOV A,DISPBUF
MOV B,#10
MULAB
ADDA,DISPBUF+1
MOV SETVAL,A
MOV VALUE,SETVAL
JMPLOOP
;键盘程序
KEY:
MOV P3,#0FFH
CLRKEYOK
MOV A,P3
ORLA,#11000011B
CPLA
JZKEY_RET
CALLDELAY
MOV A,P3
ORLA,#11000011B
CPLA
JZKEY_RET
SETBKEYOK
JNBACC.2,KEY_1;S1没有按下,转
MOV KEYVAL,#0
JMPKEY_RET
KEY_1:
JNBACC.3,KEY_2;S2没有按下,转
MOV KEYVAL,#1
JMPKEY_RET
KEY_2:
JNBACC.4,KEY_3
MOV KEYVAL,#2
JMPKEY_RET
KEY_3:
MOV KEYVAL,#3
KEY_RET:
MOV A,P3
ORLA,#11000011B
CPLA
JNZKEY_RET
RET

DELAY:
PUSHPSW
SETBRS0
MOV R7,#50
D1: MOV R6,#50
D2:DJNZR6,D2
DJNZR7,D1
POPPSW
RET

INIT_T0:;初始化T0为5毫秒的定时器
MOV TMOD,#01H
MOV TH0,#HIGH(TMRVAR)
MOV TL0,#LOW(TMRVAR)
SETBET0;开T0中断
SETBTR0;定时器0开始运行
RET;返回

;以下是中断程序,实现秒计数和显示
INT_T0:;定时器T0的中断响应程序
PUSHACC;ACC入栈
PUSHPSW;PSW入栈
MOV TH0,#HIGH(TMRVAR)
MOV TL0,#LOW(TMRVAR)
INCCOUNT;软件计数器加1
MOV A,COUNT
CJNEA,#20,INT_N2
MOV COUNT,#0;计到20,软件计数器清0
INT_N1:
JNBSTARTRUN,INT_N2;停止运行,转
DECVALUE;计数器减1
MOV A,VALUE
JNZINT_N2;不等于0,转
MOV VALUE,SETVAL;否则,再置初值
INT_N2:;以下是显示部份
SETBFIRST
SETBSECOND;关显示
MOV A,#DISPBUF;显示缓冲区首地址
ADDA,Counter
MOV R0,A
MOV A,@R0;根据计数器的值取相应的显示缓冲区的值
MOV DPTR,#DISPTAB;字形表首地址
MOV CA,@A+DPTR;取字形码
MOV P0,A;将字形码送P0位(段口)
MOV A,Counter;取计数器的值
JZDISPFIRST;如果是0则显示第一位
CLRSECOND;否则显示第二位
AJMPDISPNEXT
DISPFIRST:
CLRFIRST;显示第一位
DISPNEXT:
INCCounter;计数器加1
MOV A,Counter
DECA;如果计数器计到2,则让它回0
DECA
JZRSTCOUNT
AJMPDISPEXIT
RSTCOUNT:
MOV Counter,#0;计数器的值只能是0或1
DISPEXIT:
POPPSW
POPACC
RETI
DISPTAB:DB28H,7EH,0a4H,64H,72H,61H,21H,7CH,20H,60H
END


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭