




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的数字时钟摘 要单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术和数码管来显示技术。 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。关键词:数字钟系统; 单片机;数码管显示Digital clock system Abstract SCM in multi-function digital clock in the application is already very common, people on the digital clock function and are very familiar with the work order. But very few know that its internal structure and working principles. SCM as a digital clock from the core controller, it can achieve the clock signal timing, its time data by the MCU output, use of monitors displayed. Keyboard can be carried out at the school, timing, and other functions. Output devices can be used liquid crystal display monitors and digital technology to display the technology. The system uses MCU with time, the school features such as the digital clock, SCM AT89C51 is also used as the core components of the LED digital display dynamic display when and points and seconds of the modern time device . Compared with the traditional mechanical watches, it has a precise path that intuitive, and other characteristics. In addition a school function, stopwatch function, and the timer function to achieve MCU use of the digital clock with programming flexibility to facilitate the expansion of functional advantages. Key words: digital clock system; SCM; LED Monitor目录设计任务书.I摘要.IIIABSTRACT.IV1. 系统方案.I系统概述设计任务书.I摘要.IIIABSTRACT.IV1. 系统方案.11.1 系统概述.11.2 方案论证.11.3 扩展功能.22. 设计过程.22.1 设计原理 22.2 所需元器件.23. 电路与程序.23.1 电路设计23.2 程序设计33.2.1 程序流程图.33.2.2 主要程序分析.7 参考文献64. 总结体会.161、系统方案1.1 系统概述本系统可模拟电子时钟,实现时钟,秒表,倒计时定时器功能,主从CPU数据处理、键盘控制与数据显示。主控系统能响应按键,并对其进行相应的处理,再把其对应的结果数据在数码管LED上显示。具体设计基本任务是:1用LED数码管显示时间,且能显示时、分、秒的24小时制的数字钟。2具有校时功能,具体方法:设置三个按钮,其中两个按钮分别对“时”、“分”进行校时,另一个按钮则实现对“秒”位清零系统结构框图如图1.1所示:CPU主机键盘控制数码管显示数码管显示开关控制数码管显示形式 图1.1数字钟系统结构框图1.2 方案论证方案一1计数部分采用异步2-5-10进制计数器7490,显示部分参考实验七。1计时用的“秒”脉冲信号可用实验板中提供的800Hz分频产生。800Hz信号同时作为动态扫描显示电路的时钟信号。2时、分校时控制,当校时按钮按下时,可对时、分计数器CP端输入秒脉冲来加速计数速度来达到校时目的。方案二 1.用单片机定时器中断原理实现数码管动态10ms循环扫描,同时完成计数功能,并经过多次中断产生“秒”信号。 2.可控制按键实现时,分,秒加一,减一功能。 考虑到设计硬件简单原则,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点,故本设计采用方案二。1.3扩展功能1.实现秒表功能。 2.可以用于倒计时定时。 3.可以时分秒清零。2.设计过程1原理 本设计主要应用了单片机原理,利用单片机的I/O口,由键盘控制I/O口,进行单片机相应的程序处理,再用I/O口控制数码管的显示。利用开关来控制开启,暂停计时,并切换时钟,秒表,倒计时定时器功能。2所需元器件 六位一体数码管,89C51单片机,7407芯片,12M晶振,按键若干,开关若干,电阻若干,电容若干,导线3电路与程序设计3.1 电路设计:图3.1总体电路图本系统的设计电路如图3.1所示,左边按键控制时分秒加一减一操作,右边开关切换数码管显示时钟,秒表,倒计时定时器等功能。单片机下方按键有复位功能:当在时钟方式时,此按键有清零作用;当在倒计时定时器方式时,此按键按下,时分秒均付为最大值。右上角是六位一体的数码管LED,用于显示。数码管左边的上拉电阻具有自动拉高P0I/O口的功能。数码管下方的7407芯片有限流作用,用于防止数码管电流过大而烧毁。3.2 程序设计 3.2.1 程序流程图图3-2-1为主程序流程图,图3-2-2为定时器0程序流程图,图3-2-3为定时器1程序流程图。是否有按键拆分,即吧两位数放到数码管上跳到按键子程序While死循环初始化程序图3-2-1主程序流程图此为主程序流程图,初始化后,就一直在while里循环,并把秒,分,时分别拆成各位和十位两个数,放到相应的数码管上显示,并检测是否有按键按下,和定时器T0,T1溢出,来执行相应的键盘子程序和定时器0,1的中断程序。重新初始化T0t+,t0+秒分时计算,ss=60,则ss=0,mm+。分,时同理计算t0是否为2t0=0数码管循环显示一位显示相应数码管的数值第三个开关是否按下j=10j=610t是否为jt=0开关2是否按下秒加一开关一是否按下开定时器1,关定时器0开定时器0,关定时器1进入主程序 图3-2-2定时器0程序流程图此为定时器0流程图,在主程序检测到T0溢出时执行该子程序,该中断主要执行数码管循环显示数字,并检测到一秒后秒加一的功能。重新初始化T1t+,t0+秒分时计算,ss= -1,则ss=59,mm减一。分,时同理计算t0是否为2t0=0数码管循环显示一位显示相应数码管的数值t是否为jt=0开关2是否按下秒减一开关一是否按下开定时器1,关定时器0开定时器0,关定时器1进入主程序j=610,图3-2-3定时器1程序流程图此为定时器1流程图,在主程序检测到T1溢出时执行该子程序,该中断程序主要执行数码管循环显示数字,并检测到一秒后秒减一的功能。参考文献1 康华光,邹寿彬,秦臻. 电子技术基础数字部分. 北京高等教育出版社,2006. 12 张毅刚,彭喜元,董继成. 单片机原理及应用. 高等教育出版社,2003.123 刘鲲,刘春亮,黄焱. 单片机C语言入门. 人民邮电出版社,2008年4月第1版.3.2.2源程序1. 开始函数的定义:#include#define uchar unsigned char /宏定义#define uint unsigned int /宏定义#include /循环左移函数库void jian_pan(); /键盘子函数char code duan_ma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef; /时钟显示数组int ss,mm,hh,s_shi,s_ge,m_shi,m_ge,h_shi,h_ge,t,t0,zy,j,ds; /zy 为左移的意思sbit p32=P32;sbit p31=P31;sbit p30=P30;sbit p37=P37;2.主程序:void main() ds=1; /定时器初始化 P2=0xfe; /数码管位初始化 P0=0x3f; /如果时时钟,断码初始置0 P1=0xff; /键盘初始 t=0; /1S时,t=700 t0=0; /数码管动态显示一次,t0=2,10ms左右 TH0=(65536-10001)/256;TL0=(65536-10001)%256; TH1=(65536-10001)/256;TL1=(65536-10001)%256; EA=1; ET1=0; /开定时器0 TR1=0; /定时器开始工作 ET0=1; TR0=1; while(1) if (P1!=0xff) /判断是否有键,有键就执行jian_pan子程序 jian_pan(); s_shi=ss/10; /拆分 s_ge=ss%10; m_shi=mm/10; m_ge=mm%10; h_shi=hh/10; h_ge=hh%10; 3.定时器0中断程序:void timer0() interrupt 1 if(p32=1) j=610; else j=10;TH0=(65536-10001)/256; /重新初始化T0 TL0=(65536-10001)%256;t+; t0+; if(P2=0xdf) /如果数码管显示到第6个下一个显示第1个数码管 1101 1111 - 0111 1111 - 1111 1110 P2=0x7f;/秒分时计算 if(ss=60) /若ss为60,ss=0,同时mm+1 ss=00; mm+; if(mm=60) /若mm为60,mm=0,同时hh+1 mm=00; hh+; if(hh=24) /若hh为24,hh=0 hh=00;/数码管动态显示,t=02时左移一位,并显示那一位相应的值 if(t0=2) t0=0; /P2循环左移一位 zy=P2; zy=_crol_(zy,1); P2=zy; /相应数码管显示相应的数值 if(P2=0xfe) P0=duan_mas_ge; if(P2=0xfd) P0=duan_mas_shi; if(P2=0xfb) P0=duan_mam_ge+10; if(P2=0xf7) P0=duan_mam_shi; if(P2=0xef) P0=duan_mah_ge+10; if(P2=0xdf) P0=duan_mah_shi; if (t=j) t=0; if (p31=1) ss+; if(t611) t=0; if(p30=0) /转到timer1上去 ET0=0; TR0=0; ET1=1; TR1=1; t=0; 4.定时器1中断程序: void timer1() interrupt 3 j=610; if(ds=1) mm=59; if(ds=0) ds=0; else ds-; TH1=(65536-10001)/256; /重新初始化T1 TL1=(65536-10001)%256;t+; t0+; if(P2=0xdf) /如果数码管显示到第6个下一个显示第1个数码管 1101 1111 - 0111 1111 - 1111 1110 P2=0x7f;/秒分时计算 if(ss=-1) /若ss为60,ss=0,同时mm+1 ss=59; mm-; if(mm=-1) /若mm为60,mm=0,同时hh+1 mm=59; hh-; /数码管动态显示,t=02时左移一位,并显示那一位相应的值 if(t0=2) t0=0; /P2循环左移一位 zy=P2; zy=_crol_(zy,1); P2=zy; /相应数码管显示相应的数值 if(P2=0xfe) P0=duan_mas_ge; if(P2=0xfd) P0=duan_mas_shi; if(P2=0xfb) P0=duan_mam_ge+10; if(P2=0xf7) P0=duan_mam_shi; if(P2=0xef) P0=duan_mah_ge+10; if(P2=0xdf) P0=duan_mah_shi; if (t=j) t=0; if (p31=1) if(ss|hh|mm)!=0) ss-; if(t611) t=0; if(p30=1) /转到timer1上去 ET1=0; TR1=0; ET0=1; TR0=1; t=0; 5.键盘子程序:void jian_pan() uint temp; temp=P1; switch(temp) case 0xfe: /秒个位加1 while(P1!=0xff) if(ss=59) ss=00; else ss+; break; case 0xfd: /秒个位减1 while(P1!=0xff) if(ss=00) ss=59; else ss-; break; case 0xfb: /分个位加1 while(P1!=0xff) if(mm=59) mm=00; else mm+; break; case 0xf7: /分个位减1 while(P1!=0xff) if(mm=00) mm=59;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物学《遗传学基础与进化论》教学大纲
- 办公区域无线网络建设及维护合同
- 早期教育招生课件
- 早期政治制度课件
- 纪念设施课件
- 早期复级化课件
- 农业经济管理软件服务与维护合同
- 纪念刘和珍君课件
- 2025年山东省公务员录用考试申论真题模拟解析
- 员工福利协议签署文件
- 2025年职业指导师(四级)考试模拟试题汇编与模拟试题解析
- 2025年新修订《治安管理处罚法》
- 【政治 云南卷】2025年云南省高考招生统一考试真题政治试卷(含答案)
- 测听讲课的课件
- 乡镇物业安全管理制度
- 培训班老师规矩管理制度
- 起重作业安全考核试题及答案
- 炉窑公司现场管理制度
- 无人车项目计划书范文大全
- 高等教育十五五发展规划
- 股权转让及公司业绩承诺补充协议模板
评论
0/150
提交评论