毕业设计(论文)-基于AT89S51单片机的多功能时钟设计.doc_第1页
毕业设计(论文)-基于AT89S51单片机的多功能时钟设计.doc_第2页
毕业设计(论文)-基于AT89S51单片机的多功能时钟设计.doc_第3页
毕业设计(论文)-基于AT89S51单片机的多功能时钟设计.doc_第4页
毕业设计(论文)-基于AT89S51单片机的多功能时钟设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

I目录1绪论.11.1发展现状、目的及意义.11.2设计内容.12系统总体设计.12.1总体框架设计.12.2设计与运行环境.12.3硬件功能描述.13系统硬件设计.13.1主控模块AT89S51.13.1.1AT89S51引脚图.13.1.2AT89S51功能.13.2实时时钟芯片DS1302.33.2.1DS1302引脚功能.33.2.2DS1302内部结构图.43.2.3DS1302的数据输入输出.43.2.4DS1302的寄存器.43.3电源模块的设计.53.4独立按键模块.53.5显示模块.63.6复位电路模块.63.7闹铃模块.74系统软件设计.84.1主程序设计.84.2主程序流程图.84.3读DS1302中断及闹铃检测流程图.95结论.10致谢.10参考文献.12附录.131绪论11绪论1.1发展现状、目的及意义单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机具有体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机在出现时,Intel公司就给其单片机取名为嵌入式微控制器(embeddedmicrocontroller)。单片机的最明显的优势,就是可以嵌入到各种仪器、设备中。这一点是巨型机和网络不可能做到的。单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:定时器,比较器,A/D转换器,D/A转换器,串行通信接口,Watchdog电路,LCD控制器等。随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步,最终人们可能发现:单片机与微机系统之间的距离越来越小,甚至难以辨认。同时,随着人们生活节奏的加快,时钟已经成为人们日常生活中的必需品,许多家用电器都带着时钟模块,而人们也不再满足于仅仅具有时间显示功能的时钟,对时钟功能的要求也越来越全面,单片机以其强大的功能成为多功能电子时钟的首选,为电子时钟的功能扩展提供了强大的支持,实现一物多用,提高电子时钟的使用价值。当然们不再满足于电子时钟的计时显示功能时语音时钟在社会生活中已经得到了广泛应用,本文探讨的系统即为其中一种,给出的实现方案和系统设计过程中实现的单片机模拟单线总线通信方式,单片机模拟SPI通信方式,有一定参考价值。此外,文中探讨的系统也对传统的语音时钟做了扩充,增加了数字温度计模块。本设计详细介绍了该系统的组成和基本原理,中带你介绍了硬件设计的思想和软件设计的思路,保证在系统功能齐全,性能良好的前提下,最大限度的简化电路,降低系统的整体成本,提高系统的可靠性!1.2设计内容基于单片机的多功能时钟设计,主要探讨了一种带数字温度计的语音时钟的实现方案。本方案采用单片机AT89S51作为控制单元,与数字温度芯片DS18B20接口获得温度数据,与实时时钟芯片DS1302接口获得时间/日历数据,通过与液晶模块OCM12864-1接口显示温度,时间和日历。按键中断模块包含四个按键,分别与单片机INT0,INT1,T0,T1引脚连接,实现四个外部中断源,用以调整时间和闹钟,开关闹钟和控制语音报时。语音报时通过语音芯片ISD4003-4和扬声器实现。2系统总体设计12系统总体设计2.1总体框架设计系统结构如图2-1所示。本方案采用单片机AT89S51作为控制单元,与数字温度芯片DS18B20接口获取温度数据,与实时时钟芯片DS1302接口获取时间/日历数据,通过与液晶模块OCM12864-1接口显示温度、时间和日历。图1中的按键中断模块包含了四个按键,分别与单片机的INT0,INT1,T0,T1连接,实现四个外部中断源,用以调整时间和闹钟,开关闹钟和控制语音报时。图2-1系统结构图2.2设计与运行环境数字钟的程序设计和调试均在KeiluVision2环境下完成的。设计并完成的程序下载至STC89C52单片机后,即可初始化时钟芯片DS1302从而开始计时,系统开始正常运行。2.3硬件功能描述(1)本设计采用DS1302实时时钟芯片来进行计时,并将1302的数据输入单片机进行处理,送入LCD1602液晶显示屏进行显示。(2)用四个电位按键来实现对电子时钟的调试工作,当按第一下总控键时进入中断程序,即时钟的调整状态,有两个电位按键分别来调整时钟的加和减;第四个按键用来调整时分秒日月年,按一下调整秒,连按两下调整分,按三下调整时,四下调整日,五下调整月,六下调整年,七下退出时间设置。(3)用一个按键和其他部件组成的复位电路与芯片连接来实现整个程序及硬件的重新复位功能。3系统硬件设计13系统硬件设计数字钟的电路主要有电源模块、显示模块、按键模块、复位电路模块、时钟芯片模块、主控芯片STC89C52模块和闹铃模块等7大模块组成。3.1主控模块AT89S51AT89S51是51系列单片机的一个型号,它是ATMEL公司生产的。AT89S51是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89S51单片机可为您提供许多较复杂系统控制应用场合。AT89S51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S51可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89S51有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。3.1.1AT89S51引脚图AT89S51引脚图如图3-1:图3-1AT89S51引脚图3.1.2AT89S51功能AT89S51为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包3系统硬件设计2括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。AT89S51的主要管脚有:(1)XTAL1(19脚)和XTAL2(18脚):振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端;P0P3:为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(3239脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。(2)P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。(3)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。3系统硬件设计3(4)ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。(5)PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。(6)EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。(7)XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。(8)XTAL2:振荡器反相放大器的输出3.2实时时钟芯片DS1302DS1302由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路,它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。3.2.1DS1302引脚功能DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),SCLK为时钟输入端。3系统硬件设计43.2.2DS1302内部结构图DS1302内部结构图如图3-2:图3-2DS1302内部结构图3.2.3DS1302的数据输入输出在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7,数据读写时序如图3-3所示:图3-3DS1302的数据输入输出3.2.4DS1302的寄存器D

温馨提示

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

评论

0/150

提交评论