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

下载本文档

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

文档简介

1、好好扮演自己的角色,做自己该做的事。少为失败找理由多为成功找方法大多数人想要改革这个世界却不晓得即时从小事做起XX大学本科生毕业设计说明书(毕业论文)题 目:单片机多功能电子钟的设计 -硬件设计学生姓名:昊天学 号:20011616专 业:电子信息工程班 级:010203指导教师:刘华摘 要电子钟主要是利用现代电子技术将时钟电子化、数字化与传统的机械钟相比具有时钟精确、显示直观、无机械传动装置等优点因而得到广泛应用另外在生活和工农业生产中人们对电子钟的功能又提出了诸多要求:报时、闹钟、日历、温度显示这就需要电子时钟的多功能性根据人们的不同要求本设计主要为实现一款可正常显示时钟/日历、测量环境温

2、度、带有定时闹铃的多功能电子时钟笔者通过查阅大量的资料对当前电子钟开发技术进行了认真的比较和分析最终确定采用单片机技术实现多功能电子时钟本设计基于AT89C51芯片作为核心7位LED数码管显示使用DS1302时钟日历芯片完成时钟/日历的基本功能同时利用DS18B20温度传感器测量环境温度这种设计方法的优点是电路简单性能稳定实时性好时间和温度精度高性价比高开发较为容易关键词:电子时钟;多功能;DS1302时钟日历芯片;AT89C51;温度传感器The Design with Investigation of the Multi-function Electron Clock The Design

3、 of the Hardware AbstractThe electronic clock mainly uses the electronic technology make the clock computerization the digitization.Compared with the traditional mechanical bell it has the clock precision intuitive display the advantages of no mechanical transmission device which is widely used.In a

4、ddition living and industrial and agricultural production people on the clocks function has also put forward many demands: alarm clock calendar temperature display so electronic clock need multi-function.According to the different requirements of the people the design for the main implementing a clo

5、ck/calendar can be displayed normal collecting personal ambient temperature with the timing alarm of the multi-function electronic clockThrough access to a lot of information.Comparing and analysising the development technology of the electron clock the design determines to use the MCU technology to

6、 realize the multi-functional electron clock. This design application AT89C51 as a core chips 7 LED digital displaying using DS1302 real-time clock chip to complete the basic function of the clock/calendar. At the same time the design use of DS18B20 temperature sensors to collect the environmental t

7、emperature. The method has the advantage of being simple circuit reliable performance good real-time high precision of the time and temperature cost-effective to develop more easily.Key words: Electronic clock; Multi-function; DS1302; AT89C51; Temperature pickup 目 录摘 要IAbstractII第一章 引 言11.1 多功能电子时钟研

8、究的背景和意义11.2 电子时钟的功能2第二章 电子时钟设计方案分析32.1 NE555时基电路设计方案32.2 单片机设计方案4第三章 基于单片机的电子时钟硬件设计53.1 主要IC芯片选择53.1.1 微处理器选择常用时钟日历芯片比较 DS1302简介 DS1302引脚说明 DS1302的控制字和读写时序说明 DS1302的片内寄存器93.1.2 环境温度传感器选择 常用温度传感器比较 DS18B20简介 DS18B20内部结构113.2 电子时钟硬件电路设

9、计133.2.1 时钟电路设计143.2.2 环境温度采集电路设计143.2.3 显示电路153.2.4 按键电路设计163.2.5 闹铃电路设计173.2.6 复位电路设计18第四章 电子时钟软件设计204.1 主程序设计204.2 子程序设计204.2.1 实时时钟日历子程序设计204.2.2 环境温度采集子程序设计214.2.3 显示子程序设计244.2.4 键盘扫描子程序254.2.5 闹铃子程序设计25结 论29参考文献30附录A 多功能电子时钟元器件一览表31附录B 多功能电子时钟硬件原理图32致 谢33第一章 引 言一寸光阴一寸金寸金难买寸光阴从古至今时间是人们生活中不可缺少的重

10、要伴侣如果没有时间的概念社会将停滞不前从古代的圭表、水漏到后来的机械钟表以及当今的电子钟都充分显现出了时间的重要因此利用当今先进的科技致力于电子钟的研究将能更好的服务于人们的生活1.1 多功能电子时钟研究的背景和意义电子技术是十九世纪末、二十世纪初开始发展起来的新兴技术二十世纪发展最迅速应用最广泛成为近代科学技术发展的一个重要标志在其推动下现代电子产品正在以前所未有的革新速度向着功能多样化、体积最小化、功耗最低化的方向迅速发展电子技术的发展有力的推动社会生产力的发展 郭沫若先生曾说:时间就是生命时间就是速度时间就是力量时间对我们来说总是那么宝贵在我们的日常工作、学习、生活中时间概念愈加显得重要

11、在高度发达信息化的21世纪人们总是那么忙碌生活工作中班车要准点上班要准时开会要有时间限制;工业生产中每一道工序都要有严格的时间限制这样才能做到井井有条;严谨的科技研究中时间更是重中之重能够准确的了解并且实时性的知道时间是我们学习、工作、生活中不可或缺的机械式钟表虽然也可以告知人们时间也可以定时显示日历但是由于受到机械结构、动力和体积的限制在功能、性能以及造价上都没办法与电子时钟相比 电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置广泛应用于个人家庭室外广场汽车站和火车站等公共场所成为人们日常生活中不可少的必需品由于数字集成电路的发展和石英晶体振荡器的广泛应用使得数字钟的精度远远超过老

12、式钟表钟表的数字化给人们生产生活带来了极大的方便而且大大地扩展了钟表原先的报时功能诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等所有这些都是以钟表数字化为基础的因此更为先进的电子钟的研究有着良好的发展前景和市场潜力随着社会的进步人们越来越青睐功能多样化的产品温度实时显示系统技术已经发展成熟比如空调遥控器上当前室温的显示、热水器温度的显示等等如果能够在电子钟上利用电子技术实时性的准确的显示环境温度那将为我们的生活、工作、和工业生产中带来极大的便利同时也可以让我们随时的了解周围环境的变化以及必要措施的施行1.2 电子时钟的功能电子

13、时钟主要是利用电子技术将时钟电子化、数字化拥有时间精确、体积小、界面友好、可扩展性能强等特点被广泛应用于生活和工作当中当今市场上的电子时钟品类繁多外形小巧别致也有体型较大的诸如公共场所的大型电子报时器等电子时钟首先是数字化了的时间显示或报时器在此基础上人们可以根据不同场合的要求在时钟上加置其他功能比如定时闹铃万年历环境温度、湿度检测环境空气质量检测USB扩展口功能等本设计电子时钟主要功能为:1. 具有时间显示和手动校对功能24小时制;2. 具有年、月、日显示和手动校对功能;3. 具有闹铃功能;4. 具有环境温度采集和显示功能;5. 掉电后无需重新设置时间和日期;6. 采用交直流供电电源交流供电

14、为主直流电源为后备辅助电源能自动切换第二章 电子时钟设计方案分析电子闹钟既可以通过纯硬件实现也可以通过软硬件结合实现根据电子时钟里的核心部件-秒信号的产生原理通常有以下两种形式:2.1 NE555时基电路设计方案555定时器是美国Signetics公司1972年研制的用于取代机械式定时器的中规模集成电路因输入端设计有三个5K的电阻而得名一般用双极性工艺制作的称为 555用 CMOS 工艺制作的称为 7555目前流行的产品主要有4种:BJT两个:555556(含有两个555);CMOS两个:75557556(含有两个7555)555 定时器的电源电压范围宽可在 4.5V16V 工作7555 可在

15、 318V 工作输出驱动电流约为 200mA因而其输出可与 TTL、CMOS 或者模拟电路电平兼容555定时器可以说是模拟电路与数字电路结合的典范555 定时器成本低性能可靠只需要外接几个电阻、电容就可以实现多谐振荡器、单稳态触发器及施密特触发器等脉冲产生与变换电路它也常作为定时器广泛应用于仪器仪表、家用电器、电子测量及自动控制等领域5采用NE555时基电路或其他振荡电路产生秒脉冲信号作为秒加法电路的时钟信号或微处理器的外部中断输入信号可构成电子钟输出的脉冲信号V0的频率F为: 式(2.1)使输出V0的频率为精确的1Hz图2.1 基于的秒脉冲发生器采用555定时器设计电子时钟成本低容易实现但是

16、受芯片引脚数量和功能限制不容易实现电子时钟的多功能性2.2 单片机设计方案单片机(常用英文字母的缩写MCU表示)是微型机的一个主要分支它在结构上的最大特点使把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上就其组成和功能而言一块单片机芯片就是一台计算机单片机具有如下特点:有优异的性能价格比;1 集成度高、体积小、有很高的可靠性;2 控制功能强;3 低功耗、低电压便于生产便携式产品;4 外部总线增加了I2C、SPI等串行总线方式进一步缩小了体积简化了结构;5 单片机的系统扩展、系统配置较典型、规范容易构成各种规模的应用系统目前单片机渗透到我们生活的各个领域几乎很难找

17、到哪个领域没有单片机的踪迹导弹的导航装置飞机上各种仪表的控制计算机的网络通讯与数据传输工业自动化过程的实时控制和数据处理广泛使用的各种智能IC卡民用豪华轿车的安全保障系统录像机、摄像机、全自动洗衣机的控制以及程控玩具、电子宠物等等这些都离不开单片机更不用说自动控制领域的机器人、智能仪表、医疗器械了因此单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师单片机广泛应于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域传统利用单片机的智能性可方便地实现具有智能的电子钟设计单片机均具有时钟振荡系统利用系统时钟借助微处理器的定时器/计数器可实现电子钟功能然

18、而系统时钟误差较大电子钟的积累误差也可能较大所以可以通过误差修正软件加以修正或者在设计中加入高精度时钟日历芯片以精确时间另外很多功能不同的单片机是兼容的这就更便于实现产品的多功能性第三章 基于单片机的电子时钟硬件设计在比较了第二章的两种实现方案之后考虑单片机具有体积小、质量轻、价格便宜、功耗低、控制能力强以及运算速度快速等优点故采用单片机作为本设计的硬件基础3.1 主要IC芯片选择3.1.1 微处理器选择目前在单片机系统中应用比较广泛的微处理器芯片主要为8XC5X系列单片机该系列单片机均采用标准MCS-51内核硬件资源相互兼容品类齐全功能完善性能稳定体积小价格低廉货源充足调试和编程方便所以应用

19、极为广泛例如比较常用的AT89C2051单片机带有2KB Flash可编程、可擦除只读存储器(E2PROM)的低压、高性能8位CMOS微型计算机拥有15条可编程I/O引脚2个16位定时器/计数器6个中断源可编程串行UART通道并能直接驱动LED输出仅仅是为了完成时钟设计或者是环境温度采集设计应用AT89C2051单片机完全可以实现但是将两种功能结合在一片单片机上就需要更多的I/O引脚故本设计采用具有32根I/O引脚的AT89C51单片机AT89C51单片机是一款低功耗低电压高性能CMOS 8位单片机片内含4KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM

20、)器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造其输出引脚和指令系统都与MCS-51兼容片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程因此AT89C51是一种功能强灵活性高且价格合理的单片机可方便的应用在各个控制领域6AT89C51具有以下主要性能:1. 4KB可改编程序Flash存储器;2. 全静态工作:0-24Hz;3. 1288字节内部RAM;4. 32个外部双向输入/输出(I/O)口;5. 6个中断优先级; 2个16位可编程定时计数器;6. 可编程串行通道;7. 片内时钟振荡器此外AT89C51是用静态逻辑来设计的其

21、工作频率可下降到0Hz并提供两种可用软件来选择的省电方式-空闲方式(Idle Mode)和掉电方式(Power Down Mode)在空闲方式中CPU停止工作而RAM、定时器/计数器、串行口和中断系统都继续工作在掉电方式中片内振荡器停止工作由于时钟被冻结使一切功能都暂停只保存片内RAM中的内容直到下一次硬件复位为止8图3.1 AT89C51芯片PDIP封装引脚图AT89C51为适应不同的产品需求采用PDIP、TQFP、PLCC三种封装形式本系统采用双列直插PDIP封装形式时钟日历芯片选择在电子时钟设计中常用的实时时钟芯片有DS12887、DS1216、DS1643、DS1302每种芯片的主要时

22、钟功能基本相同只是在引脚数量、备用电池的安装方式、计时精度和扩展功能等方面略有不同DS12887与DS1216芯片都有内嵌式锂电池作为备用电池; X1203引脚少没有嵌入式锂电池跟DS1302芯片功能相似只是相比较之下X1203与AT89S51搭配使用时占用I/O口较多DS1643为带有全功能实时时钟的8K8非易失性SRAM集成了非易失性SRAM、实时时钟、晶振、电源掉电控制电路和锂电池电源BCD码表示的年、月、日、星期、时、分、秒带闰年补偿同样DS1643拥有28只管脚硬件连接起来占用微处理器I/O口较多不方便系统功能拓展和维护故而从性价比和货源上考虑本设计采用实时时钟日历芯片DS13023

23、.1.1.2 DS1302简介DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片附加31字节静态RAM采用SPI三线接口与CPU进行同步通信并可采用突发方式一次传送多个字节的时钟信号和RAM数据实时时钟可提供秒、分、时、日、星期、月和年一个月小于31天时可以自动调整且具有闰年补偿功能采用双电源供电(主电源和备用电源)可设置备用电源充电方式提供了对后备电源进行涓细电流充电的能力有主电源和备份电源双引脚而且备份电源可由大容量电容(1F)来替代需要强调的是 DS1302引脚说明图3.2 DS1302芯片引脚图表3.1 DS1302引脚功能说明引脚号名称功能1V

24、CC1备份电源输入2X132.768KHz晶振输入3X232.768KHz晶振输出4GND地5RST控制移位寄存器/复位6I/O数据输入/输出7SCLK串行时钟8VCC2主电源输入 DS1302的控制字和读写时序说明在编程过程中要注意DS1302的读写时序DS1302是SPI总线驱动方式它不仅要向寄存器写入控制字还需要读取相应寄存器的数据要想与DS1302通信首先要先了解DS1302的控制字表3.2 DS1302控制字(即地址及命令字节)BIT7BIT6BIT5BIT4BIT 3BIT 2BIT 1BIT 01RAMA4A3A2A1A0RD控制字的作用是设定DS1302的工作方式

25、、传送字节数等每次数据的传输都是由控制字开始控制字各位的含义和作用如下:1. BIT7:控制字的最高有效位必须是逻辑1如果它为0则不能把数据写入到DS1302中2. BIT 6:如果为0则表示存取日历时钟数据为1表示存取RAM数据;3. BIT 5至BIT 1(A4A0):用A4A0表示定义片内寄存器和RAM的地址定义如下:当BIT 6位=0时定义时钟和其他寄存器的地址A4A0=06顺序为秒、分、时、日、月、星期、年的寄存器当A4A0=7为芯片写保护寄存器地址当A4A0=8为慢速充电参数选择寄存器当A4A0=31为时钟多字节方式选择寄存器当BIT 6=1时定义RAM的地址A4A0=030对应各

26、子地址的RAM地址31对应的是RAM多字节方式选择寄存器4. BIT 0(最低有效位):如为0表示要进行写操作为1表示进行读操作控制字总是从最低位开始输出在控制字指令输入后的下一个SCLK时钟的上升沿时数据被写入DS1302数据输入从最低位(0位)开始同样在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿读出DS1302的数据读出的数据也是从最低位到最高位图3.3 DS1302数据读写时序DS1302的数据读写方式有两种一种是单字节操作方式一种是多字节操作方式每次仅写入或读出一个字节数据称为单字节操作每次对时钟/日历的8字节或31字节RAM进行全体写入或读出的操作称其为多字节操作方式当以多字

27、节方式写时钟寄存器时必须按数据传送的次序依次写入8个寄存器但是当以多字节方式写RAM时不必写所有31字节不管是否写了全部31字节所写的每一个字节都将传送至RAM为了启动数据的传输CE引脚信号应由低变高当把CE驱动至逻辑1的状态时SCLK必须为逻辑0数据在SCLK的上升沿串行输入无论是读周期还是写周期也无论送方式是单字节传送还是多字节传送都要通过控制字指定40字节中的哪个将被访问在开始8个时钟周期把命令字(具有地址和控制信息的8位数据)装入移位寄存器之后另外的时钟在读操作时输出数据在写操作时输入数据所有的数据在时钟的下降沿变化所有写入或读出操作都是先向芯片发送一个命令字节对于单字节操作包括命令字

28、节在内每次为2个字节需要16个时钟;对于时钟/日历多字节模式操作每次为7个字节需要72个时钟;而对于RAM多字节模式操作每次则为32字节需要多达256个时钟这里仅给出单字节读写时序多字节操作方式与其类似只是后面跟的字节数不止一个 DS1302的片内寄存器表3.3 DS1302有关日历、时间的寄存器读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范围81H80HCH10秒秒00-5983H82H10分分00-5985H84H010时时1-120-23AM/PM87H86H0010日日1-3189H88H0010月月1-128BH8AH00000周日1

29、-78DH8CH10年年00-998FH8EHWP0000000-通过控制字对DS1302片内寄存器进行寻址之后即可就所选中寄存器的各位进行操作DS1302有关日历、时间的寄存器共有10个时钟/日历包含在其中的7个写/读寄存器内这7个寄存器分别是秒、分、小时、日、月、星期和年小时寄存器(85H、84H)的位7用于定义DS1302是运行于12小时模式还是24小时模式当为12小时制式时位5为0表示AM;为1表示PM在24小时制式下位5是第二个10小时位(2023时) 秒寄存器(81H、80H)的位7定义为时钟暂停标志(CH)当该位置为1时时钟振荡器停止DS1302处于低功耗状态;当该位置为0时时钟

30、开始运行一般在设置时钟时可以停止其工作设定完之后再启动其工作控制寄存器(8FH、8EH)的位7是写保护位(WP)其它7位均置为0在任何片内时钟/日历寄存器和RAM在写操作之前WP位必须为0否则将不可写入当WP位为1时写保护位防止对任一寄存器的写操作因此通过置写保护位可以提高数据的安全性另外还有慢速充电控制寄存器和RAM寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0充电控制寄存器TCSTCSTCSTCSDSDSRSRSRAM寄存器-慢速充电寄存器控制着DS1302的慢速充电特性寄存器的BIT4BIT7(TCS)决定是否具备充电性能:仅在编码为1010的条件下才具备充电性能

31、其他编码组合不允许充电BIT2和BIT3选择在VCC2和VCC1之间是一个还是两个二极管串入其中如果编码DS是01选择一个二极管;如果编码是10选择两个二极管;其他编码将不允许充电该寄存器的BIT0和BIT1用于选择与二极管相串联的电阻值其中编码RS=01为2 KRS=10为4 KRS=11为8 K而RS=00将不允许进行充电因此根据慢速充电寄存器的不同编码可得到不同的充电电流其具体计算如公式3.1: I充电=(V0-VD-VE)/R (3.1)式中:V0-所接入的5.0V工作电压;VD-二极管压降一个按0.7V计算;R-慢速充电控制寄存器0和1位编码决定的电阻值;VE-VCC1脚所接入的电池

32、电压RAM寄存器寻址空间一次排列的31字节静态RAM可为用户使用备用电源位RAM提供了掉电保护功能寄存器和RAM的操作通过命令字节的BIT6加以区别当BIT6为0时对RAM区进行寻址;否则将对时钟/日历寄存器寻址其操作方法与前述相同910113.1.2 环境温度传感器选择 常用温度传感器比较在日常生活中和工农业生产中常要用到温度检测及控制传统的测温元件有热电偶和热电阻一般用来测量中高温输出的是电压将其转换成对应的二进制温度码值需要较多的硬件支持硬件电路复杂软件调试较为复杂制作成本高另外采集环境的温度也可采用IC化的温度传感器常用的此类温度传感器有AD590和DS18B20AD59

33、0测量到不同温度之后将把应温度转化为线性电流输出为1A/K正比于热力学温度该传感器宽量程为-55+150;精度高激光校准精度到;电源范围宽:+4+30VAD590优点很多但是由于它只能将采集来的温度转化为电流输出所以在实际应用中需要先将AD590输出的电流转化为电压再利用A/D转换元件进行模/数转换将模拟量转化为数字量最后送入单片机中12与AD590不同的是DS18B20数字温度传感器能直接将被测温度转化成串行数字信号以供单片机处理既节省了硬件又有效避免了模拟方式的干扰问题它还具有微型化、低功耗、高性能、等优点通过编程DS18B20可以实现912位温度读数信息经过单线接口送入DS18B20或从

34、DS18B20送出因此从单片机到DS18B20仅需要连接一条线读、写和完成温度变换所需的电源可由数据线本身提供而无需外部电源测量范围为-55+125通过编程用户还以自行设定告警上下限温度告警寻找命令可以识别和寻址那些温度超出预设告警界限的器件 DS18B20简介 DS18B20是美国Dallas公司生产的基于单线(1-wire)技术的数字温度传感器芯片图3.4 DS18B20引脚分布图每片DS18B20在出厂时都设有唯一的产品序列号此序列号存放在它的内部ROM中微处理器通过简单协议就能识别这些序列号因此多个DS18B20可以挂接于同一条单总线上这允许在许多不同的地方放置温度传感器

35、特别适合于构成多点温度测控系统所以DS18B20多应用与HVAC环境控制建筑物、设备或机械内的温度检测以及过程监视和控制中的温度检测表3.5 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚;开漏单总线接口引脚;当被用在寄生电源下也可以向器件提供电源3VDD可选择的VDD引脚;当工作于寄生电源时此引脚必须接地 DS18B20内部结构主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器图3.5 DS18B20内部结构图配置寄存器为高速暂存存储器中的第5个字节DS18B20在工作时按此寄存器中的分辨率将温度转

36、换成相应精度的数值其中TM为测试模式标志位出厂时被写入0不能改变;R0、R1是温度计分辨率设置位表3.6 DS18B20配置寄存器结构表BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0TMR1R011111MSB LSB出厂时R0、R1被置为1默认设置是12位分辨率用户可根据需要给写配置寄存器以获得合适的分辨率表3.7 配置寄存器与分辨率关系表R0R1温度计分辨率/bit最大转换时间/ms00993.750110187.5010113751112750温度信息的低位、高位字节内容还包括了符号位S(是正温度还是负温度)和二进制小数部分图3.6 DS18B20温度值格式表如果配置为

37、低分辨率则其中无意义位为0在DS18B20完成温度变换之后温度值与存储在TH和TL内的告警触发值相比较由于这些是8位寄存器所以912位在比较时忽略TH或TL的高位直接对应于16位温度寄存器的符号位如果温度测量的结果高于TH或低于TL那么器件内告警标志将置位每次温度测量都会更新此标志位只要告警标志置位DS18B20就将响应告警搜索命令这也就允许单线上多个DS18B20同时进行温度测量即使某处温度越限也可以识别出正在告警的器件特别需要注意的是这决定了指令的运行时间在软件设计中将根据此指令运行时间编写各种延时程序133.2 电子时钟硬件电路设计电子闹钟至少要包括秒信号发生器、时间显示电路、按键电路、

38、供电电源、闹铃指示电路等几部分另外本设计要求该电子钟能够采集环境温度所以还需要温度采集芯片该系统使用AT89C51单片机作为核心通过读取时钟日历芯片DS1302和温度传感器DS18B20的数据完成电子钟的主要功能-时钟/日历和环境温度采集使用比较通用的8段共阴数码管做7位显示分别显示时/年分/月秒/日及环境温度值图3.7 多功能电子时钟硬件系统框图键盘是为了完成时钟/日历的校对和日历/温度的显示功能由于此电子时钟要求具有闹铃功能所以设计有闹铃电路进行声音响铃整个电路使用了两种电源+5V电源将为整个电路供电而+3V电源仅作为DS1302的备用电源当+5V电源被切断后DS1302启用+3V电源可以

39、保持DS1302继续工作当+5V电源恢复供电LED依旧显示当前时间而不会因为断电使系统复位到初始化时间避免了重新校时的麻烦3.2.1 时钟电路设计系统时钟应用了实时时钟日历芯片DS1302该硬件电路设计简单抗干扰能力强如图上电后DS1302采用双电源供电平时由+5V电源供电当+5V掉电之后由图中BT1(+3V备用电池)供电特别需要注意X1和X2两端连接的晶振Y1图3.8 系统时钟电路3.2.2 环境温度采集电路设计本设计中使用DS18B20温度传感器进行环境温度采集和转化作为数据的读入和写出口电阻R11作为DS18B20的I/O口的上拉电阻在读时隙结束时I/O引脚将通过此上拉电阻拉回至高电平1

40、3图3.9 系统环境温度采集电路3.2.3 显示电路就时钟而言通常可采用LCD显示或LED显示对于一般的段式LCD需要专门的驱动电路而且LCD显示的可视性较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵)一般采用并行接口对微处理器的接口要求较高占用资源多另外AT89C51本身没有专门的液晶驱动接口LED结构简单体积小功耗低响应速度快易于匹配寿命长可靠性高而且显示亮度高价格便宜市场上也有专门的时钟显示组合LED故本设计中应用7位8段共阴LED实现显示部分LED显示分动态显示和静态显示:动态显示方式的硬件电路简单但设计上如果处理不当易造成亮度低闪烁问题因此合理的设计既应保证驱动电路易

41、实现又要保证图像稳定无闪烁动态显示采用多路复用技术的动态扫描显示方式复用的程度不是无限增加的 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短发光的亮度等因素静态显示是由微型计算机一次输出显示模型后就能保持该显示结果直到下次发送新的显示模型为止静态显示驱动程序简单且CPU占用率低但每个LED数码管需要一个锁存器来锁存每一个显示位的笔段代码硬件开销大仅适合显示位数较少的场合为了在显示部分节省单片机I/O口故采用静态显示方式74LS164是8位移位寄存器应用该芯片驱动LED做显示部分其优点在于连线简单节省单片机I/O口软件编程容易关于74LS164的

42、具体编程方法请参见第四章4.2.5显示子程序设计部分1415图3.10 显示面板LED分布图 3.2.4 按键电路设计根据功能需要本时钟需要设置以下功能键:校对选择键加1操作键减1操作键显示日期键显示温度键闹铃开关键按照键盘与CPU的连接方式可分为独立式键盘和矩阵式键盘独立式键盘是各个按键相互独立每个按键占用一个I/O口线每根I/O口线上的按键不会影响其他I/O口上按键工作状态独立式键盘电路配置灵活软件结构简单但每个按键必须占用一根I/O口在按键数量较多时I/O口线浪费较大且电路结构复杂矩阵式键盘适合按键较多时使用由于本设计的电子钟最多需要7个按键若采用矩阵式键盘时会有按键浪费故采用的是独立式

43、键盘对于内置了上拉电阻的I/O引脚来说外接上拉电阻没有意义1516图3.11 键盘电路其中K1、K2、K7为带自锁按键每次按下后从高电平被拉至低电平只有再次按下按键弹出与之连接的单片机管脚才会重新被拉回高电平K3、K4、K5、K6键为自动复位按键每次按下后会自动弹出单片机管脚只有在按键按下时为低电平按键弹出后重新恢复高电平表3.8 按键功能表按键键名功能属性K1Calendar显示日历自锁K2T显示温度自锁K3FUN功能选择自动复位K4UP数值加一操作自动复位K5DOWN数值减一操作自动复位K6Enter/Snooze确认键/贪睡自动复位K7Alarm闹铃开关自锁按键操作说明如下:K1键:该键

44、为带自锁按键在正常显示时间状态下每次将按键按下 LED数码管将显示日期;再次按下按键弹出重新显示时间K2键:该键为带自锁按键在正常显示时间状态下每次将按键按下LED数码管将显示环境温度;再次按下按键弹出重新显示时间K3键:该键为自动复位键在正常显示时间状态下第一次按下后开始校对小时以后每次按下都会分别进入对分、秒、闹铃时、闹铃分、年、月、日的校对状态K4键:该键为自动复位键在校对状态下每次按动该键都会使相应校对位进行加1操作例如:校对小时状态每按一下小时位加1当加至小时最高值23时再按K4键小时位回0调分、秒、年、月、日与皆之相同只是各位最高值不同K5键:该键为自动复位键与K4键类似不同之处是

45、该键每次按下将使相应校对位进行减1操作K6键:该键为自动复位键在校对状态下按下该键从校对状态返回时间显示状态;在响铃状态下按下该键闹铃进入贪睡状态K7键:该键为带自锁按键按下后闹铃开启弹出后闹铃关闭3.2.5 闹铃电路设计闹铃音乐可以直接采用蜂鸣器闹铃如当前时刻与闹铃时间相同单片机向蜂鸣器送出高电平蜂鸣器发声采用蜂鸣器闹铃结构简单控制方便但是发出的闹铃声音单一也可以在编程的时候编写一段音乐程序待闹铃时间到时调用该音乐程序给扬声器便响起音乐不过该方法只能做一些简单音乐并且音乐程序会占用很多单片机存储资源还有一种方法是采用录音放音芯片1420做闹铃先对录放音设备录入一段音乐当到设定时间时单片机控制

46、录放音设备放音采用录放音电路铃声可以是预先设定的一段自己喜欢的音乐符合电器设备人性化的要求且1420芯片可以分段录音还具有语音报时功能另外也可以购置一块音乐集成电路加置在单片机和蜂鸣器之间当单片机连接闹铃电路的管脚送出高电平时音乐集成电路会给蜂鸣器特定脉冲使蜂鸣器发声此类集成电路体积较小使用方便不足的是音乐简单、单一闹铃的音乐不是本设计中的重点故采用最简单的方法S9012的发射极和集电极导通使蜂鸣器发声当响铃标志位为1时使蜂鸣器U11发出声音16图3.12 闹铃电路3.2.6 复位电路设计复位是单片机的初始化操作以便使CPU和系统中其他部件都处于一个确定的初始状态并从这个状态开始工作除了进入系

47、统的正常初始化之外当单片机系统在运行出错或操作错误使系统处于死锁状态时也可按复位键重新启动复位后PC内容初始化为0000H使单片机从0000H单元开始执行程序单片机复位后除了PC之外还对片内的特殊功能寄存器有影响单片机复位后不影响内部RAM的状态1789C51单片机复位信号的输入端是RST引脚高电平有效其有效时间持续24个时钟周期(2个机器周期)以上RST端的外部复位电路有两种操作方式:上电自动复位和按键手动复位上电自动复位是利用电容储电来实现的如图3.13(a)所示上电瞬间RC电路充电RST端出现正脉冲随着充电电流的减少RST的电位逐渐下降按键手动复位有电平方式和脉冲方式两种按键电平复位是相

48、当于RST端通过电阻接高电平如图3.13(b)所示;按键脉冲复位利用RC微分电路产生正脉冲如图3.13(c)所示12出于应用方便本设计采用按键电平复位电路实际电路请参见附录C复位按键为K8表3.9 单片机寄存器的复位状态表寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP1、P3FFHSCON00HIP000000BSBUF不定IE000000BPCON0B(NMOS)TMOD00H00000B(CHMOS)a、上电复位 b、按键电平复位 c、按键脉冲复位图3.13 上电复位和按键复位电

49、路第四章 电子时钟软件设计C51单片机可以应用汇编语言和C语言进行编程汇编语言与机器指令一一对应所以用汇编语言编写的程序在单片机里运行起来效率较高C语言程序可读性高更便于理解本设计使用C语言编程4.1 主程序设计第一次上电系统先进行初始化 LED显示初始时间14:28:00并开始走时初始日期为2008年5月12日此刻若按K1键LED显示080512单片机依次开始调用键盘扫描子程序、DS1302子程序、DS18B20子程序、闹铃子程序经过延时返回程序开头循环运行图4.1 多功能电子钟主程序流程图4.2 子程序设计4.2.1 实时时钟日历子程序设计该程序主要实现对DS1302写保护、充电对年、月、日、时、分、秒等寄存器的读写操作在读写操作子程序中都执行了关中断指令因为在串行通信时对时序要求比较高而且在此是用I/O口软件模拟串行时钟脉冲所以在通信过程中最好保证传输的连续性不要允许中断图4.2 实时时钟日历子程序流程图DS1302每次上电时自动处于暂停状态必须把秒寄存器的位7置位0时钟才开始计时如果DS1302一直没有掉电则不存在此问题在进行写操作时需要先解除写保护寄存器的禁止状态当用多字节模式进行操作时必须写够8字节184.2.2 环

温馨提示

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

评论

0/150

提交评论