毕业设计论文_基于at89c51单片机数字时钟设计内容摘要:

开始 启动定时器 按键检测 时间显示 18 图 42 按键处理流程图 N Y N Y N Y hour 加 1 显示时间 结束 开始 sceond 按键按下。 sceond 加 1 minute 按键按下。 minute 加 1 hour 按键按下。 19 定时器中断时是先检测 1秒是否到, 1 秒如果到,秒单元就加 1;如果没到,就检测 1 分钟是否到, 1分钟如果到,分单元就加 1;如果没到,就检测 1 小时是否到, 1小时如果到,时单元就加 1,如果没到,就显示时间。 图 43 定时器中断流程图 N 24 小时到。 分单元清零,时单元加 1 N N N Y Y 时单元清零 时间显示 中断返回 开始 一秒时间到。 60 秒时间到。 60 分钟到。 秒单元加 1 秒单元清零,分单元加 1 Y Y 20 时间显示是先 秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。 图 44 时间显示流程图 时十位计算显示 结束 开始 秒个位计算显示 秒十位计算显示 分个位计算显示 分十位计算显示 时个位计算显示 21 数字钟的原理图 用 PROTUES 软件,根据要求画出数字电子钟的原理图如下所示。 图 45 数字钟的原理图 在此有必要介绍一下数字电子钟的工作原理。 工作原理 : 数字电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计 时装置。 它的计时周期为 24 小时,显示满刻度为 23 时 59分 59秒,另外还有校时功能。 因此,一个基本的数字钟电路主要由显示器“时”,“分”,“秒”和单片机,还有校时电路组成。 8个数码管的段选接到单片机的 P0口,位选接到单片机的 P2 口。 数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元”,“秒单元”采用 60 进制计数器,每累计 60 秒发出一个“分脉冲”信号,该信号将作为“分单元”的时钟脉冲。 “分单元”也采用 60 进制计数器,每累计 60 分钟,发出一个“时脉冲”信号,该信号将被送到“时单元”。 “时单元”采用 24 进制计时器,可实现对一天 24 小时的累计。 显示电路将“时”、“分”、“秒”通过七段显示器显示出来。 校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整,校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整,按一下 second, 22 秒单元就加 1 ,按一下 minute,分就加 1,按一下 hour,时就加 1。 中断 子程序 timer0 (void) interrupt 1 using 1 { u++。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 } 延时 程序 void delay() { unsigned int time,p。 for(time=30。 time0。 time) for(p=0。 p10。 p++)。 } 主程序 和 定时器 中断 子程序 include char mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 char sceond,minute,hour,i,k,l,j,x,y。 int u。 sbit P1_0=P1^0。 sbit P1_1=P1^1。 sbit P1_2=P1^2。 void main() { TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 EA=1。 ET0=1。 TR0=1。 do { kongzhi()。 xianshi()。 } while(1)。 } 23 在这里,我们有必要介绍一下单片机的中断系统,以利于我们的学习。 中断技术在单片系统中有着十分重要的作用,它不仅可以提高单片机 CPU的效率,也可以对突发事件处理。 所谓中断就是当 CPU 正在执行程序 A 时,发生了另一个急需处理的事件 B,这是 CPU 暂停当前执行的程序 A,立即转去执行处理事件 B 的程序,处理完事件 B后,再返回到程序 A 继续执行,这个过程被叫做中断。 关于中断的概念有下列几个名词:( 1)程序 A称为主程序,( 2)处理事件 B 的程序称为中断服务程序,( 3)主程序中转向中断服务程序的地方称为断点,( 4)引起中断的原因即事件 B称为中断源,( 5)转去执行中断服务程序称为中断响应。 关于中断的概念可以打个如下的比喻。 领导( CPU)在自己的房间办公(执行主 程序),下属(外设)有问题打电话来请示(中断源),领导停下正在进行的工作,通过电话给下属做指示(执行中断服务程序),指示完后,领导挂断电话,继续做自己的工作(返回主程序继续执行)。 中断是一个过程,当中央处理器 CPU 在处理某件事情时,外部又发生了另一紧急事件,请求 CPU 暂停当前的工作而去迅速处理该紧急事件。 处理结束后,再回到原来被中断的地方,继续原来的工作。 引起中断的原因或发出中断请求的来源,称为中断源。 单片机一般允许有多个中断源,当几个中断源同时向 CPU 请求中断时,就存在CPU 优先响应哪一个中断请求源的 问题(优先级问题),一般根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求,于是便规定每一个中断源都有一个中断优先级别,并且 CPU 总是响应级别最高的中断请求。 当 CPU 正在处理一个中断源请求的时候,又发生了另一个优先级比它高的中断源请求,如果 CPU 能够暂时中止对原来中断处理程序的执行,转而去处理优先级更高的中断源请求,待处理完以后,再继续执行原来的低级中断处理程序,这样的过程称为中断嵌套。 LED 显示子程序 void xianshi() { if(u==20) { u=0。 sceond++。 while(sceond==60) { sceond=0。 minute++。 if(minute==60) { 24 minute=0。 hour++。 if(hour==24) { hour=0。 } } } } x=hour%10。 y=hour/10。 l=minute%10。 j=minute/10。 i=sceond%10。 k=sceond/10。 P2=0x7f。 P0=mod[i]。 delay()。 P2=0xbf。 P0=mod[k]。 delay()。 P2=0xdf。 P0=0x40。 delay()。 P2=0xef。 P0=mod[l]。 delay()。 P2=0xf7。 P0=mod[j]。 delay()。 P2=0xfb。 P0=0x40。 delay()。 P2=0xfd。 P0=mod[x]。 delay()。 P2=0xfe。 P0=mod[y]。 25 delay()。 } 按键控制子程序 void kongzhi() { if(P1_0==0) { TR0=0。 while(P1_0==0)。 while(1) { if(P1_1==0) { sceond++。 if(sceond==60) { sceond=0。 } } while(P1_1==0)。 if(P1_2==0) { sceond。 if(sceond0) { sceond=0。 } } while(P1_2==0)。 i=sceond%10。 k=sceond/10。 P2=0x7f。 P0=mod[i]。 delay()。 P2=0xbf。 26 P0=mod[k]。 delay()。 if(P1_0==0) { while(P1_0==0)。 while(1) { if(P1_1==0) { minute++。 while(minute==60) { minute=0。 } } while(P1_1==0)。 if(P1_2==0) { minute。 if(minute0) { minute=0。 } } while(P1_2==0)。 l=minute%10。 j=minute/10。 P2=0xef。 P0=mod[l]。 delay()。 P2=0xf7。 P0=mod[j]。 delay()。 if( P1_0==0) { while(P1_0==0)。 while(1) { 27 if(P1_1==0) { hour++。 while(hour==24) { hour=0。 } } while(P1_1==0)。 if(P1_2==0) { hour。 if(hour0) { hour=0。 } } while(P1_2==0)。 x=hour%10。 y=hour/10。 P2=0xfd。 P0=mod[x]。 delay()。 P2=0xfe。 P0=mod[y]。 delay()。 if(P1_0==0) { while(P1_0==0)。 TR0=1。 return。 } } } } } } } 28 } 第五章 系统仿真 PROTUES 软件介绍 Proteus 软件是 Labcenter Electronics 公司的一款电路设计与仿真软件,它包括 ISIS、 ARES 等软件模块, ARES 模块主要用来完成 PCB 的设计,而 ISIS模块用来完成电路原理图的布图与仿真。 Proteus 的软件仿真基于 VSM 技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机 芯片,比如MCS51 系列、 PIC 系列等等,以及单片机外围电路,比如键盘、 LED、 LCD 等等。 通过 Proteus 软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。 电子钟系统 PROTUES 仿真 用 PROTUES 软件,根据数字电子钟的原理图,画出仿真图,得到的图如下所示。 图 51 数字电子时钟的 PROTES仿真 29 第 六 章 调试与功能说明 单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。 一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软 /硬件故障。 系统性能测试与功能说明 走时:默认为走时状态,按 24 小时制分别显示 “ 时时 分分 秒秒。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。