基于51单片机的数字钟设计毕业设计论文 精品.docx
- 文档编号:524029
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:41
- 大小:291.01KB
基于51单片机的数字钟设计毕业设计论文 精品.docx
《基于51单片机的数字钟设计毕业设计论文 精品.docx》由会员分享,可在线阅读,更多相关《基于51单片机的数字钟设计毕业设计论文 精品.docx(41页珍藏版)》请在冰豆网上搜索。
基于51单片机的数字钟设计毕业设计论文精品
武汉大学电子信息学院
电子系统综合设计课程论文
基于51单片机的数字钟设计
2010年6月20日
1作品的背景与意义
时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。
怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?
这就要求人们不断设计出新型时钟。
现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
现在我们利用单片机实现数字时钟计时功能的主要内容,其中AT89C51是核心元件同时采用数码管动态显示“时”,“分”,“秒”的现代计时装置。
与传统机械表相比,它具有走时精确,显示直观等特点。
它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点,除此外还实现了万年历和闹钟等的功能。
时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,时钟有两方面的含义:
一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:
一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:
DS1302,DS12887,X1203等都可以满足高精度的要求。
单片计算机即单片微型计算机。
(Single-ChipMicrocomputer),是集CPU、RAM、ROM、定时、计数和多种接口于一体的微控制器。
他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。
而51单片机是各单片机中最为典型和最有代表性的一种。
所以综上所述,此次实验中所完成的数字钟有着强大的功能和良好的市场前景,复合电子类产品的发展趋势。
2功能指标设计
2.1基本功能
1.设计一个精确的1秒定时器;
2.根据1秒定时器,设计一个带小时、分钟、秒的时钟,并将小时、分钟、秒显示在LED上;
3.设计小时、分钟、秒的修改按键,可分别调整小时、分钟、秒(按键设计参考电子表);
2.2拓展功能
1.增加小时、分钟、秒的键盘直接修改功能;
2.设计闹钟功能,最多支持5个闹钟,可分别查看和修改闹钟时间,可分别设置闹钟开关。
3.增加万年历功能。
3作品方案设计
3.1设计要求
基本设计
1.设计一个精确的一秒定时器
2.运用一秒的定时器设计出有时、分、秒的数字钟,并显示在LED数码管上
3.设置按键,能够修改数字钟时间
扩展设计:
1.设计闹钟功能,能够查看和修改闹钟时间及开关状态
2.设计万年历功能,实现日→月→年的正常进位,能够查看和修改年月日,能够自动区分大小月和平闰年
3.2模块划分
●初始化程序
设定初值,中断初始化
●主程序
程序主要执行部分,对子程序(显示、按键设置,闹钟、万年历功能)进行调用
●定时器中断服务
中断走时:
秒→分→时
●显示程序
刷新8位数码管来显示时间、日期及扩展功能设置界面
●按键设置
通过对按键的操作实现时间及扩展功能的设置。
●闹钟功能
修改闹铃时间,闹铃开关的置换,修改位闪烁加以区分
●万年历功能
修改日期,同样的修改位闪烁加以区分
3.3模块设计概述
1.按键设置
通过调整选择键SET_KEY选择调整位,选中位开始闪烁,此时再按增加键ADD_KEY或减少键DEC_KEY调整选中位,如果长按ADD_KEY或DEC_KEY,系统识别后则进行调时快进,此时停止闪烁,方便人眼观察。
同时还增加了调秒功能:
如果选中位是秒,则按增加键或减少键都是将秒清零。
3.时间设置
进入时间设置界面后,通过调整选择键SET_KEY选择调整位,选中位闪烁。
按增加键ADD_KEY或减少键DEC_KEY设置所需要的时间。
4.闹钟设置
进入闹钟设置界面后,通过调整选择键SET_KEY选择调整位,选中位闪烁。
按增加键ADD_KEY或减少键DEC_KEY设置所需要的时间。
与时间设置不同的是,闹钟设置里增加了开关设置。
5.万年历设置
进入万年历设置界面后,通过调整选择键SET_KEY选择调整位,选中位闪烁。
按增加键ADD_KEY或减少键DEC_KEY设置所需要的时间。
万年历设置里增加了大小月和平闰年的判别。
4软件设计
4.1主程序流程图
4.2闹钟程序流程
4.3万年历程序流程
4.4中断系统结构图
附录一
附录二
/*****************************************************************************/
//初始化
MOVSP,#60H;栈指针地址赋值
MOV3CH,#0CH;设置界面修改位的闪烁频率具体代码在SERVE1秒中断服务中
MOV37H,#0FFH;临时地址预留给39H
MOV39H,#0FFH;段位标志8位数据对应8个数码管为0的那位数码管始终暗
MOV3AH,#11111101B;界面转换标志******01为时间界面取反后******10为万年历界面******00为设置闹钟界面
CLRA;时间万年历初始化时间00:
00:
00万年历2000。
01。
01
MOV23H,A;时
MOV22H,A;分
MOV21H,A;秒
MOV33H,#01H;日
MOV34H,#01H;月
MOV35H,A;年只能显示2000-2099的时间
MOV3DH,A;数码管闪烁开关初始化为关闭状态取反后11111111打开
MOV40H,A;闹钟设置界面预留地址地址
MOV41H,A
MOV42H,A
MOV43H,A
MOV44H,A
MOV45H,A
MOV46H,A
MOV47H,A
MOV50H,A;闹钟1时
MOV51H,A;闹钟1分
MOV52H,A;闹钟1秒
MOV0AH,A;闹钟1开关00000000为关闭状态取反后打开闹钟1
MOV53H,A;同上
MOV54H,A
MOV55H,A
MOV0BH,A
MOV56H,A
MOV57H,A;同上
MOV58H,A
MOV0CH,A
MOV59H,A;同上
MOV5AH,A
MOV5BH,A
MOV0DH,A
MOV5CH,A;同上
MOV5DH,A
MOV5EH,A
MOV0EH,A
**************************************************************/
ORG0000H ;程序入口地址
LJMPSTART
ORG000BH ;定时器0中断入口地址
LJMPTIMER_0
ORG0300H
/*****程序开始,初始化*****/
START:
SETB48H ;使用一个bit位用于调时闪烁标志
SETB47H ;使用一个bit位用于产生脉冲用于调时快进时基
MOVR1,#0 ;调整选择键功能标志:
0正常走时、1调时、2调分、3调秒
MOV20H,#00H ;用于控制秒基准时钟源的产生
MOV21H,#00H ;清零秒寄存器
MOV22H,#00H ;清零分寄存器
MOV23H,#00H ;清零时寄存器
MOV24H,#00H ;用于控制调时闪烁的基准时钟的产生
MOVIP,#02H ;IP,IE初始化
MOVIE,#82H
MOVTMOD,#01H ;设定定时器0工作方式1
MOVTH0,#3CH
MOVTL0,#0B0H ;赋定时初值,定时50ms
SETBTR0 ;启动定时器0
MOVSP,#40H ;重设堆栈指针
/*****主程序*****/
MAIN:
LCALLDISPLAY ;调用显示子程序
LCALLKEY_SCAN ;调用按键检测子程序
JZMAIN ;无键按下则返回重新循环
LCALLSET_KEY ;调用选择键处理子程序
JB46H,MAIN ;如果已进行长按调整(调时快进),则不再执行下面的单步调整
LCALLADD_KEY ;调用增加键处理子程序,加一
LCALLDEC_KEY ;调用减少键处理子程序,减一
LJMPMAIN ;重新循环
/*****定时器中断服务程序*****/
TIMER_0:
PUSHACC
PUSHPSW ;保护现场
MOVTH0,#3CH
MOVTL0,#0B0H ;重新赋定时初值
CPL47H ;产生脉冲用于调时快进时基
INC24H
MOVA,24H
CJNEA,#10,ADD_TIME ;产生0.5秒基准时钟,用于调时闪烁
CPL48H ;取反调时闪烁标志位
MOV24H,#00H
ADD_TIME:
;走时
INC20H
MOVA,20H
CJNEA,#20,RETI1 ;产生1秒基准时钟
MOV20H,#00H ;一秒钟时间到,清零20H
MOVA,21H
ADDA,#01H
DAA ;作十进制调整
MOV21H,A
CJNEA,#60H,RETI1
MOV21H,#00H ;一分钟到
MOVA,22H
ADDA,#01H
DAA
MOV22H,A
CJNEA,#60H,RETI1
MOV22H,#00H ;一小时到
MOVA,23H
ADDA,#01H
DAA
MOV23H,A
CJNEA,#24H,RETI1
MOV23H,#00H ;到24点,清零小时
RETI1:
POPPSW
POPACC ;恢复现场
RETI ;中断返回
/*****显示处理*****/
DISPLAY:
MOVA,21H ;秒
ANLA,#0FH
MOV2FH,A ;转换出秒个位,存入2FH
MOVA,21H
ANLA,#0F0H
SWAPA
MOV2EH,A ;转换出秒十位,存入2EH
JB46H,MIN ;如果长按按键(调时快进),则跳过闪烁处理程序
CJNER1,#3,MIN ;如果R1为3,闪烁秒位待调整
JB48H,MIN
MOV2FH,#0AH ;使该位为10,查表得到使该位不显示的输出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于51单片机的数字钟设计毕业设计论文 精品 基于 51 单片机 数字 设计 毕业设计 论文