简易单片机电子时钟Word格式.docx
- 文档编号:21921213
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:9
- 大小:64.13KB
简易单片机电子时钟Word格式.docx
《简易单片机电子时钟Word格式.docx》由会员分享,可在线阅读,更多相关《简易单片机电子时钟Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
一般要求有年、月、日、时、分、秒,不足秒的部分也要一个单元来存放。
在要求低一些的系统中可以不要年和月,甚至不要日。
为了便于使用,每个数据单独用一个单元来存放,数据格式采用BCD码,可以直接用于显示和打印;
但是这也有缺点,时间计算不方便。
(3)时钟的运行:
时钟的运行由初始化、启动和正常运行三个阶段构成。
时钟系统的初始化是系统化中的一个内容,包括对时间值的初始化、设置定时器工作方式和中断安排。
实验程序流程图
主程序
程序清单及相关说明
ORG0000H程序从0000HD地址开始运行
LJMPMAIN转道主程序
ORG001BH定时∕计数器1中断地址
LJMPTFINT转到定时∕计数器1中断服务程序
MSEQU#5E10H毫秒单元地址
SECEQU#5E11H秒单元地址
MINEQU#5E12H分单元地址
HOUEQU#5E13H时单元地址
MAIN:
LCALLCLR1调用清0子程序
LCALLINT00调用定时∕计数器1出始化程序TIMER1:
LCALLCON调用显示缓冲区写入子程序
LCALLDISPLAY调用显示子程序
LJMPTIMER1转道显示缓冲区写入子程序
CLR1:
MOVR0,#04H清0单元个数控制
MOVDPTR,MS毫秒单元地址
MOVA,#00H清0毫秒、秒、分、时
LOOP:
MOVX@DPTR,A
INCDPTR
DJNZR0,LOOP4个单元清0控制
RET
INT00:
MOVTMOD,#10H设置定时∕计数器1的工作方式
MOVTH1,#7DH预置数设置
MOVTL1,#0CBH
SETBPT1设定开放定时∕计数器1的优先级高
SETBET1开放定时∕计数器1中断
SETBEA开放中断大门
SETBTR1启动定时∕计数器1
RET返回主程序
CON:
MOVDPTR,MS毫秒单元地址送给数据指针
MOVXA,@DPTR读毫秒数据
MOVR0,A暂存在R0寄存器中
ANLA,#0F0H只取毫秒十位
SWAPA送累加器A的个位
MOV31H,A毫秒十位送31H单元
MOVA,R0恢复毫秒数据
ANLA,#0FH去毫秒的个位
MOV30H,A送30H单元
MOVDPTR,SEC秒数据拆分
MOVXA,@DPTR
MOVR0,A
ANLA,#0F0H
SWAPA
MOV33H,A秒十位送33H单元
MOVA,R0
ANLA,#0FH
MOV32H,A秒个位送32H单元
MOVDPTR,MIN分数据拆分
MOVXA,@DPTR
MOVR0,A
SWAPA
MOV35H,A分十位送35H单元
MOVA,R0
ANLA,#0FH
MOV34H,A分十位送34H单元
MOVDPTR,HOU时数据拆分
MOVXA,@DPTR
MOVR0,A
ANLA,#0F0H
MOV37H,A时十位送37H单元
MOVA,R0
ANLA,#0FH
MOV36H,A时个位送36H单元
RET
TFINT:
MOVTL1,#0CBH重装定时/计数器1的设定值
MOVTH1,#7DH
PUSHDPL数据指针压栈保护
PUSHDPH
PUSHACC累加器A压栈保护
PUSHPSW
MOVDPTR,MS毫秒单元计时
ADDA,#01H毫秒单元加1
DAA转换成2位十进制数
MOVX@DPTR,A
CJNEA,#20H,END没到1秒,转
MOVA,#00H到1秒,毫秒单元清0
MOVX@DPTR,A
MOVDPTR,SEC秒单元计时
ADDA,#01H到1秒,秒单元加1
DAA转换成2位十进制数
CJNEA,#60H,END没到1分,转
MOVA,#00H到1分,秒单元清0
MOVDPTR,MIN分单元计时
MOVXA,@DPTR
ADDA,#01H到1分,分单元加1
DAA转换成2位十进制数
CJNEA,#60H,END没到1小时,转
MOVA,#00H到1小时,分单元清0
MOVDPTR,HOU时单元计时
ADDA,#01H到1小时,时单元加1
MOVX@DPTR,A
CJNEA,#24H,END没到24小时,转
MOVA,#00H到24小时,时单元清0
END:
POPPSW数据恢复
POPACC
POPDPH
POPDPL
RETI返回断点
DISPLAY:
MOVA,#03H8155的控制字
MOVDPTR,#0FF20H8155的控制口送DPTR
MOVR0,#32H显示缓冲区首地址送R0
MOVR2,#00000001B位扫描控制字送R2
MOVA,R2
LP0:
MOVDPTR,#0FF21H8155的PA口地址送DPTR
MOVA,@R0取显示数据
MOVDPTR,#TAB指向转换码表首地址
MOVCA,@A+DPTR取出段选码
MOVDPTR,#0FF22H8155的PB口地址送DPTR
MOVX@DPTR,A送出显示
ACALLDLY调延时子程序
INCR0数据缓冲区地址加1
JBACC.6,LP1扫描到最左面的显示器了吗?
RLA没到,左移一位
MOVR2,A
AJMPLP0
LP1:
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
共阳极段选码表:
“0”“1”“2”“3”“4”“5”“6”“7”“8”“9”
DLY:
MOVR7,#02H延时1ms子程序
DL:
MOVR6,#0FFH
DL1:
DJNZR6,DL1DJNZR7,DL
RET
设计总结
紧张而又忙碌的、为期一周的单片机课程设计结束了,在这短短的一周时间里,我学到了很多书本上学不到的知识。
我们组抽到的题目是“时钟程序设计(电子时钟)”。
刚开始时,大家在一起讨论这个题目,但是索赔有的思路总是不太清晰,后来大家分头行动,分别通过“到图书馆查阅资料”、“上网查阅资料”,……,进行相关资料的搜集。
最后大家将搜集到资料汇集到一起,又经过一番讨论,电子时钟的源程序终于被我们讨论出来了,并通过了实际的检验。
一周的时间是短暂的,但是在这短暂的一周时间里,我们学到的东西,却很多很多,这些知识对我们日后的影响也是很大的。
“时实践是检验真理的唯一标准”,我们在书本上学到的是知识,可是如果我们无法把学到的东西运用到实际工作、生活中,那我们就是在“死读书”、“读死书”,我们所学到的也就全部是“死知识”。
只有我们将课堂上学到的知识活学活用,才能更好地发挥它的作用。
我们在这次设计过程中,学到的更多的是怎么样发挥自己的潜力。
“一个人的能力是有限的,但是他的潜力是无限的”,我们要在平时的工作、学习、生活过程中,努力发展自己的潜力,使自己的工作、学习、生活更加的出色,也使自己的各项能力达到充分的发挥与提高。
让我们珍惜每一次设计与实训的机会,充分锻炼自己的动手能力,充分的发挥自己的潜力,使自己在这个优胜劣汰的、竞争激烈的社会中处于不败之地。
这次设计的时间是短暂的,但是这个过程中对我们以后的学习、生活的影响却是十分巨大的,我们会珍惜每次设计的动手过程。
我们怀着预约的心情、饱满的激情、认真的态度憧憬着下一次设计、实训的到来。
参考文献
1、《单片机基础》李广弟北京航空航天大学
2、《MCS—51系列单片微型计算机原理与接口技术》曹素芬东北大学出版社
3、《单片微型计算机原理应用及接口技术》张迎新编著国际工业出版社
4、《MCS单片机应用系统实用指南》陈宝江编著机械工业出版社
5、《单片计算机原理应用》西安电子可大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 单片机 电子 时钟