问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

急 基于单片机的数字时钟

发布网友 发布时间:2022-04-30 08:22

我来回答

1个回答

热心网友 时间:2022-06-19 17:51

SECOND EQU 30H ;存储妙
MINITE EQU 31H ;存储分
HOUR EQU 32H ;存储时
SPEAKER BIT P3.7
HOURK BIT P3.2 ;时键
MINITEK BIT P3.3 ;分键
SECONDK BIT P3.0 ;妙键
FLAG BIT 00H
FLAG1S BIT 01H ;1S到标志位.
DISPBUF EQU 40H ; 段选标志
DISPBIT EQU 48H ; 位选通标志
T2SCNTA EQU 49H ; 中断次数
T2SCNTB EQU 4AH ; 中断次数
TEMP EQU 4BH ; 初始化位
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序名称:主程序
;功能描述;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 00H
LJMP START
ORG 0BH
LJMP INT_T0 ;T0中断入口
START: MOV SECOND,#00H ;妙初始化0
MOV MINITE,#00H ;分初始化0
MOV HOUR,#12 ;时始化送12
MOV DISPBIT,#00H ;位选通标志
MOV T2SCNTA,#00H ;标志
MOV T2SCNTB,#00H ;标志
CLR FLAG
CLR FLAG1S
SETB SPEAKER
MOV TEMP,#07FH ;初始位,让第一个位选通
LCALL DISP ;调用显示处理程序
MOV TMOD,#01H ;方式1
MOV TH0,#0F8H ;赋值20MS
MOV TL0,#030H
SETB TR0 ;开中断启动
SETB ET0
SETB EA
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序名称:按键程序
;功能描述;调整分,时
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
WT: JNB FLAG,CC
LCALL SPEAKING
CC: JB SECONDK,NK1 ;妙末按下,转去判断分键
LCALL DELY10MS ;按下,延时,消抖动
JB SECONDK,NK1 ;再次判断是否按下?
INC SECOND ;按下,按下一次加1
MOV A,SECOND ;送A判断
CJNE A,#60,NS60 ;妙末到60转分
MOV SECOND,#00H ;到了,回0
NS60: LCALL DISP
JNB SECONDK,$ ;等待妙键释放
NK1: JB MINITEK,NK2 ;跟妙键分析相似
LCALL DELY10MS
JB MINITEK,NK2
INC MINITE
MOV A,MINITE
CJNE A,#60,NM60
MOV MINITE,#00H
NM60: LCALL DISP
JNB MINITEK,$
NK2: JB HOURK,NK3 ;时键
LCALL DELY10MS
JB HOURK,NK3
INC HOUR
MOV A,HOUR
CJNE A,#24,NH24
MOV HOUR,#00H
NH24: LCALL DISP
JNB HOURK,$ ;等待时键释放
NK3: LJMP WT ;返回
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序名称:显示处理程序
;功能描述;,该程序实现时,分,秒计时转换为BCD码并存储在以47H起始地址的显示
;输出数据存储单元里,即显示缓冲区47H至40H单元
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DISP:
MOV A,#DISPBUF ;送40H
ADD A,#7 ;加8
;DEC A
MOV R1,A ;送47H
MOV A,HOUR ;送时
MOV B,#10
DIV AB
MOV @R1,A ;存储时十位
DEC R1 ;指向时个位
MOV A,B ;送时个位
MOV @R1,A ;存储时个位
DEC R1
MOV A,#10
MOV @R1,A
DEC R1
MOV A,MINITE ; 送分,处理与时处理类似
MOV B,#10
DIV AB
MOV @R1,A
DEC R1
MOV A,B
MOV @R1,A
DEC R1
MOV A,#10
MOV @R1,A
DEC R1
MOV A,SECOND ;送秒
MOV B,#10
DIV AB
MOV @R1,A
DEC R1
MOV A,B
MOV @R1,A
DEC R1
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序名称:显示程序
;功能描述;在LED上显示为12-12-12显示模式.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INT_T0:
MOV TH0,#0F8H ;重赋值
MOV TL0,#030H
MOV A,#DISPBUF ;段偏移存储
ADD A,DISPBIT ;位偏移量
MOV R0,A ;段偏移存储
MOV A,@R0 ;段偏移量
MOV DPTR,#TABLE ;指向字形表
MOVC A,@A+DPTR ;取字形
MOV P0,#0 ;防闪烁
MOV P0,A ; 字形选P1口显示
MOV A,DISPBIT ;位移偏量
MOV DPTR,#TAB ;指向位选
MOVC A,@A+DPTR ;取位选通
MOV P2,A ;位送P3口选通
INC DISPBIT ;位偏移加1
MOV A,DISPBIT ;位偏移送A
CJNE A,#08H,KNA ;八个数管码扫描完不?
MOV DISPBIT,#00H ;描完重新开始
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序名称:1秒计时程序
;功能描述;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KNA: INC T2SCNTA
MOV A,T2SCNTA
CJNE A,#100,DONE
MOV T2SCNTA,#00H
INC T2SCNTB
MOV A,T2SCNTB
CJNE A,#05H,DONE
SETB FLAG1S
MOV T2SCNTB,#00H
INC SECOND ;秒加1
MOV A,SECOND
CJNE A,#50,BB ;50S到.
MOV A,MINITE
CJNE A,#59,BB ;59分
SETB FLAG ;打开正点响标志.
BB: MOV A,SECOND
CJNE A,#60,NEXT ;秒超过60了没有? 没有,调用显示处理程序
MOV SECOND,#00H
INC MINITE ;分加1
MOV A,MINITE
CJNE A,#60,NEXT
MOV MINITE,#00H ;分超过60,清0
INC HOUR ;并时加1
MOV A,HOUR
CJNE A,#24,NEXT ;是否超过24小时?不是,则跳至NEXT
MOV HOUR,#00H
NEXT: LCALL DISP ; 调用显示处理程序
DONE: RETI ;中断返回
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H ;0到9字形(40表示横扛)
TAB: DB 07FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序名称:正点报时子程序
;功能描述; 前十秒报第一声,每隔一秒报一声.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SPEAKING:MOV R5,#6
AA: CLR SPEAKER
JNB FLAG1S,$ ;延时1S.
CLR FLAG1S
SETB SPEAKER
JNB FLAG1S,$
CLR FLAG1S
DJNZ R5,AA
CLR FLAG
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序名称:延时子程序
;功能描述;按键消抖调用.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DELY10MS:MOV R6,#10
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 AT89C52单片机数字时钟,怎么控制按钮让它可以设置时间 单片机做数字时钟,求程序 单片机数字时钟课程设计 1、 对比其他常见操作系统分析一下Linux操作系统的特点 单片机数字时钟设计 基于单片机的数字时钟怎么做? 第一次弄单片机,想实现一个数字时钟 单片机数字时钟原理 请问怎么用单片机做数字时钟 在单片机平台上搭建一个可调数字时钟,显示年月日时分秒怎么做 51单片机数字时钟调节时间 用单片机设计一个时钟,可显示时和分,可以调时间,也要有闹钟功能,要有设计的电路图 用单片机设计一个数字时钟 在单片机平台上搭建一个可调数字时钟的方案怎么写 葛根泡水喝有哪七大功效? 用单片机制作可调数字时钟要汇编语言程序的 三七粉与葛根粉与枸杞与菊花同时泡水喝能行吗? 怎么用单片机制作可调数字时钟 西洋参葛根三七泡水什么疗效 我有冠心病服葛根粉还是三七粉哪个效果好 梦见尿壶(尿灌子)里面有粑粑,在缸里(吃水的缸)是怎么回事? 梦里人家让我把她的尿罐拿走什么意思? 我做梦,梦见了两个家里有两个尿罐,闻到一股难闻的骚味 钉钉打印不用电脑行吗? 现在是党的第十几届几中全会? 十九届和十九大的区别? 党的十九大何时召开? 打印本地文件时钉钉需要登录吗? 中国共产党第十九届中央委员会简称 党的第十九届五中全会指出当今世界正经历百年未有之大变局新一轮什么深入发展? 十九大和十九届的区别是什么? 党的第十九次大会主题是什么 第19次全国代表大会主题 五一刘寺车管所上班吗? 盐城市车管所今年五一放假吗,具体怎么放的? 急!!!mysql安装不上!!! 西丽车管所2020年5月10号上班吗? 20205月5号常州今天车管所上班吗? 天津车管所5 1放几天假几号上班??? 2020年5月五日南通车管所上班吗?