欢迎来到天天文库
浏览记录
ID:11013431
大小:299.00 KB
页数:12页
时间:2018-07-09
《基于51单片机电子时钟的设计本科学位论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机综合实验报告项目(03):数字电子时钟(LCD显示)学号:姓名:2016年4月30日12目录设计要求3设计原理4一.软件介绍41.1Proteus简介41.2Keil简介5二、设计电路图52.1AT89C51单片机:62.1.1.单片机的引脚功能6三.DS1302实时模块63.1时钟芯片DS1302的工作原理6四.实时时钟电路设计7五.程序设计85.1DS1302时钟程序流程85.2LCD显示程序流程8六.Proteus仿真电路图9七,部分源程序10八.设计总结1212设计要求以AT89C51单片机为核心的时钟,
2、在LCD显示器上显示当前的时间:使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用4个功能键操作来设置当前时间。功能键K1~K4功能如下。*K1—进入设置现在的时间。*K2—设置小时。*K3—设置分钟。*K4—确认完成设置。程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00:00”,然后开始计时。设计原理题目难点在于键盘的指令输入,由于每个按键都具有相应的一种或多种功能,程序中需要大量使用do{}while或while{}循环结构,以检测是否有按键按下。电子时钟一共有4个按键,
3、一个进入调时模式的按键、一个选择调整时间的位置的键、一个加、一个减。进入调时模式时时间不在走动可以调整日期时间和星期。电12路原理设计是基于小系统包括电源电路、复位电路、按键电路、时钟电路、输出控制电路。一.软件介绍1.1PROTEUS简介Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱
4、好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。1.2KEIL简介2009年月发布KeilμVision4,KeilμVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。2011年3月ARM公司发布最新集成开发环境RealViewMDK开发工具中集成了最新版本的KeiluVisio
5、n4,其编译器、调试工具实现与ARM器件的最完美匹配。12二、设计电路图硬件控制电路主要用了AT89C51芯片处理器、1602LCD显示器、DS1302实时时钟。根据各自芯片的功能互相连接成电子时钟的控制电路。2.1AT89C51单片机:本系统采用的是美国ATMEL公司生产的AT89C51单片机,首先我们来熟悉一下AT89C51单片机的外部引脚和内部结构。2.1.1.单片机的引脚功能AT89C51单片机有40个引脚。lVcc:电源电压+5VlGND:接地lP0、P1、P2、P3口12三.DS1302实时模块3.1时钟芯
6、片DS1302的工作原理DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图所示。为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表-1DS1302的控制字格式RAMRD1A4A3A2A
7、1A0/CK/WR3数据输入输出(I/O):在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。四.实时时钟电路设计DS1302与单片机的连接,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。12五.程序设计5.1DS1302时钟程序流程流程图分析:DS1302开始计时时,首先进行初始化,当有中断信号时,读取时钟芯片的时间
8、数据送入液晶显示。这时若有设置键按下,进行时间修改,完成后将时间数据送入1302芯片,若没有按键按下,直接送入EPROM中,送入液晶显示。5.2LCD显示程序流程流程图分析如下:首先对1602显示屏进行初始化(初始化大约持续10ms),然后检查忙信号,若BF=0,则获得显示RAM地址,写入相应的数据显示。若BF=1,则代表模块正在
此文档下载收益归作者所有