单片机毕业设计电子钟_第1页
单片机毕业设计电子钟_第2页
单片机毕业设计电子钟_第3页
单片机毕业设计电子钟_第4页
单片机毕业设计电子钟_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书论文设计论文题目专业_班级_学号_姓名_指导教师_目录摘要摘要摘要摘要1第一章第一章第一章第一章绪论绪论绪论绪论2第二章第二章第二章第二章设计要求与方案论证设计要求与方案论证设计要求与方案论证设计要求与方案论证321设计要求31基本要求22发挥部分3系统基本方案选择和论证21芯片的选择32显示模块选择方案和论证23时钟信号的选择方案和论证43电路设计最终方案决定第三章第三章第三章第三章系统的硬件设计与实现系统的硬件设计与实现系统的硬件设计与实现系统的硬件设计与实现531数字钟电路设计框图52系统硬件概述3硬件电路结构的设计531单片机主控制模块的设计2显示模块的设计633电路原理及其说明74LED原理说明935开关模块说明1第四章第四章第四章第四章系统的软件设计系统的软件设计系统的软件设计系统的软件设计1241程序流程框图122LCD的初始化与及显示程序3第五章第五章第五章第五章系统调试系统调试系统调试系统调试1551硬件调试152软件调试结论结论结论结论16致谢致谢致谢致谢17参考文献参考文献参考文献参考文献18附录附录附录附录19第1页摘要数字钟是对年、月、日、周、时、分、秒,数字显示及到时提醒的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便。最常见的数字钟通常使用单片机模块控制,一种用单片机原理实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。本次设计就是通过用单片机为主控制,通过电路仿真而实现。首先使用PROTEUS7PROFESSIONAL软件进行绘制硬件电路图,用KEIL软件进行编程与调试,最终生成HEX文件,传入单片机内部,从而实现仿真效果。此次设计的多功能数字时钟具有显示年、月、日、周、时、分、秒及对各日期与时间的调整、校正功能。整个时钟通过简易的键盘来实现各个功能,界面简洁、直观、易于操作。关键词数字钟、仿真、单片机第2页第一章绪论20世纪末,单片机技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是数字时钟,数字时钟是一种用单片机原理实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字时钟是采用单片机原理实现对年、月、日、周、时、分、秒,数字显示及到时提醒的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用,有着非常现实的意义。第3页第二章设计要求与方案论证21设计要求21基本要求1设计能支持年月日星期时分秒的时钟,时钟要具有时间调整功能。2该设计要用KEIL软件进行编程与调试,利用PROTEUS7PROFESSIONAL软件进行绘制硬件电路图且进行仿真。212发挥部分1闹钟时间精度。2时钟功耗小于05MA/5V。2系统基本方案选择和论证本时钟的设计具体有两种方法。一是通过单纯的数字电路来实现;二是使用单片机来控制实现。本次设计选取了较为简单的单片机控制;而选择这一方法后还要进行各个芯片的选择。以下是我在这次设计中所用的方案。21芯片的选择方案一采用AT89C51芯片,其为高性能CMOS8位单片机,该芯片内含有4KBYTES的可反复擦写的只读程序存储器(PEROM)、128BYTES的随机存取数据存储器(RAM)、32位可编程I/O口线、2个16位定时/计数器、6个中断源、可编程串行UART通道及低功耗空闲和掉电模式,但是由于AT89C51芯片可擦写的空间不够大,且中断源提供的较小,为防止运行过程中出现不必要的问题,我们不选用AT89C51。方案二采用AT89C52芯片,它除了具备AT89C51的所有功能与部件外,其最大的优势就是AT89C52提供了8K字节可擦写FLASH闪速存储器空间、8个中断源、及2568字节内部存储器(RAM),解决了我们对可反复擦写的FLASH闪速存储器空间大小与中断源的不够问题的担心。22显示模块选择方案和论证方案一采用LED数码管显示,显示较为清楚,但是由于设计要求时钟功能比较重要,因此用如用LED进行显示会使得硬件电路较为复杂,且在软件实现上也较难,第4页为实现功能带来了一定的困难。方案二采用LCD,电路比较简单,且在软件设计上也相对简单,具有低功耗功能,能够满足设计最优的要求。因此,在设计中我采用的显示模块是LCD显示。23时钟信号的选择方案和论证方案一直接采用单片机定时计数器提供的秒信号,使用程序实现年、月、日、周、时、分、秒计数。采用此种方案可减少芯片的使用,节约成本,实现的时间误差较小,但程序设计较为复杂。方案二采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,256位的RAM作为数据暂存区,工作电压25V55V范围内,25V时耗电小于300NA。且硬件电路连接较为简单,程序设计容易实现。23电路设计最终方案决定综上各方案所述,对此次数字时钟的方案选定为采用AT89C52作为主控制系统并由其定时计数器提供时钟LCD作为显示电路,来实现功能。第5页第三章系统的硬件设计与实现31数字钟电路设计框图LCD动态扫描显示模块AT89C52主控制器开关调节模块晶振电路模块复位电路图(31)电路设计框图32系统硬件概述该电路是由AT89C52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路也由AT89C52单片机提供,减少芯片的使用,节约成本,它可以对年、月、日、周、日、时、分、秒进行计时,具有闰年补偿功能。时间显示部份采用液晶LM016L(LCD)。3硬件电路结构的设计31单片机主控制模块的设计此次单片机数字时钟的设计采用AT89C52为主控制芯片,并由其定时器提供时钟,利用LCD进行时间按显示。下图为用PROTEUS软件画的原理图第6页图(32)仿真电路图32显示模块的设计如图34所示,该设计采用液晶显示装置即把时钟信号以及温度信号同时显示在液晶显示器上,不仅结构简单清新可见,而且省电也容易控制。数据的传输采用P0口进行控制,其引脚VSS接地,VEE接VCC,RS和RW、E是显示器的控制端分别由单片机的引脚P10、P11、P13进行控制。而VDD是作为液晶显示器的灰度调节引脚,接一变阻器来改变其显示的清晰度。图3LM016L液晶显示器33电路原理及其说明1主控制芯片AT89C52的原理及说明AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8K第7页BYTES的可反复擦写的只读程序存储器(PEROM)和蔼可亲256BYTES的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。图34AT89C52引脚2主要性能参数与MCS51产品指令和引脚完全兼容8K字节可重擦写FLASH闪速存储器1000次擦写周期全静态操作0HZ24MHZ三级加密程序存储器2568字节内部RAM32个可编程I/O口线3个16位定时/计数器8个中断源可编程串行UART通道低功耗空闲和掉电模式3引脚功能VCC40电源电压GND20接地P0口3239P0口是一个8位双向I/O接口,也即地址/数据总线复用口。作第8页为输出口用时,每位吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器时,这组口线分时转换地址低8位和数据总线复用。P1口18P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”通过内部的上拉电阻把端口拉到高电平时,此时可作输入口。作为输入品使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。与AT89C51不同之处是,P10和P11还可以分别作为定时/计数器2的外部计数输入P10/T2)和输入P11/T2EX。P2口2128P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平时,此时可作输入口。作为输入品使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口输出P2锁存器的内容。P3口1017P3是一组带有内部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口P3写“1”时,它们被内部上拉电阻拉高并可作为输入端口,此时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示端口引脚第二功能P30RXD(串行输入口)P31TXD(串行输出口)P32INT0(外中断0)P3INT1(外中断1)P34T0(定时/计数器0)P35T1(定时/计数器1)P36WR(外部数据存储器写通道)P37RD(外部数据存储器读通道)表31P3口的第二功能RST9复位信号输入端。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG30地址锁存有效信号输出端。当访问片外程序存储器或数据存储器第9页时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节,一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的,要注意的是每当访问外部数据存储器时将跳过一个ALE脉冲。PSEN29程序存储允许输出端。是片外程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP31外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地),需注意的是如果加密位LB1被编程,复位时内部会锁EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。FLASH存储器编程时,该引脚加上12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL119振荡器反相放大器的及内部时钟发生器的输入端。XTAL118振荡器反相放大器的输出端。通过XTAL1、XTAL2外接晶振后,即可构成自激振荡器,驱动内部时钟发生器向主机提供时钟信号。4特殊功能寄存器在AT89C52片内存储器中,80HFFH共128个单元为特殊功能寄存器(SFR),其中包括B寄存器、累加器、程序状态寄存器(PSW)、定时/计数器控制、中断优级控制寄存器(IP)、P3口锁存寄存器、中断允许控制寄存器(IE)、串行口控制寄存器等。它们可运用来设置片内电路的运行方式,记录电路的运行状态,MCS51单片机对特殊功能寄存器采取与片内RAM统一编址的方法,可按字节地址直接寻址。在已有的基础上AT89C52与AT89C51相比还提供了两个定时/计数器。定时/计数器2的控制和状态位位于T2CON与T2MOD,该功能的数在自动装载的情况下可装入到寄存器中,提高了效率。34LCD原理说明在实际应用中,用户很少直接设计LCD显示器驱动接口,一般是直接使用专用的LCD显示驱动器和LCD显示模块。其中,LCD显示模块LCM(LIQUIDCRYSTALDISPLAYMODULE)是把LCD显示器、背景光源、线路板和驱动集成电路等部件构成一个整体,作为一个独立的部件使用,具有功能较强、易于控制、接口简单等优点,在单片机系统中应用较多。其内部结构如图28所示。LCD显示模块只留一个接口与外部通信。第10页显示模块通过这个接口接收显示命令和数据,并按指令和数据的要求进行显示。外部电路通过这个接口读出显示模块的工作状态和显示数据。LCD显示模块一般带有内部显示RAM和字符发生器,只要输入ASCII码就可以进行显示。LCD显示模块按功能显示可分为LCD段式显示模块、LCD字符型显示模块、LCD图形显示块三类。液晶显示器因其功耗低、重量轻而成为便携式应用中的主流显示技术。这里所用的字符型液晶模块是一种用5X7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等。液晶显示有点振式和字符式两种,在这里采用字符式液晶显示器1602来实现显示电路的功能。LCD驱动器LCD显示器LCD控制器VSVDVLRSR/WED07图34LCD显示电路由于1602液晶显示器是本身带有驱动模块的液晶屏,它只有并口线和一些控制线,与单片机的连接有两种不同的方法,直接访问方式和间接访问方式。直接访问方式就是微处理器把液晶显示模块当作存储器或I/O设备直接挂在总线上,模块8位数据总线与微处理器的数据总线相连,用读操作或写操作信号与地址信号共同产生控制信号。35开关模块说明校时电路主要靠键盘来控制。键盘是一组按键的集合。共有四个按键,分别是改变时间、增加、减少、清零。它是嵌入式计算机系统中不可缺少的外围电路。是实现人机对话的纽带,借助键盘可以向计算机输入程序、置数、逻辑操作以及写入程序第1页和程序检测等。第12页第四章系统的软件设计41程序流程框图开始初始化程序主键值检测根据主键进行散转有则主键值加一时间秒钟调整时间分钟调整时间小时调整时间周调整时间日调整时间月调整时间年调整显示周显示日显示月显示年时间显示时间显示主界面图41主程序流程第13页42LCD的初始化与及显示程序1LCD的初始化VOIDINI/LCD的初始化函数RW0EN0P10XFFWRITECGWRITE_ORDER0X38/端口写入WRITE_ORDER0X0C/端口写入WRITE_ORDER0X06/端口写入WRITE_ORDER0X01/端口写入2LCD的显示程序VOIDOPEN/定义一个LCD显示函数UCHARNUM/定义一个无符号的字符变量NUMWRITE_ORDER0X800X10/调用WRITE_ORDER函数FORNUM0OPENSNUM0NUM/循环打开WRITE_DATEOPENSNUMDELAY20FORNUM0NUMDEFINEUCHARUNSIGNEDCHARUINTINTSBITLCDRSP35LCDENP34SBITDULAP26WELAP27SBITS0P10S1P11SBITS2P12S3P13UCHARCODETABLE1“20080828WEN“TABLE2“213130“UCHARNUM,T0CHARSEC,MINUTE,HOUR,DAY,WEEK,MONTHUINTYEARVOIDDELAYUCHARZUCHARX,YFORXZX0XFORY110Y0Y/写入指令子函数VOIDWRITE_ORDERUCHARORDERLCDRS0P0ORDERDELAY2LCDEN1DELAY2LCDEN0/写入数据子函数VOIDWRITE_DATAUCHARDATA1第20页LCDRS1P0DATA1DELAY2LCDEN1DELAY2LCDEN0/初始化子函数VOIDINITSEC0MINUTE0HOUR0WEEK0DAY1MONTH1YEAR2008TMOD0X01TH06553650000/256TL06553650000256EA1ET01TR01WELA0DULA0LCDEN0WRITE_ORDER0X38/设置显示模式WRITE_ORDER0X0C开显示开光标,光标闪烁WRITE_ORDER0X01/显示清屏WRITE_ORDER0X06光标显示效果WRITE_ORDER0X80/定义第一行写入数据的地址FORNUM0NUM14NUMWRITE_DATATABLE1NUMDELAY2WRITE_ORDER0X800X43/定义第一行写入数据的地址FORNUM0NUM8NUMWRITE_DATATABLE2NUMDELAY2VOIDCHANGEUCHARADDR,UCHARDATA1/改变时分秒天月的子函数第21页UCHARX,YXDATA1/10YDATA110WRITE_ORDER0X80ADDRDELAY1WRITE_DATA0X30XDELAY1WRITE_DATA0X30YDELAY1VOIDYEARCHANGEUCHARADDR,UINTYEAR/改变年的子函数UCHARX,Y,Z,WXYEAR/1000YYEAR1000/100ZYEAR100/10WYEAR10WRITE_ORDER0X80ADDRDELAY1WRITE_DATA0X30XDELAY1WRITE_DATA0X30YDELAY1WRITE_DATA0X30ZDELAY1WRITE_DATA0X30WDELAY1VOIDWEEKCHANGEUCHARZ/改变周数的子函数SWITCHZCASE0WRITE_ORDER0X800X0BDELAY1WRITE_DATAMDELAY1WRITE_DATAODELAY1WRITE_DATANDELAY1第2页BREAKCASE1WRITE_ORDER0X800X0BDELAY1WRITE_DATATDELAY1WRITE_DATAUDELAY1WRITE_DATAEDELAY1BREAKCASE2WRITE_ORDER0X800X0BDELAY1WRITE_DATAWDELAY1WRITE_DATAEDELAY1WRITE_DATANDELAY1BREAKCASE3WRITE_ORDER0X800X0BDELAY1WRITE_DATATDELAY1WRITE_DATAHDELAY1WRITE_DATAUDELAY1BREAKCASE4WRITE_ORDER0X800X0BDELAY1WRITE_DATAFDELAY1第23页WRITE_DATARDELAY1WRITE_DATAIDELAY1BREAKCASE5WRITE_ORDER0X800X0BDELAY1WRITE_DATASDELAY1WRITE_DATAADELAY1WRITE_DATATDELAY1BREAKCASE6WRITE_ORDER0X800X0BDELAY1WRITE_DATASDELAY1WRITE_DATAUDELAY1WRITE_DATANDELAY1BREAKDEFAULTBREAKVOIDDISPLAYIFT020T00SECIFSEC60SEC0MINUTE第24页IFMINUTE60MINUTE0HOURIFHOUR24HOUR0DAYWEEKIFWEEK7WEEK0IFDAY31DAY1MONTHIFMONTH13MONTH1YEARYEARCHANGE0,YEARCHANGE0X05,MONTHCHANGE0X08,DAYWEEKCHANGEWEEKCHANGE0X43,HOURCHANGE0X46,MINUTECHANGE0X49,SEC/键盘扫描的子函数,修改时间VOIDKEYSCANUCHARSNUMIFS00DELAY5IFS00第25页WHILES0/松手检测SNUMIFSNUM1/选定秒TR00WRITE_ORDER0X800X409WRITE_ORDER0X0FIFSNUM2/选定分WRITE_ORDER0X800X406WRITE_ORDER0X0FIFSNUM3/选定时WRITE_ORDER0X800X403WRITE_ORDER0X0FIFSNUM4/选定星期WRITE_ORDER0X800X0BWRITE_ORDER0X0FIFSNUM5/选定天WRITE_ORDER0X800X08WRITE_ORDER0X0FIFSNUM6/选定月WRITE_ORDER0X800X05WRITE_ORDER0X0FIFSNUM7/选定年WRITE_ORDER0X80WRITE_ORDER0X0FIFSNUM8/恢复计时TR01WRITE_ORDER0X0CSNUM0第26页IFSNUM0/增加时分秒天月年IFS10DELAY5IFS10WHILES1IFSNUM1SECIFSEC60SEC0CHANGE0X49,SECWRITE_ORDER0X800X409IFSNUM2MINUTEIFMINUTE60MINUTE0CHANGE0X46,MIN

温馨提示

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

评论

0/150

提交评论