多功能电子保姆机的设计与实现毕业论文(47页).doc
-
资源ID:37066707
资源大小:391.50KB
全文页数:46页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
多功能电子保姆机的设计与实现毕业论文(47页).doc
-多功能电子保姆机的设计与实现毕业论文-第 40 页毕业设计说明书毕业论文题 目:多功能电子保姆机的设计与实现硬件设计多功能电子保姆机的设计与实现硬件部分摘 要随着生活节奏的加快,家庭对保姆的需求越来越多,若设计出一款智能保姆机,将极大地方便人们的生活。目前市场上销售的保姆机多为机械式,且功能单一,只能进行家用电器通断电的定时控制。 本文利用电子技术设计的保姆机具有多功能性。不仅能控制家用电器定时工作,还附加时间、闹铃、环境温度显示等功能。论文介绍了保姆机的研究背景,通过对555时基电路设计方案、FPGA设计方案以及单片机设计方案的比较,确定了单片机设计方案。本设计以Atmega128单片机为核心,通过继电器控制家用电器定时工作,利用DS1302实时时钟日历芯片完成时钟/日历的基本功能,同时利用DS18B20温度传感器测量环境温度,并通过4位LED数码管进行时间和温度的显示。本设计完成了电子保姆机硬件和软件的设计,并在开发板上对部分功能进行了调试,实现了电子保姆机的基本功能。该电子保姆机可以应用于生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。关键词:保姆机;单片机;温度传感器;继电器Multi-functional electronic nanny Machine Design andImplementation The Design of the HardwareAbstractWith the accelerated pace of life, the demand for nannies is greatly increasing in our society . If a intelligent nanny machine is designed,it will bring more convenience forpeople's life.At present, the nanny machine which is on the sale in the market is almost mechanical, has a single function, and controls household appliancescan according to the setting time only through the power. This paper introduces the research backgroud of the nanny machine and uses the SCM design scheme through comparing 555 design scheme,FPGA design scheme and SCM design scheme. In this paper, the nanny machine ,which is designed through using electron technology,has many functions .It not only can control the Household appliances from time to time, but also can display time,temperature and so on .This design completes the hardware and software of the electronic nanny Machine , debugges a part of functions on the board and realizes the basic function of the electronic nanny Machine.The design uses Atmega128 as a core,controls home appliances from time to time through the work of the relay, completes the basic function of clock / calendar through using the DS1302 real-time clock,measures ambient temperature by using temperature sensor DS18B20, and uses four LED digital tube for displaying . The machine can be applied to the life and work, can also be modified to improve performance,and can be added new functions so that it brings more convenience to the people's life and work.Key Word: nanny machine;single-ship;temperature sensor;relay;目录摘 要I第一章 引 言11.1 多功能电子保姆机研究的背景和意义11.2 电子保姆机的功能2第二章 电子保姆机设计方案分析32.1 FPGA设计方案32.2 NE555时基电路设计方案32.3 单片机设计方案4第三章 基于单片机的电子保姆机硬件设计63.1 单片机的选择73.1.1 AVR单片机简介73.1.2 ATMEGA128特点73.2 时钟日历芯片DS130293.2.1 DS1302简介93.2.2 DS1302引脚说明103.2.3 DS1302控制字和读写时序说明103.2.4 DS1302片内寄存器123.3环境温度传感器选择133.3.1常用温度传感器比较133.3.2 DS18B20简介143.3.3 DS18B20内部结构153.4电子保姆机硬件电路设计173.4.1时钟电路设计173.4.2环境温度采集电路设计173.4.3显示电路173.4.4按键电路设计193.4.5闹铃电路设计203.4.6继电器控制电路设计213.4.7温度报警电路设计22第四章 电子保姆机软件设计234.1 主程序设计234.2 子程序设计234.2.1 实时时钟日历子程序设计234.2.2 环境温度采集子程序设计244.2.3 显示子程序设计274.2.4 闹铃控制子程序设计284.2.5 继电器子程序设计28第五章 系统调试295.1 硬件调试295.1.1 单片机基础电路调试295.1.2 显示电路调试305.1.3 DS1302电路调试335.1.4 继电器控制电路调试335.1.5 DS18B20电路调试335.1.6 温度报警电路调试345.2 软件调试34结 论35参考文献36附录 A程序37附录B多功能电子保姆机硬件电路图49致谢50第一章 引 言随着生活节奏地加快,社会对于保姆的需求量越来越大,若利用电子技术设计出一款电子化、数字化、智能人性化的多功能电子保姆机,将被广泛应用于生活和工作当中。1.1 多功能电子保姆机研究的背景和意义20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。 保姆机对人们来说越发的珍贵,工作的忙碌性和繁杂容易使人忘记当前的时间,工作后的疲劳性,使人变得懒惰,回到家中什么都想要做好的如热水洗澡、吃香喷喷的饭菜等。这样电子保姆机就发挥了很大的作用,例如:例如经常出差或偶尔出门,这时一回到家就想洗热水澡,如果一直开着热水器会不停地加热,即不安全又费电,若有了多功能电子保姆机,就可以按照要求定时控制家用电器。然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的。保姆机的核心是数字化的电子时钟。想知道时间,手表当然是一个很好的选择,但是,在忙碌当中,我们还需要一个“助理” 及时的给我们提醒时间。所以,计时器最好能够拥有一个定时系统,随时提醒容易忘记时间的人。 最早能够定时、报时的时钟属于机械式钟表,但这种时钟受到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子保姆机相比【1】。 电子保姆机是通过电子钟采用电子电路实现对时、分、秒进行数字显示的计时装置,通过继电器控制家用电器。广泛应用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。另外,温度实时显示系统应用同样越来越广泛,比如空调遥控器上当前室温的显示、热水器温度的显示等等。医药卫生、工农业生产上也有很多场合需要测量环境温度。如果能够在电子保姆机上附加温度采集、时钟日历的显示、闹铃功能功能,将使电子保姆机的应用更加广泛。1.2 电子保姆机的功能电子保姆机是利用电子时钟精确计时定时的特点,继电器控制电器定时开关,以达到无人看管却能自动看护的“保姆”装置。拥有时间精确、体积小、界面友好、可扩展性能强等特点,可广泛应用于生活和工作当中。本设计电子保姆机所实现主要功能为:(1)家用电器定时开关,控制家用电器;(2)具有时间显示,24小时制;(3)具有年、月、日显示;(4)具有闹铃功能;(5)具有环境温度采集和显示功能;(6)掉电后无需重新设置时间和日期;(7)温度报警。第二章 电子保姆机设计方案分析电子保姆机是通过扩展电子钟的功能而形成的,其核心就是数字化的电子钟、通过读取电子钟的时间和设定时间相比较,继电器控制家用电器定时工作。电子保姆机既可以通过纯硬件实现,也可以通过软硬件结合实现,其实现方案有多种,但通常有以下几种形式:2.1 FPGA设计方案现场可编程门阵列(Field Programmable Gate Array,FPGA),是20世纪70年代发展起来的一种可编程逻辑器件,是目前数字系统设计的主要硬件基础。FPGA在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能。可编程逻辑器件的设计过程是利用EDA开发软件和编程工具对器件进行开发的过程。由于EDA技术拥有系统的模拟和仿真功能,可读性、可重复性、可测性非常好,所以利用EDA开发FPGA是目前比较流行的方式。当然,有时根据需要,也会应用MAX+plus开发集成环境进行设计【2】。正因为FPGA在设计过程中方便、快捷,而且FPGA技术功能强大,能够应用其制作诸如基代码发生器、数字频率计、电子琴、电梯控制器、自动售货机控制系统、多功能波形发生器、步进电机定位控制系统等。2.2 NE555时基电路设计方案555定时器是美国Signetics公司1972年研制的用于取代机械式定时器的中规模集成电路,因输入端设计有三个5K的电阻而得名。目前,流行的产品主要有4种:BJT两个:555,556(含有两个555);CMOS两个:7555,7556(含有两个7555)。555定时器是一种数字与模拟混合型的集成电路,应用广泛。成本较低,外加电阻、电容等元件就可以构成多谐振荡器、单稳电路、施密特触发器等,常作为定时器广泛应用于仪器仪表、家用电器、电子测量及自动控制等领域。采用NE555时基电路或其他振荡电路产生秒脉冲信号,作为秒加法电路的时钟信号或微处理器的外部中断输入信号,可构成电子钟。由555构成的秒脉冲发生器电路见图2.1。输出的脉冲信号V0的频率F为: 式(2.1)可通过调节式2.1中的3个参数,使输出V0的频率为精确的1Hz。图2.1 基于的秒脉冲发生器采用555定时器设计电子保姆机,成本低,容易实现。但是受芯片引脚数量和功能限制,不容易实现电子保姆机的多功能性。2.3 单片机设计方案单片机是微型机的一个主要分支,它在结构上的最大特点使把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。单片机具有如下特点:(1)有优异的性能价格比;(2)集成度高、体积小、有很高的可靠性;(3)控制功能强;(4)低功耗、低电压,便于生产便携式产品;(5)外部总线增加了I2C、SPI等串行总线方式,进一步缩小了体积,简化了结构;(6)单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。所以单片机的应用非常广泛,在智能仪表、机电一体化、实时控制、分布式多机系统以及人们的生活中均有用武之地。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思路和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种用软件代替硬件的控制技术,是对生产控制技术的一次革命。利用单片机的智能性,可方便地实现具有智能的电子保姆机设计。单片机均具有时钟振荡系统,利用系统时钟借助微处理器的定时器/计数器可实现电子保姆机功能。然而系统时钟误差较大,电子钟的积累误差也可能较大,所以可以通过误差修正软件加以修正,或者在设计中加入高精度时钟日历芯片,以精确时间。另外很多功能不同的单片机是兼容的,这就更便于实现产品的多功能性。第三章 基于单片机的电子保姆机硬件设计在比较了以上的三种实现方案之后,考虑单片机货源充足、价格低廉,可软硬件结合使用,能够较方便的实现系统的多功能性,故采用单片机作为本设计的硬件基础。电子保姆机包括时钟日历芯片电路、显示电路、按键电路、供电电源、闹铃电路、继电器控制电路等几部分。另外,本设计要求该电子保姆机能够采集环境温度,所以还需要温度采集电路【3】。硬件电路框图参照图3.1。该系统使用ATmega128单片机作为核心,通过读取时钟日历芯片DS1302和温度传感器DS18B20的数据,继电器定时控制家用电器工作,完成此电子保姆机的主要功能时钟/日历、环境温度采集以及家用电器定时工作等。使用比较通用的4位8段共阳LED数码管,做4位显示,分别显示时间、日期、年200X,以及环境温度值【4】。图3.1多功能电子保姆机硬件系统框图键盘是为了完成时钟/日历的校对和日历/温度的显示功能。继电器作为家用电器定时开关,控制家用电器工作。此电子保姆机还具有闹铃功能,所以设计有闹铃电路,进行声音响铃。整个电路使用了两种电源,+5V电源将为整个电路供电。而+3V电源仅作为DS1302的备用电源。当+5V电源被切断后,DS1302启用+3V电源,可以保持DS1302继续工作。当+5V电源恢复供电,LED依旧显示当前时间,而不会因为断电使系统复位到初始化时间,避免了重新校时的麻烦。具体电路图请参见附录A。3.1 单片机的选择3.1.1 AVR单片机简介所谓单片机,是指用一个芯片组成的微机系统。片内包括了CPU,程序存储器、数据存储器、定时器/计数器及各种I/O口。AVR单片机是ATMEL公司1997年推出的全新配置精简指令集(RISC)单片机系列。片内程序存储器采用Flash存储,可反复编程修改上千次,便于新产品开发;程序高度保密,避免非法窃取;速度快,大多数指令只用1个晶振周期,而MCS-51单片机单周期指令也需12个晶振周期;能采用C语言编程,从而高效快速的开发目标产品。本设计选用ATMEGA128 ,ATMEGA128为基于AVR RISC结构的8位低功耗CMOS微处理器。3.1.2 ATMEGA128特点(1)高性能、低功耗的 AVR 8 位微处理器;(2)I/O 和封装 53 个可编程的I/O脚; 64 引脚 TQFP 与 64 引脚 MLF 封装;(3)工作电压:4.55.5V(ATmega128);(4)速度等级:016 MHz(ATmega128);(5)32个工作寄存器;(6)16根地址线 PA PC ;(7)8根数据线PA。ATmega128的引脚配置如图3.2所示:图3.2 Atmega128芯片引脚图各引脚说明如下:VCC:数字电路的电源;GND:地;端口A(PA7-PA0):端口A为8位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口A为三态,端口A也可以用做其他不同的特殊功能。端口B(PB7-PB0):端口B为8位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口B为三态。端口C(PC7.PC0):端口C 为8 位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口C为三态。端口D(PD7-PD0):端口D 为8 位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口D 为三态。端口E(PE7-PE0):端口E为8位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口E为三态。端口F(PF7-PF0):端口 F 为ADC 的模拟输入引脚。如果不作为ADC 的模拟输入,端口F可以作为8 位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口 F 为三态。如果使能了JTAG 接口,则复位发生时引脚PF7(TDI)、PF5(TMS) 和PF4(TCK) 的上拉电阻使能。端口 F 也可以作为JTAG 接口。端口G(PG4-PG0):端口G为5位双向I/O 口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时端口G为三态。在ATmega103 兼容模式下,端口G 只能作为外部存储器的所存信号以及32 kHz 振荡器的输入,并且在复位时这些引脚初始化为PG0 = 1,PG1 = 1 以及PG2 = 0。PG3 和PG4 是振荡器引脚。RESET:复位输入引脚。超过最小门限时间的低电平将引起系统复位。低于此时间的脉冲不能保证可靠复位。XTAL1:反向振荡器放大器及片内时钟操作电路的输入。XTAL2:反向振荡器放大器的输出。AVCC: AVCC为端口F以及ADC转换器的电源,需要与VCC相连接,即使没有使用ADC也应该如此。使用ADC 时应该通过一个低通滤波器与VCC连接。AREF:AREF为ADC的模拟基准输入引脚。PEN:PEN是SPI串行下载的使能引脚。在上电复位时保持PEN为低电平将使件进入SPI串行下载模式。在正常工作过程中PEN 引脚没有其他功能。3.2 时钟日历芯片DS1302常用的实时时钟芯片有DS12887、DS1216、DS1643、DS1302。每种芯片的主要时钟功能基本相同,只是在引脚数量、备用电池的安装方式、计时精度和扩展功能等方面略有不同。DS12887与DS1216芯片都有内嵌式锂电池作为备用电池; X1203引脚少,没有嵌入式锂电池,跟DS1302芯片功能相似,只是相比较之下,X1203与ATmega128搭配使用时占用I/O口较多。DS1643为带有全功能实时时钟的8K×8非易失性SRAM,集成了非易失性SRAM、实时时钟、晶振、电源掉电控制电路和锂电池电源,BCD码表示的年、月、日、星期、时、分、秒,带闰年补偿。同样,DS1643拥有28只管脚,硬件连接起来占用微处理器I/O口较多,不方便系统功能拓展和维护。故而从性价比和货源上考虑,DS1302芯片读写靠时序控制且具有写保护位,抗干扰效果好,故本设计采用实时时钟日历芯片DS1302。3.2.1 DS1302简介DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。有主电源和备份电源双引脚,而且备份电源可由大容量电容(1F)来替代。需要强调的是,DS1302需要使用32.768KHz的晶振【5】。3.2.2 DS1302引脚说明DS1302引脚图参照图3.3。图3.3DS1302芯片引脚图其的引脚功能参照表3.1。表3.1 DS1302引脚功能说明引脚号名称功能1VCC1备份电源输入2X132.768KHz晶振输入3X232.768KHz晶振输出4GND地5RST复位6I/O数据输入/输出7SCLK串行时钟8VCC2主电源输入3.2.3 DS1302控制字和读写时序说明在编程过程中要注意DS1302的读写时序。DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如表3.2表3.2 DS1302控制字(即地址及命令字节)BIT7BIT6BIT5BIT4BIT 3BIT 2BIT 1BIT 01RAMA4A3A2A1A0RD控制字的作用是设定DS1302的工作方式、传送字节数等。每次数据的传输都是由控制字开始。控制字各位的含义和作用如下: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,对应各子地址的RAM,地址31对应的是RAM多字节方式选择寄存器。4. BIT 0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。图3.4 DS1302数据读写时序DS1302的数据读写方式有两种,一种是单字节操作方式,一种是多字节操作方式。每次仅写入或读出一个字节数据称为单字节操作,每次对时钟/日历的8字节或31字节RAM进行全体写入或读出的操作,称其为多字节操作方式。当以多字节方式写时钟寄存器时,必须按数据传送的次序依次写入8个寄存器。但是,当以多字节方式写RAM时,不必写所有31字节。不管是否写了全部31字节,所写的每一个字节都将传送至RAM【6】。为了启动数据的传输,RST引脚信号应由低变高,当把RST驱动至逻辑1的状态时,SCLK必须为逻辑0,数据在SCLK的上升沿串行输入。无论是读周期还是写周期,也无论送方式是单字节传送还是多字节传送,都要通过控制字指定40字节中的哪个将被访问。在开始8个时钟周期把命令字(具有地址和控制信息的8位数据)装入移位寄存器之后,另外的时钟在读操作时输出数据,在写操作时输入数据,所有的数据在时钟的下降沿变化。所有写入或读出操作都是先向芯片发送一个命令字节。对于单字节操作,包括命令字节在内,每次为2个字节,需要16个时钟;对于时钟/日历多字节模式操作,每次为7个字节,需要72个时钟;而对于RAM多字节模式操作,每次则为32字节,需要多达256个时钟。这里仅给出单字节读写时序,如图3.3。多字节操作方式与其类似,只是后面跟的字节数不止一个。3.2.4 DS1302片内寄存器表3.3 DS1302有关日历、时间的寄存器读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范围81H80HCH10秒秒00-5983H82H10分分00-5985H84H010时时1-120-23AM/PM87H86H0010日日1-3189H88H0010月月1-128BH8AH00000周日1-78DH8CH10年年00-998FH8EHWP0000000通过控制字对DS1302片内寄存器进行寻址之后,即可就所选中寄存器的各位进行操作。片内各寄存器及各位的功能定义如表3.3。DS1302共有12个寄存器:与日历、时间的寄存器共有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时,时钟开始运行。一般在设置时钟时,可以停止其工作,设定完之后,再启动其工作。控制寄存器(8FH、8EH)的位7是写保护位(WP),其它7位均置为0。在任何片内时钟/日历寄存器和RAM,在写操作之前,WP位必须为0,否则将不可写入。当WP位为1时,写保护位防止对任一寄存器的写操作。因此,通过置写保护位,可以提高数据的安全性。另外,还有慢速充电控制寄存器和RAM寄存器如表3.4。表3.4充电控制寄存器和RAM寄存器各位定义BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0充电控制寄存器TCSTCSTCSTCSDSDSRSRSRAM寄存器慢速充电寄存器控制着DS1302的慢速充电特性。寄存器的BIT4BIT7(TCS)决定是否具备充电性能:仅在编码为1010的条件下才具备充电性能,其他编码组合不允许充电。BIT2和BIT3选择在VCC2和VCC1之间是一个还是两个二极管串入其中。如果编码DS是01,选择一个二极管;如果编码是10,选择两个二极管;其他编码将不允许充电。该寄存器的BIT0和BIT1用于选择与二极管相串联的电阻值。其中编码RS=01为2 K,RS=10为4 K,RS=11为8 K,而RS=00将不允许进行充电。因此,根据慢速充电寄存器的不同编码可得到不同的充电电流。其具体计算如公式3.1: I充电=(V0-VD-VE)/R (3.1)式中:V0所接入的5.0V工作电压;VD二极管压降,一个按0.7V计算;R慢速充电控制寄存器0和1位编码决定的电阻值;VEVCC1脚所接入的电池电压。RAM寄存器寻址空间一次排列的31字节静态RAM可为用户使用,备用电源位RAM提供了掉电保护功能。寄存器和RAM的操作通过命令字节的BIT6加以区别。当BIT6为“0”时对RAM区进行寻址;否则将对时钟/日历寄存器寻址。其操作方法与前述相同。具体程序参见附录A。3.3环境温度传感器选择3.3.1常用温度传感器比较在日常生活中和工农业生产中常要用到温度检测及控制,传统的测温元件有热电偶和热电阻,而热电偶和热电阻测出的一般都是电压,将其转换成对应的二进制温度码值,需要较多的硬件支持,硬件电路复杂,软件调试也比较麻烦,制作成本高。另外,采集环境的温度也可应用IC化的温度传感器。常用的此类温度传感器有AD590和DS18B20。AD590测量到不同温度之后,将对应温度转化为线性电流输出,为1A/K,正比于热力学温度;宽量程,为-55+150;精度高,激光校准精度到±0.5;电源范围宽:+4+30V。AD590优点很多,但是由于它只能将采集来的温度转化为电流输出,所以在实际应用中,需要先将AD590输出的电流转化为电压,再利用A/D转换器件进行模/数转换,将模拟量转化为数字量,最后送入单片机中【5】。与AD590不同的是,DS18B20数字温度传感器能直接将被测温度转化成串行数字信号,以供单片机处理,既节省了硬件,又有效避免了模拟方式的干扰问题。它还具有微型化、低功耗、高性能等优点。通过编程,DS18B20可以实现912位温度读数,信息经过单线接口送入DS18B20或从DS18B20送出,因此从单片机到DS18B20仅需要连接一条线。读、写和完成温度变换所需的电源可由数据线本身提供,而无需外部电源。测量范围为-55+125,增量值为0.5。电源电压范围为+3.0+5.5V。通过编程,用户还以自行设定告警上下限温度,告警寻找命令可以识别和寻址那些温度超出预设告警界限的器件。3.3.2 DS18B20简介图3.5 DS18B20引脚分布图每片DS18B20在出厂时都设有唯一的产品序列号,此序列号存放在它的内部ROM中,微处理器通过简单协议,就能识别这些序列号,因此多个DS18B20可以挂接于同一条单总线上,这允许在许多不同的地方放置温度传感器,特别适合于构成多点温度测控系统。DS18B20的引脚分布如图3.5,管脚功能描述参见表3.5。表3.5 DS18B20引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚;开漏单总线接口引脚;当被用在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚;当工作于寄生电源时,此引脚必须接地。3.3.3 DS18B20内部结构 DS18B20的内部结构如图3.5所示。主要由4部分组成:64位ROM温度传感器、非易失性温度报警触发器TH和TL、配置寄存器【6】。图3.6 DS18B20内部结构图配置寄存器为高速暂存存储器中的第5个字节。DS18B20在工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如表3.6所示。其中,TM为测试模式标志位,出厂时被写入“0”,不能改变;R0、R1是温度计分辨率设置位。其对应四种分辨率如表3.7所示,出厂时R0、R1被置为“1”,默认设置是12位分辨率,用户可根据需要给写配置寄存器以获得合适的分辨率。表3.6 DS18B20配置寄存器结构表BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0TMR1R011111MSB LSB温度信息的低位、高位字节内容还包括了符号位S(是正温度还是负温度)和二进制小数部分,其具体形式如图3.7。表3.7配置寄存器与分辨率关系表R0R1温度计分辨率/bit最大转换时间/ms00993.750110187.5010113751112750图3.7 DS18B20温度值格式表这是12位分辨率的情况,如果配置为低分辨率,则其中无意义位为“0”。在DS18B20完成温度变换之后,温度值与存储在TH和TL内的告警触发值相比较。由于这些是8位寄存器,所以912位在比较时忽略。TH或TL的高位直接对应于16位温度寄存器的符号位。如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位,每次温度测量都会更新此标志位。只要告警标志置位,DS18B20就将响应告警搜索命令,这也就允许单线上多个DS18B20同时进行温度测量,即使某处温度越限,也可以识别出正在告警的器件。3.4电子保姆机硬件电路设计3.4.1时钟电路设计系统时钟应用了实时时钟日历芯片DS1302,其连接如图3.8。该硬件电路设计简单,抗干扰能力强【9】。如图3.8,ATmega128单片机PB0直接接DS1302的RST端,上电后,ATmega128的PB0引脚复位低电平有效。PB1作为时钟数据的I/O,PB2作为串行时钟接口SCLK。DS1302采用双电源供电,平时由+5V电源供电,当+5V掉电之后,由图中BT1(+3V备用电池)供电。图3.8 系统时钟电路特别需要注意X1和X2两端连接的晶振Y0,该晶振频率为32.768KHz。3.4.2环境温度采集电路设计本设计中使用DS18B20温度传感器进行环境温度采集和转化。如图3.9所示,ATmega128单片机的PB3脚接DS18B20的I/O脚,作为数据的读入和写出口。选4.7K的电阻作为DS18B20的I/O口