《基于单片机的仓库温湿度检测系统设计_毕业设计论文(59页).doc》由会员分享,可在线阅读,更多相关《基于单片机的仓库温湿度检测系统设计_毕业设计论文(59页).doc(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于单片机的仓库温湿度检测系统设计_毕业设计论文-第 - 53 - 页华科学院HUAKE INSTITUTE OF TAIYUANUNIVERSITY OF SCIENCE & TECHNOLOGY 毕业设计题目:基于单片机的仓库温湿度检测系统设计班 级 电子092203H_ 所属院(系) 电子信息工程 _ 指 导 教 师 _ 2013年 6 月 13日基于单片机的仓库温湿度检测系统设计摘 要防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。本文采用较为实用和先进的单片机控制技术,运用温度传感器和湿度传感器对温湿度的敏感性设计的一种基于多路信号输入的仓库温湿度检测
2、系统。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。本设计系统采用STC89C52单片机为微控制器,STC89C52负责采集室内温度、自动防雨以及手动调节功能。通过温度传感器组成的测控系统,间隔的测量室内的温度,并将温度和日期时间经LCD液晶显示出来。当遇到雨天,单片机控制系统通过雨滴传感器的信号,自动的进行关天窗动作。同时为了人性化的设计,本系统还设有手动控制按钮,可以通过手动按钮控制窗子的开关。本多功能窗的设计本着安全、方便、节能、人性化的原则进行,可使现代生活显著提高。关键词:STC89C52单片机,智能天窗,防雨,温度采
3、集Design of the warehouse temperature and humidity detection system based on single chip microcomputer Abstract Moistureproof, mouldproof, anticorrosion, explosion-proof is the important content of the warehouse daily work, is an important index of warehouse management quality. It directly affects re
4、serves of life and reliability. This article is using more practical and advanced MCU control technology, using the temperature sensor of temperature and humidity sensor sensitivity design based on a multi -channel signal input warehouse temperature detection system. To ensure the daily work smoothl
5、y, the main issue was to strengthen the temperature and humidity in the warehouse monitoring work. The design system uses STC89C52 as microcontroller.STC89C52 is responsible for the collection of indoor temperature, automatically anti-rain and manual adjustment function. Measure the indoor temperatu
6、re in the interval, and displays the temperature and the date and time on the LCD though the control system which composed of the temperature sensor. When faced with rain, the MCU control system will automatically close the window by the raindrop sensor signal. Meanwhile, in order to user-friendly d
7、esign, the system also has a manual control button to control the window switch. This system can achieve three functions include automatically anti-rain, the indoor temperature collecting, manually control and automatically control switch. The system will solve the corresponding problem in real life
8、. The design of this multi-function window will be in line with the principles of safe, convenient, energy saving, user-friendly, and it will make modern life significantly improved.Key Words:STC89C52 microcontroller,Intelligent window,Anti-rain,Temperature collecting目 录摘 要IAbstractII第1章 绪 论- 1 -1.1
9、 选题的意义- 1 -1.2 课题的国内外研究状况- 1 -1.3 课题的目的任务和要求- 3 -第2章 设计方案论证- 5 -2.1 温度检测方案- 5 -2.2 仓库温湿度检测系统设计方案- 5 -第3章 系统硬件设计- 7 -3.1 总体设计- 7 -3.2 各单元电路设计- 7 -3.2.1 控制单元设计- 7 -3.2.2 检测单元设计- 18 -3.2.3 显示单元设计- 24 -第4章 系统软件设计- 27 -4.1 总体设计- 27 -4.2 各部分子程序- 29 -4.2.1 温湿度检测程序- 29 -4.2.2 电机控制系统- 29 -4.2.3 LCD显示程序设计- 30
10、 -第5章 系统调试- 33 -5.1 硬件调试- 33 -5.2 软件调试- 34 -5.3 整体调试- 35 -结 论- 39 -参考文献- 41 -致 谢- 43 -附 录- 45 -第1章 绪 论1.1 选题的意义 科学合理的实用仓库是当今我国及全世界物资储存的一项重要任务,若使用、管理不当,使重要物资受潮,或需低温储藏的物资受高温环境影响,将会造成无法估计的损失。最典型的一个例子就是粮食储备基地的仓库实用。众所周知,粮食的储存需要合适的湿度和温度,若管理不当,粮食受潮发霉或生虫,将会造成大量的粮食浪费。粮食管理中最重要的就是温度和湿度的变化控制,没有合理科学的检测系统,就无法谈科学的
11、控制系统。现在,我国在粮仓建设上己实现规范化,但是检测手段一直未能实现同步现代化。我国许多储备粮库每年都因测控设备的不完善而导致部分粮食霉变,许多大型储备粮库的测控设备仍需高价进口,因此国家准备在未来的几年内对全国所有的粮库进行翻新和改造工作,要求规范粮库管理,实现粮库管理现代化。 影响储粮安全的最主要因素是粮堆内的大气条件(相对湿度和温度的日变化和季节变化),这就要求能有一种有效的、低成本的仪表来实现监测控制功能,使得管理人员能够方便有效地进行监控操作。本课题即以上述问题为出发点,设计仓库温、湿度监控系统,该系统不仅能采集仓库内的温、湿度值,而且能够迅速做出相应的处理。1.2 课题的国内外研
12、究状况在现代工业现场,随着科技的进步和自动化发展,温湿度检测系统在某些行业中要求越来越高,特别是在大中型仓库管理系统中,由于温湿度过高或过低引起的仓库储藏物本身的水分过高或连续的高湿天气将导致储藏物新陈代谢加快而放出热量,放热引起的温升又是代谢进一步加剧以至发霉变质,因此仓库必须重视对空气温湿度精确的而又方便的实时检测,长期以来,由于受经济条件限制,我国仓库环境较差,而且管理落后。 仓库管理的重点之一就是要经常检查温度变化,以便及时发现储藏物发热点,减少损失。然而,堆积物的热传递又是那样的缓慢,使人感知极差,需要管理人员经常进入闷热、呛人的仓库内观察温、湿度,不断进行翻仓、加湿、通风和降温设备
13、来控制温湿度,这样不但控制精度低、实时性差,而且操作人员的劳动强度大。这种繁重的体力劳动,不仅对人体有极大的伤害,而且不科学、不及时。所以,仓库储藏物虫蛀、霉变的情况时有发生。我国的储藏物现均集中存放在地方或国家的仓库中。按照国家储藏物保护法,必须定期抽样检查粮食的温、湿度,以确保储藏质量。这就迫切需要温湿度监控系统来控制仓库。 近年来,由于超大规模集成电路技术、网络通信技术和计算机技术的发展,是检测系统在工农业生产等领域得到广泛引用,因此,仓库温湿度检测技术的研究在软、硬件等方面都得到了一定的发展。1) 硬件技术早期仓库温湿度检测主要采用温度计量算法,它是将温度计放入特定的插杆中,根据经验插
14、入仓库的多个测温点,工作人员定期拔出读数,决定采取相应的措施。这种方法由于温度计精度、人工读数的人为因素等原因,温度检测不仅速度慢而且精度低,抽样不彻底,局部粮食温度过高不易被及时发现,局部粮食发霉变质引起大面积坏掉的情况时有发生。随着科技的发展,温、湿度检测系统有了很大的改善和提高,系统在布线上采用矩阵式布线技术,简化了数据采集部分的线路;在传感器方面应用了热电偶、半导体等器件;在数据传输方面减少了传输线的根数,采用串行传输方式,他可对仓库的各个测试点进行巡回检测,检测的速度、精度大大提高,但由于电阻传感器灵敏度低,使检测精度不够理想。 然后仓库使用单片机进行温湿度检,并采用各种手段提高数据
15、传输及检测速度,通过软硬件技术的结合,检测的精度和可靠性有较大提高,能满足一般中小型仓库的需要。近年来,随着网络通信技术和微处理器芯片的发展,为了简化仓库温湿度检测系统的设计并降低成本,各公司的科研机构开始致力于相关领域的探索,是的仓库温湿度检测系统数字化,网络化成为可能。其中,美国达拉斯公司推出的单总线接口协议采用单根信号线,既可传输数据又可传输时钟,而且数据传输是双向的,因此单总线技术具有线路简单,硬件开销小,便于总线扩展和维护等优点。该公司所生产的单总线器件具有无需另附电源、在测试点直接将模拟信号数字化等特点,一方面减少了系统环节,另一方面也保证了系统的精度。同时各公司开发的可视化软件开
16、发工具,更是向着效率高、功能强大的方向努力,从而为获得良好的用户界面奠定了基础。国外仓库的监控技术已经发展的很成熟,高科技的数字传感器广泛应用于仓库温、湿度监控系统。这种传感器采用微控制器与半导体集成电路的最新技术,在一个芯片上集成了温度检测芯片、数据信号转换芯片、计算机接口芯片,存储芯片等,除完成温度检测功能外,还可完成预置范围温度、报警、多路A/D转换、温度补偿等功能。由于数字温度传感器直接输出数字量,从而解决了温度信号长距离传输问题及传输过程中因干扰和衰减而导致的精度降低等问题。目前,国内出现了丰富的数字传感器配套产品,如中继器、分线器、插接器、远程控制模块等。数字传感器技术、通信技术、
17、计算机已成为当今计算机技术的三大基础,计算机监控技术已成为人们关注的热点。2) 软件技术 近年来,各种计算机软件开发平台有了很大发展,特别是基于Windows环境下的Delphi、Power Builder、Visual Basic、Visual C+的不断升级,数据功能增强,能够使用ODBC驱动程序访问各种数据系统,并可使用ADO、DAO等各种应用程序开发接口,操纵数据库中的数据,管理数据库,数据库对象与结构方便地对监测系统进行显示、打印、查询、自动控制等操作,为高性能的测控软件设计提供了基础。1.3 课题的目的任务和要求1. 本设计的具体任务 我们设计了以AT89C52单片机为中央控制器的
18、智能窗。该智能窗能通过传感电路不断循环检测室内湿度、温度经处理后传入单片机。单片机对信号进行运算,然后与由预先设置的参数临界值相比较,从而作出开/关窗 的判断,再结合窗状态检测电路所检测到的当前窗状态,再输出脉冲信号调整步进电机,完成下雨自动关窗等。2. 本设计的要求1)完成该课题必须重点研究单片机控制、温湿度采集、复位电路等关键问题和理论。2)研究方案的设计、研究方法和手段要合理,符合理论。第2章 设计方案论证2.1 温度检测方案 方案一:温度检测采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件;现应用较多的有铂、铜、镍等热电阻;其主要的特点为精度高、测量范围大、便
19、于远距离测量。湿度检测使用湿敏电阻。方案二:在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽在实际应用中取得了良好的测温效果。DS18B20工作稳定可靠,抗干扰能力强,而且电路也比较简单。 综合来看方案二测温系统简单、测温精度高
20、、连接方便,所以选用第二种方案。2.2 仓库温湿度检测系统设计方案 方案一:直流电机驱动电路使用最广泛的就是H型全桥式电路,这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。 图2.1 H桥电机驱动电路桥式驱动电路的4只开关管都工作在斩波状态,S1、S2为一组,S3、S4 为另一组,两组的状态互补,一组导通则 另一组必须关断。当S1、S2导通时,S3、 S4关断,电机两端加正向电压,可以实 现电机的正转或反转制动;当S3、S4导 通时,S1、S2关断,电机两端为反向电压,电机反转或正转制动。在窗户动作的过程中,我们要不断地使电机在四个象限之间切换,即在正转
21、和反转之间切换,也就是在S1、S2导通且S3、Q4关断,到S1、S2关断且S3、 S4导通,这两种状态之间转换。在这种 情况下,理论上要求两组控制信号完全互补,但是,由于实际的开关器件都存在开通和关断时间,绝对的互补控制逻辑必然导致上下桥臂直通短路,比如在上桥臂关断的过程中,下桥臂导通了。上桥臂导通上下直通下桥臂导通图2.2 窗户桥臂导通示意图因此,为了避免直通短路且保证各个开关管动作之间的协同性和同步性,两组控制信号在理论上要 求互为倒相的逻辑关系,而实际上却必须相差一个足够的死区时间,这个矫正过程既可以通过硬件实现,即在上下桥臂的两组控制信号之间增加延时,也可以通过软件实现。方案二:仓库温
22、湿度检测系统是以AT89C52系列单片机为核心构成的检测系统。本课题提出了一种可以应用于中小型粮仓的温湿度检测系统的设计方案。 对仓库温湿度检测系统的功能进行设计,相应的硬件电路和系统软件设计,并做出控制系统,从而达到设计的目的:温度升高到超过预设值时,电机转动关闭窗户;若下雨窗外的湿度传感器会感应到并把窗户关闭;通过按键可以设置自动开启窗户时间及自动关闭窗户时间,到设定时间会自动关闭或开启窗户;可以设置根据温湿度控制窗户开关及根据时间开启、关闭窗户功能。综合来看AT89C52具有强驱动能力,体积小,电路设计简单等优点,故选用方案二。第3章 系统硬件设计3.1 总体设计 (1)显示室温与时间:
23、通过温度传感器组成的测控系统,间隔的测量室内的温度,并将温度和日期时间经LCD液晶显示出来。(2)自动防雨:平时不能及时关窗、出门在外也总有忘记关窗的时候,遇到下雨时,雨滴传感器检测到下雨信息,单片机控制板控制电动机动作,窗门自动关闭,使仓库里免遭雨水侵挠。(3)自动开关窗及手、自动切换:阳光明媚的早上,单片机根据设定的开窗时间控制板自动打开窗户,更新室内空气;傍晚太阳落下时窗子自动关闭。且为了人性化的设计,系统还可采用按键电路实现手动控制与自动控制的切换。 系统由最初的实验阶段到产品的形成过程中,其基本的功能框架如下:显示单元STC89C52雨滴检测电路按键电路温度采集电路电机电路 图3.1
24、 系统框图3.2 各单元电路设计3.2.1 控制单元设计 1.STC89C52单片机芯片图3.2 MCU核心电路本设计中采用了STC89C52单片机作为主控芯片,STC89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,该器件采用STC高密度非易失存储器制造技术制造,与工业标准的M C S-5 1指令集和输出管脚相兼容。与传统的51单片机相比较,STC89C52单片机具有较大的存储器空间并且可以支持串口直接下载程序,免去了购买价格昂贵的专门编
25、程器来烧写程序,使得开发成本得到很好控制。 STC89C52具有以下标准功能: 8k字节flash,256字节ram,32 位i/o 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,stc89c52可降至0hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图3.3 STC89C52芯片引脚图1)、STC89C52芯片引脚说明 主电源引脚(2根)
26、VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P
27、2、P3口,每个口有8位(8根引脚),共32根。P0口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7l P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总
28、线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。l P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流(I/L )。 此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和时器/计数器2 的触发输入(p1.1/t2ex),具体如下表所示
29、。 在flash编程和校验时,p1口接收低8位地址字节。引脚号第二功能:p1.0 t2(定时器/计数器t2的外部计数输入),时钟输出p1.1 t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)p1.5 mosi(在线系统编程用)p1.6 miso(在线系统编程用) p1.7 sck(在线系统编程用)l P2端口(P2.0P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL逻辑电平输入。对p2端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被
30、外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。l P3端口(P3.0P3.7,1017引脚): P3是一个具有内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对p3端口写入“1”时,通过内部的上拉电阻把端口拉到高电位,这时
31、可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流(I/L )。 p3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,p3口也接收一些控制信号。引脚号第二功能:P3.0 rxd(串行输入口)P3.1 txd(串行输出口)P3.2 into(外中断0)P3.3 int1(外中断1)P3.4 to(定时/计数器0)P3.5 t1(定时/计数器1)P3.6 wr(外部数据存储器写选通)P3.7 rd(外部数据存储器读选通)l RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。l AL
32、E/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。l 对flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。l 如有必要,可通过对特殊功能寄存器(SFR)区中的8eh单元的d0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。l PSEN程序储存允许(PSEN)输出是外
33、部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。l EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000h-ffffh),EA端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。l 如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。l flash存储器编程时,该引脚加上+12v的编程允许电源VPP,当然这必须是该器件是使用12v编程电压VPP。2)、STC89C52主要功能如下表所示表3.
34、1 STC89C52的主要功能特性主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能2. DS1302时钟电路本电路采用DS1302时钟芯片,DS1302主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通的32768Hz晶振,两个电源Vcc1及Vcc2接电源VDD,这样如果没有交流电的供电也可以由可充电电池供电
35、,起了掉电保护,防止数据丢失。2脚X1(晶振引脚)及3脚X2(晶振引脚)接32768Hz的晶振,DS1302的7脚CLK(串行时钟输入引脚)与单片机的P1.5相连,6脚I/O(数据输入输出引脚)与单片机的P1.6相连,5脚RET(复位引脚)与单片机的P1.7相连。DS1302与单片机的连接仅需要3条线:CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。图3.4 时钟电路原理图 现在流行的串行时钟电路很多,如DS1302、 DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本文介绍的实时时钟
36、电路DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路。它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。它可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。 1)、DS1302芯片的引脚说
37、明图3.5 DS1302芯片的引脚图Vcc1 、VCC2(8、1):其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1、X2(2、3):X1和X2是振荡源,外接32.768kHz晶振。RST(5) :RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节
38、数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O (6) :串行数据输入输出端(双向)。SCLK(7) :时钟输入端。 2)、DS1302芯片的工作原理 DS1302的控制字节DS1302 的控制字如图3.12所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至
39、位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,位1表示进行读操作,控制字节总是从最低位开始输出。 图3.6 DS1302的控制字节数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放数据为BCD码形式,其日历、时间寄存器及其控制字见表3.2。 表3.2 DS1302的日历、时间寄存器及其控制字寄存器名命令字取
40、值范围各位内容写操作读操作76543210秒寄存器80H81H00-59CH10SECSEC分钟寄存器82H83H00-59010MINMIN小时寄存器84H85H01-12或00-2312/24010/APHRHR日期寄存器86H87H01-28,29,30,310010DATEDATE月份寄存器88H89H01-12000IQMMONTH周日寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器
41、内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。DS1302与CPU的连接DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。只要占用CPU一个口
42、线即可。DS1302 存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。3. 复位电路单片机最小应
43、用系统中复位电路使CPU和系统中的其他功能部件都处在一个确定的初始状态下,并从这个状态开始工作,无论是在控制系统刚开始接上电源时,还是断电后或者发生故障后都要复位。本设计采用如图3.10所示的复位电路,该电路既可以实现上电复位,又可以按键复位。1)复位操作 复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行或操作出错使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表3.3所示。表3.3 一些寄存器的复位状态寄存器复位状态寄存器复位
44、状态PC0000HTCON00HACC00HTL000HPSW00HTH000H2)复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图3.7所示:RST/VPD复位电路片内RAM施密特触发器D2VCCD11VSS图3.7 复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需
45、要的信号。复位操作有上电自动复位与按键手动复位两种方式。其中按键手动复位有电平方式和脉冲方式两种。(a)上电复位 (b)按键电平复位 (c)按键脉冲复位图3.8 复位电路 上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3.8(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。 按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3.8(b)所示; 按键脉冲复位是利用RC微分电路产生的正脉冲来实现的,其电路如图3.8(c)所示。本系统的复位电路采用按键电平复位方式。图3.9 单片机复位电路其它模块通过P0
46、、P1、P2和P3四组I/O口与单片机控制系统相接,从而实现单片机控制系统的总调度任务。3.2.2 检测单元设计1. DS18B20温度采集电路 DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。DS18B20温度采集电路有三种不同供电方式: 寄生电源供电方式、寄生电源强上拉供电方式、外部电源供电方式。1)DS18B20寄生电源供电方式图3.10 寄生电源供电方式在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部 电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。 要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由 于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的 能量,会造成无法转换温度或温度误差极大。 因此,图3.10电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并 且工作电源VCC必须保证在