您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 课程设计――DS1302数码管显示数字钟的设计1
××大学××学院××系课程设计报告××大学××学院××系××课程设计DS1302数码管显示数字钟的设计学生姓名学号所在系专业名称班级指导教师成绩××大学××学院二〇一二年六月××大学××学院××系××课程设计报告2摘要:本课程设计要求基于STC89C52单片机实现用8位数码管进行时钟显示。采用STC89C52单片机和DS1302实时时钟芯片,使用5V电源供电。时钟可以通过按键切换,数码管显示时、分、秒以及年、月、日,并且可以实现时钟的校准功能。包括时钟芯片驱动程序,数码管显示及驱动程序。关键字:单片机,DS1302,时钟电路,数码管显示Abstract:Thiscourseisdesigned8digitaltubeclockdisplayrequirementsbasedSTC89C52microcontroller.UsingSTC89C52microcontrollerandDS1302realtimeclockchip,usinga5Vpowersupply.Designoftheclockbymeansofthekeyswitches,digitaltubedisplayhours,minutes,seconds,andtheyear,month,day,andcanachieveclockcalibrationfunction.Includingthedriveroftheclockchip,digitaldisplayanddriver.Keywords:singlechipmacrocomputer;DS1302;clockcircuit;digitaltubedisplay××大学××学院××系××课程设计报告3目录1.总体设计方案…………………………………………………………...……….11.1电子钟功能介绍1.1.1基本功能介绍…………………………………………………………..11.1.2扩展功能介绍…………………………………………………………..11.2总体设计方案…………………………………………………………………11.2.1计时方案……………………………………………………………..…11.2.2按键方案………………………………………………………………...11.2.3显示方案…………………………………………………………..…….22.单元模块设计…………………………………………………………….….…...22.1硬件总电路设计………………………………………………………...….…22.2显示模块电路设计……………………………………………………....…….22.3按键调时电路设计…………………………………………………………….32.4时钟芯片通信电路……………………………………………………....……33.软件模块设计...............................................................................................43.1主程序设计……………………………………………………………….……….43.2时钟芯片…………………………………………………………..………………53.2.1DS1302内部结构……………………………………………………………53.2.2DS1302的读时序……………………………………………………………63.2.3DS1302的写时序……………………………………………………………63.3键盘调时………………………………………………………………..…………74.设计总结……………………………………………………………………………85.参考文献……………………………………………………………………………86.附录……………………………………………………………………………………9××大学××学院××系××课程设计报告4前言数字钟是采用数字电路实现对时、分、秒及数字显示的计时装置,广泛用于个人家庭、车站、办公室等公共场所,成为人们日常生活中的必需品。钟表的数字化给人们生产生活带来了极大的方便,而且大大的扩展了钟表原先的报时功能。如定时报警器、按时自动打铃、时间程序自动控制、自动开关路灯、定时电气的自动启用等。所有这些都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有现实意义。钟表的数字化大力推动了计时的精确性和可靠性。在单片机工程的装置中,实时时钟必不可少。目前常用的实时时钟,很多采用单片机中断服务实现。这种方式一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询,浪费单片机资源。虽然能满足对实时时钟的要求,但是占用地址、数据总线多,给其他设计带来不便。本次设计选择串行时钟芯片DS1302与单片机同步通信构成数字时钟电路。三线接口能为单片机节省大量资源。DS1302的后备电源以及对后备电源进行涓流充电的能力保证电路断电后仍能保存时间和数据信息。这些优点解决了目前常用的实时时钟无法解决的问题。××大学××学院××系××课程设计报告11.总体设计方案1.1电子钟功能介绍1.1.1基本功能介绍第一点:电子时钟用8位数码管显示。第二点:时间显示格式为XX-XX-XX,分别为时、分、秒。1.1.2扩展功能介绍第一点:设计的电子时钟可以通过安检切换现实日历,其格式为XX-XX-XX,分别为年、月、日。第二点:设计的电子时钟可以进行时间的校准功能。1.2总体设计方案1.2.1计时方案利用STC89C52单片机内部定时/计数器和时钟芯片DS1302进行终端定时,配合软件延时实现时、分、秒的计时。方案节省硬件成本,并且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼和提高,对单片机指令系统能有更升入的了解。1.2.2按键方案STC89C52外接8个LED数码管显示,外接4个按键构成按键控制部分。图1设计方案图时钟电路按键控制部分STC89C52数码管显示××大学××学院××系××课程设计报告21.2.3显示方案八段数码管显示有两种,一种是共阳数码管,其内部是八个阳极相连接的发光二极管组成;另一种是共阴极数码管,其内部是八个阴极连接的发光二级管组成。二者原理不同但功能相同。本设计选用8个共阳八段数码管LED。2.单元模块设计2.1硬件总电路设计图2硬件电路图2.2显示模块电路设计设计主要使用数码管功能实现,显示部分硬件用8只数码管为显示管。这些数码管的阳极相连接在一起,所以称为共阳极数码管。通过在8只数码管的阳极加+5V电压或0V电压数码管形成不同的数字。数码管部分如图所示。动态显示:数码管动态显示接口是单片机应用中最广泛的一种显示方式。动态是将所有数码管的8个显示笔画a,b,c,d,e,f,g,dp的同名端连接在一起,另外为每个数码管的公共级COM增加位选通控制电路。位选通由各自独立的I/O线控制,当单片机输出字型码时,所有数码管都接收到相同的字型码,当选择哪个数码管显示字形时,就取决于单片机对选通COM端电路的控制。所以我们只要将需要显示的数码管的选通控制打开,××大学××学院××系××课程设计报告3该为显示字形。没有选通的数码管不会亮。通过分时控制各个数码管的COM端,就使个个数码管轮流受控显示,这就是动态驱动。图3显示电路图2.3按键调时电路图4键盘电路图2.4时钟芯片通信电路时钟芯片DS1302与单片机STC89C52的借口是由三条线来完成的,单片机STC89C52的P2.3与时钟芯片的数据传输端相连,P1.7用作DS1302的输入时钟SCLK控制线。P1.3控制DS1302的复位控制端。DS1302接标准32.768KHZ石英晶振。DS1302与单片机的接口电路如图。图5时钟芯片电路图××大学××学院××系××课程设计报告4NONONOYESYESYES开始初始化定时器t0以及DS1302从DS1302获取时间并转换为十进制时钟调整K1=0K4=0数码管显示时间闹钟设置闹钟次数加1保存闹钟设置数据获得的时间与闹钟设置的时间进行对比时间相同蜂鸣器打开继电器打开定时器打开3.软件模块设计3.1主程序设计图6主程序设计图××大学××学院××系××课程设计报告53.2时钟芯片图7时钟芯片流程图3.2.1DS1302内部结构:图8DS1302内部构造图开始向DS1302的某个地址写入数据将读取的数据赋值给bakedata向DS1302的某个地址读取数据返回bakedata××大学××学院××系××课程设计报告63.2.2DS1302的读时序:图9读时序图3.2.3DS1302的写时序:图10写时序图3.3键盘调时××大学××学院××系××课程设计报告7图11键盘调时流程图4.设计总结在这学期的课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,受益匪浅。要面对社会的挑战,只有不断的NONONOYESYESYES按键调整时间开始K2=0从DS1302中获取的小时值加1时钟启动K3=0K1=0从DS1302中获取的分钟值加1NONOYESYES按键设置闹钟开始K2=0当前小时值加1并保存K3=0当前分钟值加1并保存返回××大学××学院××系××课程设计报告8学习、实践。在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在此感谢××,××,××老师,他们一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪。同时,对给过我帮助的所有同学和各位指导老师表示忠心的感谢!5.参考文献[1]楼然苗,李光飞.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2003.88-100[2]李群芳,黄建.单片机微型计算机与接口技术[M].北京:电子工业出版社,2001.70-82[3]李朝青.单片机原理接口技术(第三版)[M].北京:北京航空航天大学出版社,2005,1-320[4]赵嘉蔚.单片机原理与接口技术[M].北京:清华大学出版社,2010.2-26[5]赵小安.MCS-51单片机原理及应用[M].天津:天津大学出版社,2001.3-35[6]欧伟明,周春临,翟遂春.电子信息系统设计[M].西安:西安电子科技大学出版,2005,54××大学××学院××系××课程设计报告9附录:程序代码#includereg51.h#includeintrins.h#defineucharunsignedchar#defineuintunsignedintsbitK1=P3^0;//定义K1键sbitK2=P3^1;//定义K2键sbitK3=P3^2;//定义K3键sbitK4=P3^3;//定义K4键sbitP2_5=P2^5;sbitP2_6=P2^6;sbitP2_7=P2^7;sbitRST=P1^7;sbitIO=P2^3;sbitSCLK=P1^3;bitK1_FLAG=0;//定义按键标志位,当按下K1键时,该位置1,K1键未按下时,该位为0bitflag;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchardisp_buf[8];//定义显示缓冲区uchartime_buf[7];//DS1302时间缓冲区,存放秒、分、时、日、月、星期、年××大学××学院××系××课程设计报告10uchartime_hour[10];uchartime_min[10];uchartemp[2];//用来存放设置时的小时、分钟的中间值uchart0;//定时器标志变量/***********************函数声明******************
本文标题:课程设计――DS1302数码管显示数字钟的设计1
链接地址:https://www.777doc.com/doc-3846646 .html