数字钟课程设计武汉理工基础强化样本_第1页
数字钟课程设计武汉理工基础强化样本_第2页
数字钟课程设计武汉理工基础强化样本_第3页
数字钟课程设计武汉理工基础强化样本_第4页
数字钟课程设计武汉理工基础强化样本_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要基于89C51单片机设计数字钟,它是一种应用数字电路方式实现时、分、秒计时装置。以89C51单片机作为核心控制器,通过硬件连接完毕一种数字钟系统,再依照系统编制相应软件让整个系统工作。本系记录算某些所有在单片机里通过程序来完毕。显示某些通过数码管采用动态方式把计算出时、分、秒显示出来。控制信号读入采用查询方式,由于程序编写比较容易。控制信号输入和成果显示以及核心运算某些构成了整个系统,最后在PROTUES里画图并且仿真。核心词:单片机,数字钟,PROTUES,数码管AbstractBasing89C51microcontrollerdesigndigitalclock,itisatimingdevicetoachievetheapplicationofdigitalcircuits,theminuteandsecond.The89C51microcontrollerasthecorecontroller,thehardwareconnectioncompleteadigitalclocksystem,accordingtothepreparationofthecorrespondingsoftwaresystemforthewholesystemwork.Allpartsofthissystemarecalculatedbythemicrocontrollerintheprocesstocomplete.Thedigitaldisplaydisplayedthecalculatedthehours,minutes,secondsinadynamicway.Controlsignalreadusingthequery,becausethewritingprocesseasier.Controlsignalinputandresultsofoperationsandthecorepartsofthewholesystem,wherethefinaldrawingandsimulationinPROTUES.Keywords:Microcontroller,digitalclock,PROTUES,digital目录1设计任务及分析 11.1设计规定 11.2设计分析 12方案比较及选取 22.1LED显示方案选取 22.2按键状态读取方案选取 23系统实现原理 34系统硬件设计 44.1总体电路设计 44.2模块电路设计 54.2.1时间校正某些电路设计 54.2.2显示模块电路设计 65系统软件设计 75.1系统总体流程图 75.2系统显示模块程序设计 85.3键盘扫描模块程序设计 96系统仿真成果 106.1系统仿真成果截图 106.2系统仿真成果分析 11心得体会 12参照文献: 13附录本设计所用C程序清单 14数字钟设计1设计任务及分析1.1设计规定设计七段码显示方式数字钟。该钟具备时、分、秒显示,时钟有十二进制与二十四进制两种选取。设计有时、分、秒校正功能。1.2设计分析依照规定设计数字钟,具备时、分、秒显示和调节功能。主控制器采用89C51单片机,基于单片机硬件电路连接比较容易,并且编程比较以便和简朴。对于整个系统实现比较容易。对于时、分、秒调节由外电路来控制,通过对控制信号查询读取送入单片机,在单片机内计算后通过数码管显示。对于时间解决是:秒变化是通过内部中断方式,给单片机内部定期器设立1秒计时时间,每当发生溢出中断就响应给秒数组值加1并显示;当秒值到达60时就把分数组值加1,同步让秒数组清零;时操作依此类推。2方案比较及选取2.1LED显示方案选取方案1:把所要显示数据通过专用七段显示芯片转换输出给LED显示屏。其长处是输出简朴,可以简化程序,但增长了芯片费用。方案2:通过软件把所要数据转化为七段显示数据,直接通过单片机接口来显示,其长处是简化了电路,但增长了软件编写承担。通过对方案比较,选取通过软件编写来输出显示信号,比较简朴经济。2.2按键状态读取方案选取方案1:把按键接到单片机中断口,若有按键按下,单片机接受到中断信号,再通过软件编写中断服务程序来执行中断,长处是接线简朴,简化了电路,但软件编写较为复杂,不易掌握。方案2:不使用中断,直接把开关分别接在单片机接口上,通过查询端口信号来动作。其长处是程序得到简化,可读性加强。通过对方案比较,选取方案2通过查询方式来读取端口信号,相对来说编程和硬件电路都比较简朴。3.系统实现原理设计方案总体构造图如图3-1所示:数码管显示时间开关控制单元模块89c51单片机整体控制数码管显示时间开关控制单元模块89c51单片机整体控制图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所示:开始开始给单片机复位给单片机复位开定期中断开定期中断秒计时并显示秒计时并显示控制信号?YNN控制信号?YNNNNNN秒调节?分调节?时调节?秒调节?分调节?时调节?YYYYN加减信号?N加减信号?YY时时或分或秒加减1数码管显示数码管显示图5-1系统软件总体流程图5.2系统显示模块程序设计设计阐明:显示模块是用6位7段数码管来显示时间。先将显示码存入数组中,指向最左边一位,然后取出要显示数据,指向换码表首地址,取出显示码,从P0口输出显示码,P2口输入位选码,显示时、分、秒,最后修改数组地址,求下一位位选码继续显示。显示程序流程图如图5-2所示:显示数据显示码求下一位选码送位段码到P0口输出显示数据显示码显示数据显示码求下一位选码送位段码到P0口输出显示数据显示码动态显示子程序动态显示子程序取出要显示取出要显示时间据送位显码到P送位显码到P2输出延时延时图5-2显示模块程序流程图5.3键盘扫描模块程序设计设计阐明:控制信号由查询方式扫描键盘得到。即P1.0置低时进入时调节模式,此时在按下第四个键即P1.3由高变低时,时就自加1;分校正类似,由P1.1来控制选取模式。时钟十二进制和二十四进制由P1.2控制,低电平为十二进制高电平为二十四进制。键盘扫描模块程序流程图如图5-3所示:开始开始秒键按下?秒键按下?YY秒加1NNN秒加1NNN分键按下?分键按下?YYYY分加1分加1时键按下?时键按下?时加1时加1显示时间显示时间结束结束图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单片机》.北京:人民邮电出版社.[2]陈涛编著.《单片机应用及C51程序设计》.北京:机械工业出版社,[3]齐向东、刘立群编著.《单片机控制技术实践》.北京:中华人民共和国电力出版社,[4]孙晓明.EDA实验指引书.武汉:武汉理工大学教材中心,.[5]张靖武,周灵彬编著.《单片机系统PROTEUS设计与仿真》.北京:电子工业出版社,.附录本设计所用C程序清单#include<stdio.h>#include<reg51.h>#include<intrins.h>#defineuncharunsignedcharsbitKH=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){wh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论