毕业设计(论文)基于51单片机的电子日历的设计.doc

上传人:文库蛋蛋多 文档编号:3978362 上传时间:2023-03-30 格式:DOC 页数:40 大小:484.50KB
返回 下载 相关 举报
毕业设计(论文)基于51单片机的电子日历的设计.doc_第1页
第1页 / 共40页
毕业设计(论文)基于51单片机的电子日历的设计.doc_第2页
第2页 / 共40页
毕业设计(论文)基于51单片机的电子日历的设计.doc_第3页
第3页 / 共40页
毕业设计(论文)基于51单片机的电子日历的设计.doc_第4页
第4页 / 共40页
毕业设计(论文)基于51单片机的电子日历的设计.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《毕业设计(论文)基于51单片机的电子日历的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于51单片机的电子日历的设计.doc(40页珍藏版)》请在三一办公上搜索。

1、 编号 淮安信息职业技术学院毕业论文题 目基于单片机的电子日历的设计学生姓名学 号院 系电子工程学院专 业应用电子技术班 级指导教师顾问教师二一二年六月摘 要电子万年历是实现对年、月、日、时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室、银行大厅等场所,是人们日常生活中的必需品 。本文通过对基于单片机实现万年历功能的电子日历的设计,介绍了AT89S52单片机的多功能电子万年历的硬件结构和软硬件的设计、使用方法。系统以AT89S52单片机为主控制模块,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿、时间校准等多种功能。万年历

2、采用直观的数字显示,可以在LCD上同时显示年、月、日、星期、时、分、秒。更有按键电路模块与之相结合,不仅能实现时钟日历显示的功能,并可进行调整,使用更便捷、直接。万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。关键词:万年历 单片机 AT89S52 DS1302 目 录摘 要I第一章 绪论11.1 课题研究的意义11.2 本课题主要的研究工作11.3 本课题主要解决的内容11.4 论文主要章节安排21.5本章小结2第二章 方案论证32.1 设计要求32.2单片机芯片的选择方案和论证32.3显示模块的选择方案和论证32.4时钟芯片的选择方案和论证42.5

3、电路设计最终方案4第三章 系统的硬件设计与实现53.1 电路总体设计53.2主控模块的设计53.2.1 AT89S52的内部结构及各引脚功能53.2.2单片机最小系统设计73.3 时钟模块设计73.4 显示模块设计93.5 键盘模块10第四章 系统的软件设计114.1主程序设计114.2 万年历优化算法124.3 阳历与星期的换算方法134.4 万年历工作的简易流程图14第五章 PROTEUS软件仿真155.1 PROTEUS ISIS简介155.2 PROTEUS运行流程155.3 PROTEUS功能仿真155.4本章小结18第六章 测试与结果分析196.1 硬件测试196.2 软件测试19

4、6.3 测试结果分析与结论19第七章 总结与展望217.1 总结217.2 展望21致 谢23参考文献25附录1 系统电路图27附录2 系统程序28第一章 绪论1.1 课题研究的意义万年历是我国古代传说中最古老的一部太阳历。为纪念历法编撰者万年功绩,便将这部历法命名为“万年历”。而现在所使用的万年历,实际上就是记录一定时间范围内(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用,与原始历法并无直接联系。随着微电子技术的高速发展,人类用于计时的工具也在不断发展更新,单片机技术的出现使得万年历有了新的发展方向。单片机以其体积小、功能全、性价比高等诸多优点,在工业控制、家用电

5、器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。目前世界上单片机年产量已达十多亿片,通常是当年微处理器产量的4-5倍以上。用最少的芯片就能实现最强大的功能,这是将来电子产品的主流方向,它将无可置疑地一步步取代其它同类产品,其数量之大和应用面之广,是其它任何类型的计算机所无法比拟的。本文采用单片机的万年历作为设计课题,因为它有很好的开放性和可发挥性,对作者的要求比较高,不仅考察了对单片机的掌握能力而且强调了对单片机扩展的应用。另外液晶显示的万年历已经越来越流行,特别适合在家庭居室、办公室、大

6、厅、会议室、车站和广场等地方使用,它具有显示清晰直观、走时准确、可调整、进行夜视等功能。所以,电子万年历作为课题设计很有价值。1.2 本课题主要的研究工作本论文主要研究基于单片机的万年历设计。当程序执行后,LCD显示年、月、日、时、分、秒和星期。设计共设置4个操作键:K1:选择修改键;K2:上调键;K3:下调键;K4:确定键。设计的主要内容有:1、了解单片机技术的发展现状,熟悉万年历个模块的工作原理;2、选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;3、熟悉单片机使用方法和C语言的编程规则,编写出相应模块的应用程序; 4、分别在各自的模块中调试出相应的功能,在Prot

7、eus软件上进行仿真。1.3 本课题主要解决的内容本课题所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面:1、选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。2、根据选用的电子万年历芯片设计外围电路和单片机的接口电路。3、在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。4、根据设计的硬件电路,编写控制AT89S51芯片的单片机程序。5、通过编程、编译、调试,把程序下载到Proteus上运行,并实现本设计的功能。6、在硬件电路和软件程序设计时,主要考虑提高人机界面的友好性,方便用户操作等因素。7、软件设计时必须要有

8、完善的思路,要做到程序简单,调试方便。1.4 论文主要章节安排第一章:绪论是介绍了基于STC89S52单片机的万年历研究意义,重点阐述了本课题的研究内容和研究工作。第二章:主要介绍了设计要求和课题器件选择的论证方案。第三章:硬件基础中主要描述了万年历的各个模块的硬件设计方案,并结合各个元器件和相应的硬件原理图进行分析,最后展示为了实现研究目标所需要的全部硬件基础。第四章:软件基础主要罗列了实现万年历各个功能的C语言程序的流程图,并分别对其进行了解释和分析,最后把各个C语言子程序在巧妙结合在一起,共同控制整个系统,也就形成了实现研究目标所需要的所有软件基础。第五章:主要是对硬件和软件测试结果的分

9、析以及得出的相关结论。第六章:主要对Keil软件、Proteus软件进行简单介绍,并给出了关于Proteus软件仿真调试万年历的过程。最后简要的介绍了硬件调试中的问题和解决办法。第七章:主要是对本次实验研究的总结,提出本次实验的不足之处以及相应的改进方法,以便后人继续深入研究。最后一部分是论文的附录,它为论文的内容做了补充、解释,以便阅读时条理更清晰。1.5本章小结本章是论文的绪论部分,着重介绍了万年历的研究意义。然后介绍了本文所要解决的实际问题及意义,以及要电子万年历系统要实现的功能和方法。最后简单地描述了本论文的整体框架和论文章节的安排。第二章 方案论证2.1 设计要求在电子日历设计中需具

10、备的基本功能。1能显示实时时钟、日历 2允许误差:10秒/天; 3可以通过按键设置(调整)时钟; 4显示模式:数码管或液晶显示; 2.2单片机芯片的选择方案和论证方案一: 采用AT89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要导入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-5

11、1系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要导入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。根据主功能模块的各项功能、使用便捷程度、单片存储、低功耗、等原因,选择采用AT89S52作为主控制系统。2.3显示模块的选择方案和论证方案一:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,但连线还需要花费一点时间,所以也不用此种作为显示。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的

12、发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形等,显示信息丰富。由于需要显示年、月、日、星期、等,需要可大量显示文字和数字的显示模块。结合数码管和液晶显示的各项特点,此设计采用LCD液晶显示屏。2.4时钟芯片的选择方案和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大,所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一

13、种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年进行计数,而且精度高,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。工作电压在2.5V5.5V范围内,2.5V时耗电小于300nA。根据时钟芯片的性能、功耗和显示的准确度,设计采用DS1302时钟芯片。2.5电路设计最终方案本章主要介绍了系统要实现的功能和万年历系统硬件平台的选择,比较了主控模块,时钟模块,显示模块中不同器件的功能及优劣,最后确定了电路设计的整体方案: 采用AT89S52作为主控制系统; DS1302提供时钟;LCD液晶显示屏作为显示模块。第三章 系统的硬件设计与实现3.1 电路总体

14、设计在方案设计中,整个系统主要包括四个部分:主控制模块、显示模块、时钟模块和键盘部分。设计的总系统原理图如下图3-1所示。主控模块显示模块 键盘模块DS1302时钟模块图3-1 总系统原理图本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部份由LCD点阵液晶显示屏显示;键盘模块实现对万年历进行调节。3.2主控模块的设计AT89S52在设计中作为主控制模块使用,它是40引脚双列直插芯片,有

15、四个I/O口P0、P1、P2、P3,每一条I/O线都能独立地作输出或输入。3.2.1 AT89S52的内部结构及各引脚功能AT89S52单片机按功能分为8部分:CUP,程序存储器,数据存储器,时钟电路,串行口,并行I/O口,中断系统,定时/计数器。1.电源及时钟引脚Vcc:接+5V 电源Vss:接地XTAL1和XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。2.控制引脚RST/Vpq:RST是复位信号输入端,Vpd是备用电源输入端。当RST输入端保持2个机器周期以上高电平时,单片机完成复位初始化操作。当

16、主电源Vcc发生故障而突然下降到一定低电压或断电时,第2功能Vpd将为片内RAM提供电源以保护片内RAM中的信息不丢失。ALE/PROG:地址锁存允许信号输入端。在存取外存储器时,用于锁存低8位地址信号。当单片机正常工作后,ALE端就周期性地以时钟振荡频率的1/6固定频率向外输出正脉冲信号。此引脚的第2功能PROG是对片内带有4K字节EPROM的8751固外程序时,作为编程脉冲输入端。PSEN:程序存储器允许输出端。当片外程序存储器的读选通信号,低电平有效。CPU从外部程序存储器取指令时,PSEN信号会自动产生负脉冲,作为外部程序存储器的选通信号。EA/Vpp:程序存储器地址允许输入端。当EA

17、为高电平时,CPU执行片内程序存储器指令但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令;当EA为低电平时,CPU只执行片外程序存储器指令。3.I/O口引脚P0.0P0.7:P0口8位双向I/O口;P1.0P1.7:P1口8位准双向I/O口;P2.0P2.7:P2口8位准双向I/O口;P3.0P3.7:P3口8位准双向I/O口。4片外总线结构分为三部分:数据总线 Data Bus(DB),地址总线 Address Bus (AB),控制总线 Control Bus(CB)。5.图3-2为AT89S52的系统引脚图。图3-2 AT89S52系统引脚图3.2.2单片机最小系统设计单

18、片机的最小系统如图3-3所示。18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。图3-3 单片机最小系统3.3 时钟模块设计实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。它是一种一种高性能、低功耗、带RAM的实时时钟电路,可以对

19、年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。图3-4示出DS1302的引脚排列图。图3-4 DS1302的引脚图其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来

20、启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。使用DS1302时可参考它的硬件接线图,如图3-5所示。图3-5 DS1302的硬件接线图1.时钟芯片DS1302的工作原理:

21、DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。DS1302的控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0,位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表.2为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”

22、是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。2.DS1302的控制字节:DS1302控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出3.数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降

23、沿读出DS1302的数据,读出数据时从低位0位到高位7。4.DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写

24、)、FFH(读)。3.4 显示模块设计本设计中由于要对年、月、日、星期、时、分、秒、显示,选择液晶显示器1602字符型LCD通常有14条引脚线或16条引脚线的LCD。它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。它可以显示的字符有:阿拉伯数字、英文字母的大小写、常用的符号等,每一个字符都有一个固定的代码,例如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。如图3-6即为LCD显示模块的接口线路,和附录一的连线一样,无需修改。 图3-6 LCD液晶显示模块3.5

25、 键盘模块键盘模块用于调节、校准万年历的时间,更根据各个键盘的功能选择合适的键盘使用。按键功能自上而下依次为:1 选择修改项键、2 增大键、3 减小键、4 确定键.文中系统软件设计使用开关做键盘使用如下图3-7所示。图3-7 开关第四章 系统的软件设计4.1主程序设计电子万年历的功能是在程序控制下实现的。首先系统初始化,系统开始运行,当有设置键按下时进入修改时间模式,无按键按下时读取时间等数据送入液晶屏显示;在修改时间模式下设置时间完成后再送数据到液晶屏显示。该系统的软件设计方法按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。这样有利于程序修改和

26、调试,增强了程序的可移植性。万年历的主程序流程图如图4-1所示。开始初始化读日期、时间写日期、时间显示子程序开关控制子程序时间修改子程序日期修改子程序显示结果返回图4-1 主程序流程图4.2 万年历优化算法阳历算法:阳历的算法比较简单,每十月的总的天数相对来说是固定的。只有2月份,在闰年是29天,在非闰年是28天。每个月的日历排法主要是确定每个月第一天是星期几。我们知道1901年1月1日是星期二,星期的变化是7天一个周期,比如说要计算1901年2月1日是星期几,可以这样推算:从1901年1月1日到1901年2月1日总共经过了31天(从表1可 看出),31对7取模是3:i901年1月1日是星期二

27、,加三后,是星期五。因此1901年2月1日是星期五。同理,可以推算出从19012100年任何一天是星期几,如下表4.1所示。表4.1 月份123456789101112闰年312931303130313130313031非闰年312831303130313130313031下图4-2是阳历计算程序流程图。 图4-2 阳历计算程序流程图4.3 阳历与星期的换算方法在现行阳历中,历年的长度365天(平年)或者366天(闰年)都不是七的整数倍,所以日期与星期之间没有明显的对应关系。一般情况下,不看日历牌就无法知道某月某日是星期几。不过,它们之间还是有一定规律可循的,只要经过简单计算,或者查找表格,就

28、可以知道与任何日期相对应的星期数。这里列出两种方法供读者选用。 (1)公式法:设y麦示公元年数,d表示从1月1日起算的日数。首先求出1月0日(即上一年12月31日)的星期序数,然后与日数d相加,其和用7除,余数就是答案。为了推导公式,我们想一想,第一年1月0日的星期序数与第二年1月0日的星期序数有什么关系?平年365天,等于52个星期零1天,所以第二年1月0日的星期序数比第一年的多l,但这个l已包含在y中了,因为第二年的年数y比第一年大1;闰年366天,等于52个星期零二天,所以第二年1月0日的星期序数等于第一年(闰年)的星期序数加2,除了y中包含的1外,还需加修正值1。根据这些道理我们可以推

29、得三个公式,将式中S用7除,余数就表示星期几。从公元1900年1月1日到公元2101年1月1日之间这201年,可用公式:S y1900 + (y1901)/4 + d 方括号表示取商的整数部分,对于1900年1904年这五年方括号值为0。这个公式是这样来的:1900年1月0日(即1899年12月31日)是星期天。这年是平年,以后直到2100年前都是每隔4年一闰,闰年多出的那一天,影响到下一年1月0日的星期序数,并不影响闰年本身,闰年产生的修正值应加到下一年上去,所以(y1901)/4中,计算时用190l而不是1900。例:求2000年12月31日是星期几?2000年是闰年,从1月1日算起,12

30、月31日是第366天,所以d366。根据公式有:S20001900 +(20001901)/4+ 366100 +99/4+ 366l00 + 24 + 366490490为7的整数倍,即余数为0,所以2000年12月31日为星期日。(2)更普遍的公式为:sv1 +(y1/4(y1/100+(y1/400+ d对于这个公式,我们不妨这样考虑:阳历400年中有97个闰年,共365x 400 + 97 146.097天,146,09720,871 7,即正好是7的整数倍。这表明某年某月某日所对应的星期序数与四百年前同月同日所对应的星期序数完全相同。前边例中我们已算出公元2001年1月0日(即200

31、0年12月31日)是星期日,那么,公元1601年、1201年以及公元1年的1月0日都是星期日。假如每个历年都是365天的话,那么,由于公元1年1月0日是星期日,只要公式Sy1 + d就可以了,但实际上闰年是366天,所以我们必须根据闰年的有关规定进行修正。(y1)/4是四年一闺产生的修正值。如果只取这一个修正项,就会多修正以至造成错误,这是因为,根据阳历的规定,逢百之年虽然能被4整除,却不一定是闰年,所以必须减去多修正的值,它等于(y1/100)。如果逢百之年都是平年,只要这两个修正项也就可以了。可是,公元年数能被400整除的年(当然也一定能被100整除)仍是闰年,所以还必须加上(y1/400

32、)。这个修正项才行。方括号中之所以用y1而不用y,是由于修正值是加到闰年的下一年上去,而不是加到闰年本身上。4.4 万年历工作的简易流程图在万年里程序中,单片机的工作流程图如下图4-3所示。开始单片机读DS1302数据单片机送数据到LCD1602单片机判断按键单片机处理按键结束图4-3 单片机的简易工作流程图 第五章 Proteus软件仿真5.1 Proteus ISIS简介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。该软件的特点是:(1)全部满足我们提出的单片机软件仿真

33、系统的标准,并在同类产品中具有明显的优势,使用更方便快捷。(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(3)目前支持的单片机类型有:ARM7系列、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片,全力满足软件电路的需要。(4)支持大量的存储器和外围芯片。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真ARM、51、AVR、

34、PIC。5.2 Proteus运行流程Proteus ISIS的工作界面是一种标准的Windows界面,它包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。运行Proteus程序后,进入软件的主界面。通过左侧工具栏中的P(从库中选择元件命令)命令,在Pick Devices 左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,最后进行连线。Proteus ISIS的工作界面可参考附录一。5.3 Proteus功能仿真Proteus仿真效果最后载入hex文件后可以进行模拟仿真,

35、可以全速运行也可以使用运行按键单步调试运行,图5-1既为Proteus仿真的运行按键。图5-1运行按键通电后LED显示: 图5-2 时钟调节秒钟调节:图5-3 时钟调节 分钟调节:图5-4 时钟调节时钟调节:图5-5 时钟调节星期调节:图5-6 时钟调节日期调节:图5-7 时钟调节月份调节:图5-8 时钟调节年份调节:图5-9 时钟调节点击确定键显示:图5-10 时钟调节5.4本章小结本节介绍了Proteus软件和keil软件,阐述了如何用Proteus结合Keil软件仿真出电子万年历功能的过程并给出了仿真系统的操作过程。最后简要的介绍了硬件调试中的问题和解决办法。第六章 测试与结果分析6.1

36、 硬件测试电子万年历的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要注意处理,否则会刺破带有包皮的导线,则会对电路造成短路现象。在本成电子万年历的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都是可以避免的,以下为主要的问题:(1)LCD液晶显示屏显示部分已经连在最小系统上,节省了不少时间和精力。(2)对万年历修改时间或日期时,有时LCD液晶显示屏被屏蔽掉,造成不亮现象。解决:根据仪器的测试,发现电路的驱动能力不足,最后在DS1302时钟芯片的/CS、SCLK、RET端接入5.1K的上拉电阻

37、后,电路的驱动能力才能满足,即可解决不亮现象。6.2 软件测试电子万年历是多功能的数字型,可以看当前日期,时间。电子万年历功能很多,所以对于它的程序也较为复杂,在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的调试,最终完成了软件。在软件的调试过程中遇到的主要问题是:导入程序后,LCD液晶显示屏显示亮度不好。解决:一遍旋转10K欧的滑动变阻器,一遍观看LCD显示屏,直到看到合适的亮度为止。6.3 测试结果分析与结论在测试中遇到LCD液晶显示屏为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏,滑动变阻器没有调好:查看编写的程序是否正确

38、无误,对程序进行认真修改,根据硬件电路调整按键查看万年历能否达到各功能。经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力。于此同时软件的编程方面也得到更多的提高,编程能力得到加强,所学的知识更加熟练牢固。 第七章 总结与展望 7.1 总结至此,关于毕业设计的所有内容就介绍完了,进行这次毕业设计一切都是从零开始,从最简单查资料、了解各个元件的功能起步,再确定设计方案、画流程图、编写程序到最后进行仿真,这次课题设计可以说成功完成。系统的硬件、软件设计合理,功能完备,运行稳定、可靠。在整个设计过程中,学到了许多扎实的知识。通过设计提高了对单片机的认识,

39、进一步熟悉和掌握单片机的结构及工作原理。通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术,提高软件设计、调试能力;通过这次设计熟悉以单片机核心的应用系统开发的全过程,掌握硬件电路设计的基本方法和技术,掌握相关电路参数的计算方法。最终较好的完成了设计,达到了预期的目的,完成最初的设想。但是由于时间和个人能力的原因,整个系统看起来还是显得非常的简单,只实现了一些最基本的功能,还有许多不足和可以扩展的地方。例如实现公历和农历的转换、闹钟报时等,这些有待以后来弥补,还望各位老师予以指正和修改。本次设计的电子万年历也存在的不足的地方,有待于以后的改进。7.2 展望实验结果表明此万年历实现后具

40、有读取方便、显示直观、功能多样、电路简洁、等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。本课题从理论到实际应用,用AT89S52单片机与等一些电路的组合,成功的设计出了一个电子万年历。而且所设计的电子万年历设计也按当初要求的能够在PROTEUS中进行仿真,并且能够很精确的显示年历。可以说该电子万年历具有很高的实用价值。致 谢经过二个多月的时间,毕业设计按照预期完成了。这次课程设计的制作,一切都是从零开始,从最简单的画流程图起步,到课程的设计、仿真,它的圆满完成,与我的单片机课程是离不开的。它凝聚了各位老师的心血!由于本人的知识水平有限,论文和设计中有遗漏和缺陷的地方恳请老师指正。

41、在整个设计过程中,充分发挥人的主观能动性,自主学习,学到了许多没学到的知识。较好的完成了设计,达到了预期的目的,完了最初的设想。首先,对电路的设计、布局要先有一个好的构思,才显得电路板美观、大方。其次,程序编写中,由于思路不清晰,会遇到很多的问题,经过静下心来思考,和同学讨论、向老师请教理清了思路,反而更得心应手。在此次设计中,要有一颗平常的心,不要想着走捷径,一步一脚印,更要有有持之以恒的精神。此次课程设计中我学到了很多很多重要的东西,它使我的能力得到了全方位的提高,对于专业技能有了更深刻的了解。感谢我的导师冯成龙老师给了我莫大的帮助,在他悉心的指导和严格的要求下,我的毕业论文顺利完成了。论

42、文从选题到最终的完成,凝结着导师辛勤的汗水,他不辞劳苦的教导、严谨的作风使我终生受益。在此毕业设计完成之际,谨向导师和所有帮助过我的老师致以崇高的敬意和衷心的感谢。还有感谢家人、朋友还有宿舍里所有的室友,是他们给我创造了良好的学习氛围,在学习和生活中给了我支持和帮助。在以后的学习生活中我会时时敦促自己更加努力,不辜负师长、亲人、朋友对我的期望。参考文献1. 姜煜.基于FPGA芯片设计多功能数字钟的研究J.应用科技报,2001,28(12):18(完整的)2. 高景德,王祥珩.交流电机的多回路理论J.清华大学学报,1987 (1):18(缺卷的)3. 刘守义.单片机应用技术M.西安:西安电子科技

43、大学出版社,2002,98107 4. 孙育才.MCS-51系列单片机微型计算机及其应用M.东南大学出版社,1997.3285. 刘和平.单片机原理与应用M:北京:机械工业出版社,2002.2012096. 鲁刚强.基于液晶显示器的单片机设计J.科技资讯,2008,卷号(35):22237. 童诗白,华成英.模拟电子技术基础M.北京,北京高等教育出版社.2001 8. 何立民.MCS-51系列单片机应用系列设计M.航空航天大学出版社,2004 附录1 系统电路图附录2 系统程序#include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include sbit RS =

44、 P24; /定义端口 sbit RW = P25;sbit EN = P26;#define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0#define EN_SET EN=1unsigned char temp,i,Second=0;unsigned char Time16=Time: 11:58 AM;unsigned char cord_h,cord_l; /键盘高低8位bit S=0;void S_T()SCON=0x80; /波特率ES=1; /EA=1; /REN=1; /* 微秒延时函数*/void delay_us(unsig

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号