可编程作息时间控制器设计方案_第1页
可编程作息时间控制器设计方案_第2页
可编程作息时间控制器设计方案_第3页
可编程作息时间控制器设计方案_第4页
可编程作息时间控制器设计方案_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、 可编程作息时间控制器设计方案1、阅读中外文献资料摘要:数字钟是采用数字电路实现对年、月、日、周、时、分、秒数字显示的计时装置.由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。可编程作息时间控制器就是其中的一个部分,它能很好的帮助我们完成对操控方面的时序和时间的控制,可见可编程时钟控制器在未来有很大的发展潜力,其研究领域十分宽广,应用领域十分广泛。2、立题依据及主要研究内容:数字钟能长期、连续、可靠、稳定地工作;同时还具有体积小,功耗低等特点,便于携带,使用方便。目前应用广泛是可

2、编程作息时间控制器,它不仅具有数字钟的一般优点,还有控制时间精确,且通过改变单片机的程序能够灵活改变冬、夏季作息时间,同时能够实时显示时间.能够让我们来掌握运筹时间而不是让时间来催促逼迫我们。可编程作息时间控制器实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,实现代学校必不可少的设备.本次研究的主要内容是可编程作息时间控制器系统,系统包括:单片机、LCD驱动及显示系统、按键输入系统、功率放大系统和电源组成。利用单片机提供的基信号作为基准计时信号,进行年月日周时分秒计时,根据设定时间完成语音播报,可按照设定的时间进行相应的控制,能够随意设置语音播报时间和内容。3、设计方案及思路:

3、主要的设计方案为:1硬件设计由单片机系统、输入键盘、功率放大器、显示系统等部分组成。系统扩展了四个按键用于报时及设定时间。利用单片机的DAC为电流型输出,经负载电阻R1、三极管Q1,放大驱动扬声器放音,SPEAKER可选用4Q或8Q扬声器,作为调试和当地语音播报使用,留有音频输出接口经功率放大器驱动音箱。用一个LED显示作息时间到等相关信息,根据具体需要可控制电铃、播放提示语音等。2软件设计整个程序分为:主程序、键盘扫描程序、校时子程序、语音子程序等几部分。设计思路由单片机系统、输入键盘、功率放大器、音箱和显示系统等部分组成,构成可编程作息时间控制器系统,要以单片机为核心,配以输入、输出、显示

4、、控制等外围部件和软件,硬件是软件实现的基础,软件则在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,却一不可。要求如下(1)时钟显示:16位LED从左到右依次显示年、月、日、周、时、分、秒,采用24计时。按键控制功能:采用4个独立键盘,其中一个为功能键;一个为数字调整键;一个为取消设置键,用来设定时间;另一个为用来设定定时时间。时间显示:通电后,系统自动进入时钟显示,从0000:00:00:00:00:00:00:00开始计时,此时可以调整和设置显示的时间。按动小时调整键后小时将会加1,同时也可以调整分和秒,原理和前面的小时设置方法相同,用按键来调整所设置

5、的当前的时间。时间调整:按下功能键,系统停止计时显示,进入时间设定状态,系统只显示小时内容,其他时间处于暂停状态;若再按动功能键则用来调整分钟,此时小时和秒都处于停止状态;原理和前面的相同。闹钟设置/启闹:按下闹钟设置/启闹键,系统继续计时,从0000:00:00:00:00:00:00开始显示,此时再按功能键后进入闹钟设置状态,设置过程和时间调整相同,当与所设置的时间相同时,并且定时间到时,音箱开始发声。以上要求用软件编程来实现,通过编程方法可得到主程序、键盘扫描程序、校时子程序、语音播放子程序等几部分,再利用仿真系统进行功能仿真和调试,最后结合硬件就能得到一个可编程作息时间控制器.4、毕业

6、设计(论文)工作计划:2009年12月1日至2010年3月5日相关文献的调研,资料收集2010年3月5日至2010年3月12日系统方案探讨与指导教师问题答疑2010年3月12日至2010年3月19日硬件设计2010年3月19日至2010年3月26日软件设计2010年3月26日至2010年4月2日软件硬件联调2010年4月2日至2010年4月9日完成毕业论文写作2010年4月9日至2010年4月16日2010年4月16日至2010年4月23日论文指导教师初评,并给出修改意见,学生进行修改完成毕业答辩PPT,准备毕业答辩5、指导教师审核意见:指导教师(签名)注:1)开题报告由学生填写,须经指导教师

7、审批2)阅读文献资料摘要,要比较全面反映题目研究已取得的成果和研究动态3)立题依据包括立题的必要性可编程作息时间控制器设计与制作摘要:本文介绍了一款基于AT89S52单片机数字钟的设计,通过多功能数字钟的设计思路,详细叙述了系统硬件、软件的具体实现过程。论文重点阐述了数字钟硬件中主控制模块、时钟模块、显示模块和相关控制模块等的模块化设计与制作;软件同样采用模块化的设计,本设计实现了时间与闹钟的修改功能、语音播报功能、年、月、日和星期等的显示功能。并且通过对比实际的时钟,查找出了误差的来源,确定了调整误差的方法,尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。本次设计过程在硬件与软

8、件方面是进行同步设计。硬件部分主要AT89C52单片机,LED显示电路,以及调时按键电路等组成。在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用片7SEG-MPX8-CA和一片7SEG-MPX4-CA7SEG-MPX8-CA是一种八个共阳二极管显示器,7SEG-MPX4-CA是一种四个共阳二极管显示器。为了能更轻松的控制这三片显示器,本人使用了3片74HC164来驱动74HC164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。软件方面主要包括日历程序、时间调整程序,公历转阴历程序,显示程序等。程序采用汇编语言编写,以便更简单地实现调整

9、时间及阴历显示功能。关键词:时钟电钟;DS1302;DS18B20;动态扫描;单片机ABSTRACTThisarticledescribesanAT89S52microcontrollerbaseddigitalclockdesign,throughmulti-functionaldigitalclockdesignideas,detaileddescriptionofthesystemhardwareandsoftwarerealizationprocess.Paperfocusesonthedigitalclockinthemaincontrolmodulehardware,thecloc

10、kmodules,displaymodulesandassociatedcontrolmodules,modulardesignandproduction;softwareasmodulardesign,thedesignandimplementationofthechangesoftimeandalarmfunctions,voicebroadcastfunction,year,month,dayandweek,etc.display.Andbycomparingtheactualclock,findoutthesourceoftheerror,theerrorofthemethodofde

11、terminingtheadjustment,asmuchaspossibletoreduceerrorsEnablethesystemtoachieveapracticaldigitalclockwithinallowableerror.HardwaremainlybytheAT89C52microcontroller,LEDdisplaycircuit,andthetunecomposedofthecircuitwhenthebutton.IntheSCMchoiceIusedtheAT89C52microcontroller,whichissuitableformanyofthemore

12、complexcontrolapplications.Monitortheuseoftwo7SEG一MPX8CAanda7SEG一MPX4CA.7SEG-MPX8-CAisatotalofeight-yangdisplay7SEG-MPX4-CAisatotaloffour-yangdiodedisplay.Inordertomoreeasilycontrolthethreemonitors,Iusethree74HC164todrive.74HC164isan8-bitedge-triggeredshiftregister,serialinputdata,andparalleloutput.

13、Thesoftwareincludescalendarprogram,timetoadjustprocedures,turnthelunarcalendarprogramsdisplayprograms.Programswritteninassemblylanguageusedinordertomoreeasilyadjustthetimeandtherealizationofthelunarcalendardisplay.Allprogrammingiscomplete,thewavesoftwaredebugging,Keywords:Clockelectricclock:DS1302;D

14、S18B20:DYNAMIC;SCANSCMTOC o 1-5 h z摘要6 HYPERLINK l bookmark6 ABSTRACT7 HYPERLINK l bookmark8 前言10 HYPERLINK l bookmark10 一、设计要求与方案探讨11 HYPERLINK l bookmark12 1.1设计目的与意义10 HYPERLINK l bookmark14 1.2设计要求11 HYPERLINK l bookmark16 系统基本方案选择探讨111.3.1主控制芯片的选择方案探讨11 HYPERLINK l bookmark18 1.3.2时钟芯片的选择方案探讨12

15、1.3.3LE显示系统选择方案探讨13 HYPERLINK l bookmark20 二、硬件设计14 HYPERLINK l bookmark22 2.1系统电路设计框图14 HYPERLINK l bookmark24 2.2系统硬件设计概述14 HYPERLINK l bookmark26 2.3系统主要基本单元电路的设计14 HYPERLINK l bookmark28 2.3.1主控制系统电路的设计14 HYPERLINK l bookmark30 2.3.2时钟电路的设计16LEIS示电#的设计17 HYPERLINK l bookmark32 2.4系统电路原理说明18 HYPE

16、RLINK l bookmark34 三、软件设计223.1程序流程框图22 HYPERLINK l bookmark44 3.2子程序的设计243.2.1读、写DS1302子程序25四、硬件与软件调试2 HYPERLINK l bookmark48 4.1硬件调试-25 HYPERLINK l bookmark50 4.2软件调试27 HYPERLINK l bookmark52 4.3调试结果分析与结论294.3.1调试结果分析-294.3.2调试结论-29 HYPERLINK l bookmark54 五、论文总结30 HYPERLINK l bookmark56 参考文献30附录一:系

17、统电路图31 HYPERLINK l bookmark62 附录二:系统程序清单32 HYPERLINK l bookmark64 致谢50前言随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子数字钟一电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计

18、时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,这种数字钟的出现带来了钟表计时业界跨跃性的进步。本文通过对一个能实现按键开关可调整年、月、日、周、时、分、秒,且具有测温功能、定点报时的24小时制的时间系统的设计学习,详细介绍了单片机应用中的定时中断原理、数码管显示原理、动态扫描显示原理等,进一步学习、应用单片机汇编语言系统的实现了各种功能。从而使自身明白使用单片机汇编语言和C语言之间的效率、整体性问

19、题。系统由单片机、独立式按键、时钟芯片、LED数码管、蜂鸣器等部分构成,能实现24小时制年、月、日、周、时、分、秒等时钟显示。同时也可进行年、月、日、周、时、分、秒的校准、定点报时和LED数码管显示。一、设计要求与方案论证1.1设计目的与意义在学习了数字电子技术和单片机原理及接口技术课程后,为了加深对理论知识的理解,学习理论知识在实际中的运用,培养动手能力和解决实际问题的经验让学生接触专用时钟芯片DS1302,并会用DS1302芯片开发时钟系统,应用到其他系统中去。熟悉WAVE软件调试程序和仿真.、通过实验提高对单片机的认识;通过实验提咼焊接、布局、电路检查能力;、通过实验提高软件调试能力;进

20、一步熟悉和掌握单片机的结构及工作原理。通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。通过实际程序设计和调试,逐步掌握系统化程序设计方法和调试技术。通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。1.2设计要求:具有年、月、日、星期、时、分、秒等功能;时间与阴、阳历能够自动关联;具备年、月、日、星期、时、分、秒校准功能1.3系统基本方案探讨131主控制芯片的选择方案探讨:采用89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,与工业标准的MCS-

21、51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行硬件与软件调试时,由于对程序的错误修改或对程序的新增功能需要烧入程序时,调试麻烦,并且这样对芯片的多次拔插会对芯片造成一定的损坏。采用AT89S52,片内ROM全都采用FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,具有3个16位定时器/计数器,8个中断源,同样具有AT89C51的功能,且具有ISP在线编程可擦除技术,当在对电路进行调试时,

22、由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。可见AT89S52更能满足各方面的设计要求,减少不必要的麻烦,所以选择采用AT89S52作为主控制系统.1.3.2时钟芯片的选择方案探讨:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。设计的数字钟误差不能太大,所以不采用此方案。可以采用DS1302时钟芯片,DS1302是美国DALLAS公司推出的一种咼性能、低功耗、带RAM

23、的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,而且精度高工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31x8的用于临时性存放数据的RAM寄存器。但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。所以采用DS1302时钟芯片,更加可靠,稳定。133显示系统选择方案探讨:万案一:采用LED液晶显示屏,液晶显示屏的显示功能强大,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示系统(字符

24、或点阵),可显示大量文字,图形,显示多样,清晰可见,但是这次设计显示主要是数字,没有大量文字,图形显示,并且价格昂贵,需要的接口线多,所以在此设计中不会采用LED液晶显示屏.采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。综上所述,所以采用了LED数码管作为显示。1.3电路设计最终方案决定综上各方案所述,对此次毕业设计的方案选定:采用AT89S52作为主控制系统;DS1302提供时钟;数字式温度传感器DS18B20作为温度传感器;LED数码管动态扫描作为显示。二硬件设计2.1电路设计方案图2.2系统硬件设计概述本电路是由

25、AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由时钟芯片DS1302提供,它是一种高性能、低功耗、可靠稳定,带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份由21个数码管,74ls138、74ls

26、47译码器等构成。使用LED数码管动态扫描显示方式对数字的显示。2.3系统主要单元电路的设计2.3.1系统主控制电路的设计At89s52是一种低功耗、高性能CM0S8位微控制器,是具有40引脚双列直插芯片,具有8K在系统可编程Flash存储器。与工业80C51产品指令和引脚完全兼容。具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口通信。有四个I/O口P0,P1,P2,P3,功能如下:P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端

27、口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2

28、EX),具体如下表所示。本设计系统设计如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端.如图-1所示14的S饷蠢电路舄歸独iil21烹S681吒RTTPHIPDTF-l7fTsFT?fTT232时钟电路的设计为了实现系统报警计时等功能,此设计采用了DS1302实时时钟芯片。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年

29、、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31x8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。图-2示出DS1302的引脚排列,其中Vccl为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vccl或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS

30、1302供电。当Vcc2小于Vccl时,DS1302由Vccl供电。XI和X2是振荡源,外接32.768KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在VSS大于等于2.5V之前,RST必须保持低电平。中有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数

31、据输入端(双向)。SCLK始终是输入端。DS1302与CPU的连接需要三条线,即SCLK(7)、1/0(6)、RST(5)。下图DS1302与89S52的连接图,其中,时钟的显示用LCD。luoilJH3d72.3.3显示系统电路的设计如图一5所示,采用LED数码管动态扫描显示,由21个数码管,3-8译码器74LS138接1K限流电阻,再接8550三极管接到共阳数码管的输出端作为选通位码,每位选择相应的列741s47接240Q限流电阻,再接共行的LED数码管的断码。CT3W:3OPSICT3:3OrsTNh-4-?CT3W:3Orarbcd-IRbEdIn-hEdc.1n-H-H.u.I.o5

32、5su/1550.0冬二4bEdED动态扫描显示电路电路2.4系统电路原理及说明(1)单片机AT89S52的工作原理:1.1引脚功能及结构具有8K字节在系统可编程Flash存储器.1000次擦写周期全静态操作0Hz33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符等结构与功能。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地

33、址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二

34、功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)Pl.5MOSI(在系统编程用)Pl.6MISO(在系统编程用)Pl.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的

35、内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.

36、2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F

37、LASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端

38、必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平,CPU则执行内部程序存储器的指令。(2)时钟芯片DS1302的工作原理:2.1引脚功能及结构DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

39、RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在VCC2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK为时钟输入端。下图为DS1302的引脚功能图:1327X2I36GND匚45.!VcciSCLK;VO_RSTDS1302封装图22DS1302的控制字节DS1302的

40、控制字如表-1所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出1RAM/A4A3A2A1A0RD/lCK/WR表-1DS1302的控制字格式2.3数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7

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

42、了实现系统报警计时等功能,此设计采用了DS1302实时时钟芯片。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31x8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。2.1引脚功能及结构DS1302的引脚排列,其中Vcc1为后备电源

43、,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终

44、止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK始终是输入端。三、软件设计31.0主程序流程框图初始化读、写日期、时间分离日期时间显示值显示子程序定时闹铃子程序日期、时间修改子程序农历自动更新子程序闰月子程返回图-A主程序流程图311计算阳历程序流程图31.2时间调整程序流程图31.3阴历程序流程图图-D阴历程序流程图3.2子程序的设计3.2.1读、写DS1302子程序写1302程序WRITE:NOPMOVA,31HCLRSCLKNOPMOVR4,#8NO

45、PNOPWRITE2:SETBRSTMOVIO,CRRCANOPNOPNOP送数据给MOVA,32HNOP1302MOVR4,#8NOPCLRSCLKWRITE1:SETBSCLKNOPRRCA;送地址给NOPNOP1302NOPMOVIO,CNOPDJNZR4,WRITE1NOPNOPCLRSCLKNOPCLRSCLKNOPNOPSETBSCLKNOPNOPNOPMOVIO,CMOVC,IONOPNOPNOPDJNZR4,WRITE2NOPNOPCLRRSTNOPNOPRETSETBSCLKNOPNOPNOP;读1302程序NOPRRCAREAD:NOPNOPCLRSCLKCLRSCLKNO

46、PNOPNOPNOPNOPNOPNOPSETBRSTDJNZR4,READ1SETBSCLKNOPMOVR4,#8NOPMOVA,32HREAD2:DJNZR4,READ2MOVR4,#8CLRSCLKMOV31H,AREAD1:NOP;从1302中读出CLRRSTRRCA;送地址给数据RET1302NOP软件硬件联调4.1硬件调试本系统已符合设计基本要求,即可以实现24小时方式;可使用按键开关可现时、分调整。除了满足这些基本要求外,本系统还做了一些创新:通过功能按键开关KEY1进入可进入时间校准系统。KEY2控制秒的校准,KEY3控制分的校准,KEY4控制时的校准。每次一有校准按键按下时,系

47、统会发出不同的声响,以提示用户目前正在校准的是时、分、秒的哪一种。校准完成后仍然是通过功能按键KEY1返回时钟显示。通过更改主程序中定时器的定时初值,可实现不同样式的数字钟显示方式。通过实验测得以下参数如表2所示(程序中定时参数CYCLE在以下简称C):C(ms)0C11C3030C数码管显示方式静态闪烁拉幕式最后电子万年历的电路系统较大,对整个电路线路检查一次,逐步去检查每个线路端点,看接线牢固不牢固,可见对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要注意处理,否则会刺被带有包皮的导线,则会对电路造成短路现象。

48、在本成电子万年历的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都是可以避免的,涉及DS1302与CPU的连接时要注意,DS1302与CPU的连接时,在硬件调试程序时可以不加电容器,只加一个32.768kHz的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。只要占用CPU一个口线即可。具有3-4线串行接口,可与任何单片机、IC接口。功耗低,显示状态时电流为2pA(典型值),省电模式时小于1pA,工作电压为2.4V3.3V,显示清晰。4.2软件调试电子成年历是多功能的数字钟,可以看当前日期(阴、阳历),时间,还有温度的仪器

49、。电子成年历功能很多,所以对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次的系统子程序的修改,一步一步的完成,最终解决了软件。烧入程序后,看LED数码管能否稳定显示,而且亮度均匀。再通过按键来更改时间是否成功,就是能否修改时间,能就成功。修改时间、日期时没有农历没有自动对应上。把不相关的程序暂时屏蔽,地农历的子程序独立调试,如发现在调用农历自动更新时,对十进制和十六进制处理不好,所以会造成错乱。最后把相应的十进制进行修改,使得可以与十六进制对应,这样就行了。4.3调试结果分析与结论4.3.1调试结果分析.在调试中遇到发光二极管、LED数码管为不显示时,首先使用试

50、测仪对电路进行调试,观察是否存在漏焊,虚焊,或者元件损坏;或是软件上有什么问题,有什么错误等。.LED数码管显示不正常,还有亮度不够,首先使用试测仪对电路进行调试,观察电路是否存在短路现象。查看烧写的程序是否正确无误,对程序进行认真修改。4.3.2调试结论在本设计中,为了设计的顺利进行,我在实验箱上进行了部分调试,因为电路太复杂,在实验箱上不可能整体电路进行调试。调试后,我就自己焊接了一个试验板进行调试。以确保最后能很好的完成其各部分功能。最后经过多次的反复调试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力同时在软件的编程方面得到更到的提高,对编程能力得到加强同

51、时对所学的知识得到很大的提高与巩固.五、论文总结在整个设计过程中,充分发挥人的主观能动性,自主学习,学到了许多没学到的知识。这次毕业论文的制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。我从资料的收集中,掌握了很多单片机、LED显示屏的知识,让我对我所学过的知识有所巩固和提高,并且让我对当今单片机、LED显示屏的最新发展技术有所了解。在整个过程中,我学到了新知识,增长了见识。在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨

52、练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在此次设计中,知道了做凡事要有一颗平常的心,不要想着走捷径,一步一脚印。也练就了我们的耐心,做什么事都在有耐心。此次论文中学了很多很多东西,这是最重要的。参考文献1刘勇编数字电路电子工业出版社20042陈正振编电子电路设计与制作广西交通职业技术学院信息工程系20073杨子文编单片机原理及应用西安电子科技大学出版社20064王法能编单片机原理及应用科学出版社20045张友德、赵志英等编单片微型机原理、应用与实验上海:复旦大学出版2003第四版6钱晓揭.16/32位微机原理、汇编语言及接口技术M.机械工程出版社2005年7吴金.8

53、051单片机实践与应用M.清华大学出版社,2002年8谢自美.电子线路设计试验测试(第二版)M.华中科技出版社2002年9张疑坤,陈善久,裘雪红.单片微型计算机原理及应用M.西安电子科技大出版社2003年10马忠梅编著单片机的C语言应用程序设计北京航空航天大学出版社,1999年11王幸之编著单片机应用系统抗干扰技术北京航空航天大学出版社,2000年12赵茂泰.智能仪器原理及应用.电子工业出版社,2004:100-1562010年4月10日附录二:系统电路图22223333CMLLU3MLZ-Dd.$述AT89S52333533533333938324=3附录二:系统程序清单;初值MOV32H,

54、#87HLCALLREADMOVday,31H;读出日MOV32H,#85H;读出小时;串行输出,LCALLREADMOVhour,31H;计数器1,方MOV32H,#83H;读出分钟LCALLREAD程序如下:C0NFIG12EQU7FHTEMPHEQU21HTEMPLEQU20HREG2EQU22HREG3EQU23HREG4EQU24HDATEQUP0.7SCLKEQUP3.2IOEQUP3.3RSTEQUP3.4YearDATA66HMONTHDATA65HWEEKDATA64HDAYDATA63HHOURDATA62HMINTUEDATA61HSECONDDATA60HORG0000

55、HLJMPSTARTORG001BHLJMPINTT1START:LCALLZJSETBEAMOVSCON,#00H方式0MOVTMOD,#10H式1MOVTL1,#00HMOVTH1,#00HMOV32H,#8EHMOV31H,#00H;允许写1302LCALLWRITEMOV32H,#90HMOV31H,#0A6H;1302充电,充电电流1.1MALCALLWRITE、-j-1_tI、:;主程序MAIN1:MOV32H,#8DH;读出年LCALLREADMOVyear,31HMOV32H,#8BH;读出星期LCALLREADMOVweek,31HMOV32H,#89H;读出月LCALLRE

56、ADMOVmonth,31HMOVMINTUE,31HMOV32H,#81H;读出秒LCALLREADMOVsecond,31Hfjfjfjfjfjfjfjfjt.、_-t.y,fjfjfjfjfjfjfjfj;分离缓存MOVR0,year;年分离,送显示缓存LCALLDIVIDEMOV7BH,R1MOV4BH,R1MOV7CH,R2MOV4CH,R2MOV78H,weekMOV48H,weekMOVR0,month;月分离,送显示缓存LCALLDIVIDEMOV79H,R1MOV49H,R1MOV7AH,R2MOV4AH,R2MOVR0,day;日分离,送显示缓存LCALLDIVIDEMOV

57、76H,R1MOV46H,R1MOV77H,R2MOV47H,R2MOVR0,hour;小时分离,送显示缓存LCALLDIVIDEMOV74H,R1MOV44H,R1MOV75H,R2MOV45H,R2MOVR0,mintue;分钟分离,送显示缓存LCALLDIVIDEMOV72H,R1MOV42H,R1MOV73H,R2MOV43H,R2MOVR0,second;秒分离,送显示缓存LCALLDIVIDEMOV70H,R1MOV40H,R1MOV71H,R2MOV41H,R2CLREALCALLTOUTOUSETBEALCALLDISPLAYLCALLGENGXIAN;更新农历程序JNBP0.

58、1,SETG111JNBFO,SSSSETBP0.4;非闰月,则p0.4清零,指示灯亮LJMPMAIN1SETG111:LJMPSETGSSS:CLRP0.4;闰月,则p0.4置位,指示灯不亮LJMPMAIN1;温度TOUTOU:LCALLCHUSHILCALLDL1MSLCALLRDTEMPLCALLRESETMOVA,TEMPLMOVA,#0CCHANLA,#1111OOOOBLCALLWRITE111MOVTEMPL,AMOVA,#0BEHMOVA,TEMPHLCALLWRITE111ANLA,#OOOOO111BLCALLERAD111ORLA,TEMPLMOVTEMPL,ASWAPA

59、LCALLERAD111MOV25H,AMOVTEMPH,AMOVA,25HRETMOVB,#64HRESET:DIVABLA:MOVA,BSETBDATMOVB,#0AHMOV52H,#200DIVABLB:SWAPACLRDATORLA,BDJNZ52H,LBMOV10H,ASETBDATRETMOV52H,#30CHUSHI:LC:LCALLRESETDJNZ52H,LCMOVA,#0CCHCLRCLCALLWRITE111ORLC,DATMOVA,#4EHJCLBLCALLWRITE111MOV58H,#80MOVA,#CONFIG12LD:LCALLWRITE111ORLC,DATR

60、ETJCLPRDTEMP:DJNZ58H,LDLCALLRESETSJMPLAMOVA,#0CCHLP:LCALLWRITE111MOV52H,#250MOVA,#44HLF:LCALLWRITE111DJNZ52H,LF公历设置程序RETWRITE111:MOV53H,#8W51HA:SETBDATMOV54H,#8RRCACLRDATW52HA:DJNZ54H,W52HAMOVDAT,CMOV54H,#30W53HA:DJNZ54H,W53HADJNZ53H,W51HASETBDATRETERAD111:CLREAMOV58H,#8RD1A:CLRDATMOV54H,#6NOPSETBDA

温馨提示

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

评论

0/150

提交评论