数字钟课程设计武汉理工基础强化教学文稿.docx
- 文档编号:18462365
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:18
- 大小:518.42KB
数字钟课程设计武汉理工基础强化教学文稿.docx
《数字钟课程设计武汉理工基础强化教学文稿.docx》由会员分享,可在线阅读,更多相关《数字钟课程设计武汉理工基础强化教学文稿.docx(18页珍藏版)》请在冰点文库上搜索。
数字钟课程设计武汉理工基础强化教学文稿
数字钟课程设计武汉理工基础强化
摘要
基于89C51单片机设计数字钟,它是一种应用数字电路的方式实现时、分、秒计时的装置。
以89C51单片机作为核心控制器,通过硬件的连接完成一个数字钟系统,再根据系统编制相应的软件让整个系统工作。
本系统的计算部分全部在单片机里通过程序来完成。
显示部分通过数码管采用动态的方式把计算出的时、分、秒显示出来。
控制信号的读入采用查询的方式,因为程序的编写比较容易。
控制信号的输入和结果显示以及核心运算部分构成了整个系统,最后在PROTUES里画图并且仿真。
关键词:
单片机,数字钟,PROTUES,数码管
Abstract
Basing89C51microcontrollerdesigndigitalclock,itisatimingdevicetoachievetheapplicationofdigitalcircuits,theminuteandsecond.The89C51microcontrollerasthecorecontroller,thehardwareconnectioncompleteadigitalclocksystem,accordingtothepreparationofthecorrespondingsoftwaresystemforthewholesystemwork.Allpartsofthissystemarecalculatedbythemicrocontrollerintheprocesstocomplete.Thedigitaldisplaydisplayedthecalculatedthehours,minutes,secondsinadynamicway.Controlsignalreadusingthequery,becausethewritingprocesseasier.Controlsignalinputandresultsofoperationsandthecorepartsofthewholesystem,wherethefinaldrawingandsimulationinPROTUES.
Keywords:
Microcontroller,digitalclock,PROTUES,digital
数字钟设计
1设计任务及分析
1.1设计要求
设计七段码显示方式的数字钟。
该钟具有时、分、秒显示,时钟有十二进制与二十四进制两种选择。
设计有时、分、秒的校正功能。
1.2设计分析
根据要求设计数字钟,具有时、分、秒显示和调节功能。
主控制器采用89C51单片机,基于单片机的硬件电路连接比较容易,而且编程比较方便和简单。
对于整个系统的实现比较容易。
对于时、分、秒的调节由外电路来控制,通过对控制信号的查询读取送入单片机,在单片机内计算后通过数码管显示。
对于时间的处理是:
秒的变化是通过内部中断的方式,给单片机内部定时器设置1秒的计时时间,每当发生溢出中断就响应给秒数组值加1并显示;当秒值到达60时就把分数组值加1,同时让秒数组清零;时的操作依此类推。
2方案比较及选择
2.1LED显示方案的选择
方案1:
把所要显示的数据通过专用的七段显示芯片的转换输出给LED显示屏。
其优点是输出简单,可以简化程序,但增加了芯片的费用。
方案2:
通过软件把所要的数据转化为七段显示的数据,直接通过单片机接口来显示,其优点是简化了电路,但增加了软件编写的负担。
通过对方案的比较,选择通过软件编写来输出显示信号,比较简单经济。
2.2按键状态读取方案的选择
方案1:
把按键接到单片机的中断口,若有按键按下,单片机接收到中断信号,再通过软件编写的中断服务程序来执行中断,优点是接线简单,简化了电路,但软件编写较为复杂,不易掌握。
方案2:
不使用中断,直接把开关分别接在单片机的接口上,通过查询端口信号来动作。
其优点是程序得到简化,可读性加强。
通过对方案的比较,选择方案2通过查询方式来读取端口信号,相对来说编程和硬件电路都比较简单。
3.系统实现的原理
设计方案的总体结构图如图3-1所示:
图3-1设计方案结构图
原理阐述:
由图3-1所示,通过开关控制单元的输入设定时间,在单片机内处理后通过数码管显示,开关控制单元主要有时、分、秒时间设置的选择档,分别接P1.0和P1.1口。
还有一个时钟十二制和二十四制的选择档,接P1.2口。
P1.3口作为时间的加减设置。
数码管的显示码输入接P0口,位选接P2口。
秒的值每经过一秒钟自加1,时间间隔由内部时间计时器发生溢出中断调用中断服务子程序完成。
4.系统硬件设计
4.1总体电路设计
根据系统的要求,设计出的数字钟应该有控制端和显示端,这两部分的连接是通过89C51单片机来完成的,控制端主要由四个按键组成,它们都接单片机的P1口,数码管采用6位7段数码管,它的位选端是通过P2口控制的,显示码是由P0口输入的。
根据设计要求用PROTEUS画出的硬件连线图如下图4-1所示:
图4-1系统总体硬件电路图
4.2模块电路设计
4.2.1时间校正部分电路设计
时间设置部分电路图如下图4-2所示
图4-2时间校正部分电路图
如图4-2所示,P1.0口接时调节选通开关,P1.1口接分调节选通开关,P1.2口接十二进制和二十四进制选择开关,兼有秒调节选通功能,当P1.2口输入低电平时为十二进制方式,P1.3口为时间加减控制输入口,每按下一次可对时分秒分别进行加减操作。
具体的实现由内部的程序计算完成。
4.2.2显示模块电路设计
系统的显示部分电路接线图如图4-3所示:
图4-3系统的显示部分电路图
如图4-3所示,显示器采用的是6位7段数码管,数码管的显示码的输入端经上拉电阻接P0口,位选端是经收发器74LS245接到P2口。
数码管的显示编码已经编好放在计算机的内存中,时间的显示通过软件的计算把显示码调出显示。
5.系统软件设计
5.1系统总体流程图
软件设计思想:
内部设定时器,当达到1秒时发生中断给秒计数加1,当达到60时给秒计数清零并给分计数加1。
当分计数达到60时清零并给时计数加1,时计数分为十二进制和二十四进制,当在相应的进制下达到相应终值时清零。
系统总体流程图如图5-1所示:
给单片机复位
开始
开定时中断
秒计时并显示
控制信号?
时调节?
分调节?
秒调节?
Y
时或分或秒加减1
数码管显示
加减信号?
N
N
N
N
Y
Y
N
Y
图5-1系统软件总体流程图
5.2系统显示模块程序设计
设计说明:
显示模块是用6位7段数码管来显示时间。
先将显示码存入数组中,指向最左边一位,然后取出要显示的数据,指向换码表首地址,取出显示码,从P0口输出显示码,P2口输入位选码,显示时、分、秒,最后修改数组地址,求下一位位选码继续显示。
显示程序流程图如图5-2所示:
图5-2显示模块的程序流程图
5.3键盘扫描模块程序设计
设计说明:
控制信号由查询方式扫描键盘得到。
即P1.0置低时进入时调节模式,此时在按下第四个键即P1.3由高变低时,时就自加1;分校正类似,由P1.1来控制选择模式。
时钟的的十二进制和二十四进制由P1.2控制,低电平为十二进制高电平为二十四进制。
键盘扫描模块程序流程图如图5-3所示:
Y
N
N
N
Y
Y
图5-3键盘扫描模块流程图
6系统仿真结果
6.1系统仿真结果截图
开关按钮打到十二进制选择状态即P1.2置低电平。
此时的时间是09:
00:
39仿真截图如图6-1所示:
图6-1十二进制仿真结果截图
开关按钮打到二十四进制选择状态即P1.2置高电平。
此时的时间是21:
00:
39仿真截图如图6-2所示:
图6-2二十四进制仿真结果截图
6.2系统仿真结果分析
数字钟系统上电复位后,初始值设定为12:
00:
00,对当前时间进行校准,当在二十四进制下进行校准后,得到当前时间为21:
00:
39如图6-2所示时,立刻将其转换为十二进制模式下,即给P1.2口置低电平,此时就会显示09:
00:
39如图6-1所示。
可见在保证时间正确的情况下,可以将二十四进制的时间直接转换到十二进制下,这里主要是通过软件来完成的,当系统检测到进制的转换信号后,就会把二十四进制的时间通过把时当前值减去12得到。
对于0点的转换是通过赋值的方式直接变为十二进制下的12点。
当需要把十二进制转换为二十四进制时,也可以通过软件的方式直接转换不改变时间的正确性且需要对时间进行重新校准。
其转换的原理相同。
心得体会
真的很辛苦,不过终于我的设计完成了。
这一刻不仅是高兴,更多的是激动。
此刻我也真正的学到了很多东西。
已经不知道去过图书馆多少次查阅资料,一次一次的仿真实验,一次一次的方案设计,一次一次的编制程序。
在经历过无数次的失败,我终于成功了。
得到了理想的仿真结果。
看着自己的课程设计,真的无比的高兴,心中充满成就感。
通过本次课程设计,我得到了以往不曾有过的体会与经验。
将自己学到的理论知识通过本次课程设计应用到了实际应用当中,提高了自己各方面的能力。
同时也加深了自己对于相关课程基础理论知识的理解和掌握,学会了综合运用所学知识。
学会了应用所学的知识在实际硬件电路上编程完成所需功能。
对单片机的应用有了进一步的掌握。
懂得了如何去发现问题,思考问题,解决问题。
通过这次基础强化的课程设计,我学会了灵活的运用单片机,更学会了如何灵活的使用单片机的中断功能,使对于计时的应用更为精确。
最后,我最大的收获就是:
失败是成功之母,只要努力就会有收获。
参考文献:
[1]张义和、王敏男等编著.《例说51单片机》.北京:
人民邮电出版社.2008
[2]陈涛编著.《单片机应用及C51程序设计》.北京:
机械工业出版社,2010
[3]齐向东、刘立群编著.《单片机控制技术实践》.北京:
中国电力出版社,2009
[4]孙晓明.EDA实验指导书.武汉:
武汉理工大学教材中心,2007.
[5]张靖武,周灵彬编著.《单片机系统的PROTEUS设计与仿真》.北京:
电子工业出版社,2007.
附录本设计所用的C程序清单
#include
#include
#include
#defineuncharunsignedchar
sbitKH=P1^0;
sbitKM=P1^1;
sbitKT=P1^2;
sbitKB=P1^3;
uncharhour,minite,second,second20;
unchardisplay_buff[6];
unchardisplay_code[10]={0x3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};//数码管显示码
voiddelay(unchart)//延时子程序
{
unchari,j;
for(i=0;i<=t;i++)
for(j=0;j<=140;j++)
_nop_();
}
voiddisplay(void)//显示子程序
{
unchari;
P2=0xfe;
P0=0;
for(i=0;i<6;i++)
{
P0=display_buff[i];
delay
(2);
P0=0;
P2=_crol_(P2,1);
}
}
voidtimer3_ISR(void)interrupt3using0
{
TH1=0X3C;
TL1=0X0B0;//秒计时
second20++;
if(second20==16)
{
second20=0;
second++;
if(second==60)
{
second=0;
minite++;//分钟处理
if(minite==60)
{
minite=0;
hour++;
if(hour==24&&KT==1)
{
hour=0;
}
if(hour==12&&KT==0)//小时处理
{
hour=1;
}
}
}
}
}
voidtimer0_ISR(void)interrupt1using0
{
TH0=0x03c;
TL0=0x0b;
if(KT==0&&hour>12)
hour=hour-12;
if(KT==0&&(hour==24||hour==0))//十二进制和二十四进制转换
hour=12;
if(KH==0)
{
if(KB==0)
{
while(KB==0);
hour++;
if(KT==1&&hour==24)//十二进制和二十四进制转换
{
hour=0;
KB=1;
}
if(KT==0&&hour>12)//十二进制和二十四进制转换
{
hour=hour-12;
KB=1;
}
}
}
if(KM==0)//键盘控制信号处理
{
if(KB==0)
{
while(KB==0);
minite++;
if(minite==60)
minite=0;
KB=1;
}
}
if(KM==1&&KH==1)
{
if(KB==0)
{
while(KB==0);
second++;
if(second==60)
second=0;
KB=1;
}
}
}
voidinit(void)//程序的初始化(内部计数器的初始化)
{
TMOD=0X11;
TH1=0X3C;
TL1=0X0B0;
TF1=0;
TR1=1;
TH0=0x3c;
TL0=0x0b;
TF0=0;
TR0=1;
hour=0;
minite=0;
second=0;
ET1=1;
ET0=1;
EA=1;
}
voidmain(void)//主程序开始
{
init();
while
(1)
{
display_buff[5]=display_code[hour/10];
display_buff[4]=display_code[hour%10]|0x80;
display_buff[3]=display_code[minite/10];
display_buff[2]=display_code[minite%10]|0x80;
display_buff[1]=display_code[second/10];
display_buff[0]=display_code[second%10];
display();
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字钟课程设计 武汉理工基础强化教学文稿 数字 课程设计 武汉理工 基础 强化 教学 文稿
![提示](https://static.bingdoc.com/images/bang_tan.gif)