1、摘 要 环境温度对工业、农业、商业和人们寻常生活均有很大影响,而温度测量也就成为人们生产生活中一项必不可少工作。随着单片机技术不断发展,单片机在日用电子产品中应用越来越广泛,温度传感器DS18B20具备线性优良、性能稳定、敏捷度高、抗干扰能力强、使用以便等长处,广泛应用于冰箱、空调器、粮仓等寻常生活中温度测量和控制。 本设计所简介数字温度计使用单片机AT89s52单片机,测温传感器使用DS18B20,用4位共阴极LED数码管以动态方式实现温度显示,分时轮流通电,从而大大简化了硬件线路,同步,采用串口通信方式可大大简化硬件电路和软件程序设计,节约了I/O口。DS18B20数字温度传感器是单总线器
2、件与51单片机构成测温系统,具备线路简朴、体积小等特点,并且在一根通信线上,可以挂接各种DS18B20,因而可以构成多点温度测控系统。核心词:单片机;多点检测;串口通信Abstract Environmental temperature to industry,agriculture,commerce,and peoples daily life has a lot of influence,and the measurement of the temperature will become an indispensable people production and life of the
3、work. Along with the development of the single chip microcomputer technology,microcomputer in the daily electronic products is more and more extensive application,the temperature sensor DS18B20 have good linear,stable performance,high sensitivity,anti-interference ability strong,easy to use,widely u
4、sed in the refrigerator,air conditioner,granaries,etc in daily life temperature measurement and control. The design of the digital thermometer introduced use single chip computer 89 s52 microcontroller,temperature sensor DS18B20 use,with a total of 4 cathode tube LED digital display to realize dynam
5、ic way temperature,in turn time-sharing electricity,which greatly simplified the hardware circuit,and at the same time,the serial interface communication mode can greatly simplified the hardware circuit and software program design,save the I/O port. Digital temperature sensor DS18B20 is the single b
6、us devices and 51 SCM composition,temperature measurement system,with simple line,little volume features,but at a communications line,can be articulated multiple DS18B20,so can form multi-point temperature measurement and control system.Key Words: Single Chip Microcomputer;Multi-point detection;Seri
7、al commun- -ication 目 录1 绪论11.1 前言11.2 研究背景11.3 研究意义11.4 国内外研究现状21.5 研究内容22 系统方案论证32.1 传感器某些方案论证32.2 控制某些方案论证42.3 系统整体方案43 硬件电路设计63.1 控制模块设计63.1.1 AT89S52单片机在系统中作用63.1.2 按键电路设计93.2 测温模块电路设计113.2.1 DS18B20简介113.2.2 DS18B20在系统中应用133.3 电平转换模块设计143.3.1 MAX232电平转换芯片简介143.3.2 MAX232在本系统中应用153.4 报警模块电路设计16
8、3.5 电源模块电路设计164 软件设计194.1 温度转换模块程序设计194.2 串口通信模块程序设计204.2.1 串口通信方式设立204.2.2 波特率设立224.3 报警电路模块设计234.4 温度显示及控制模块程序设计234.5 系统软件整体流程245 软件仿真275.1 系统仿真环境275.2 器件参数选用275.3 仿真成果分析276 结论29道谢30参照文献31附录一 系统源程序32附录二 系统仿真图45附录三 系统原理图46附录四 系统PCB图471 绪论1.1 前言 环境温度对工业、农业、商业和人们寻常生活均有很大影响,而温度测量也就成为人们生产生活中一项必不可少工作。随着
9、电子技术和计算机技术迅速发展,特别是单片机发展,使老式测量仪器在原理,功能,精度及自动化水平等方面发生了巨大变化,使诸多老式电子仪器被相应全新仪器类型和测试系统体系所代替。本系统设计温度测采集系统,重要运用了集成温度传感器DS18B20 作为敏感元件对物体进行温度测量。 本文设计了一种基于AT89S52 单片机数据采集,温度传感器DS18B20 完毕将模仿信号(温度)转换成数字信号功能,由单片机控制从而实现对数据采集。单片机系统将输出相应逻辑电平,经驱动后控制输出电路通过串口与计算机相连,然后通过数码管显示实时温度。1.2 研究背景 随着电子信息技术不断发展,多点温度检测获得了广泛运用。数据采
10、集系统开发在很大意义上提高了生产生活需要,以便了生产中对温度控制。外围电路比较简朴,测量精度较高,辨别力高,使用以便。数据检测是当代检测技术重要构成某些,在保证产品质量、节约能源和安全生产等方面起着核心作用。本次毕业设计正是为了完毕数据采集而设计,可以说与人们寻常生活是息息有关,具备很大现实意义。1.3 研究意义 本文重点研究了多点温度检测系统原理和上位机与下位机之间串口通信问题。多点温度检测可以实时检测控制不同采样点温度状况,对温室大棚等需要检测温度但监测点比较分散场合具备重要现实意义。串口通信由于占用单片机端口少,传播数据高,在节约端口同步也大大提高了数据传播效率,对节约系统成本,提高系统
11、稳定性方面具备很大意义。1.4 国内外研究现状温度传感器种类诸多,测温范畴也很宽,可高达几千度低可接近绝对零度,但在测量精度、稳定性、抗干扰等方面仍存在问题。随着微电子技术和新材料技术发展,传感器朝着自动化、数字化和集成化发展,测量精度更高,测量范畴更宽,同步摸索新敏感原理,谋求新型敏感元件也是温度传感器发展方向之一。此外,在测量方式上,完全分布式温度测量成为测量领域研究一种热点。最新温度测量技术是分布式光纤测温技术。分布式光纤测温系统只需要一根传感光纤,布线非常简朴,且系统成本随着传感距离增长大幅减少,是当前一种发展前景非常好测温系统。1.5 研究内容 本系统采用ATMEL公司AT89S52
12、单片机为主控芯片,硬件系统涉及键盘控制模块、下位机温度采集与解决模块、上位机温度显示与报警模块。软件某些重要涉及温度采集、串口通信、数据显示和报警控制。三个独立式按键分别控制各种温度切换,温度上下限增、减。本文给出了该系统电路原理图、仿真图及其PCB图。2 系统方案论证 温度检测系统有则共同特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用普通温度传感器采集温度信号,则需要设计信号调理电路、A/D 转换及相应接口电路,才干把传感器输出模仿信号转换成数字信号送到计算机去解决。这样,由于各种因素会导致检测系统较大偏差;又由于检测环境复杂、测量点多、信号传播距离远及各种干扰影响,会使检测系
13、统稳定性和可靠性下降 。因此多点温度检测系统设计核心在于两某些:温度传感器选取和主控单元设计。温度传感器应用范畴广泛、使用数量庞大,也高居各类传感器之首。2.1 传感器某些方案论证方案一: 采用热敏电阻,可满足40摄氏度至90摄氏度测量范畴,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度信号是不合用。并且在温度测量系统中,采用单片温度传感器,例如AD590,LM35等.但这些芯片输出都是模仿信号,必要通过A/D转换后才干送给计算机,这样就使得测温装置构造较复杂.此外,这种测温装置一根线上只能挂一种传感器,不能进行多点测量.虽然能实现,也要用到复杂算法,一定限度上也增长了软件实现难度。方案
14、二: 在多点测温系统中,老式测温办法是将模仿信号远距离采样进行AD转换,而为了获得较高测温精度,就必要采用办法解决由长线传播,多点测量切换及放大电路零点漂移等导致误差补偿问题。采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机解决及控制,省去老式测温办法诸多外围电路。且该芯片物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差不大于1摄氏度。DS18B20最大特点之一采用了单总线数据传播,由数字温度计DS1820和微控制器AT89C51构成温度测量装置,它直接输出温度数字信号,可直接与计算机连接。这样,测温系统构造就比较简朴,体积也不大,且
15、由于AT89C51可以带各种DSB1820,因而可以非常容易实现多点测量.轻松组建传感器网络。 采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。某些功能电路集成,使总体电路更简洁,搭建电路和焊接电路时更快。并且,集成块使用,有效地避免外界干扰,提高测量电路精准度。因此集成芯片使用将成为电路发展一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。2.2 控制某些方案论证方案一: 此方案采用PC机实现。它可在线编程,可在线仿真功能,这让调试变得以便。且人机交互和谐。但是PC机输出信号不能直接与DS18B20通信。需要通过RS232电平转换兼容,硬件合成在线调试,较为繁琐,很不简便。
16、并且在某些环境比较恶劣场合,PC机体积大,携带安装不以便,性能不稳定,给工程带来诸多麻烦!方案二: 此方案采用AT89S52八位单片机实现。单片机软件编程自由度大,可通过编程实现各种各样算术算法和逻辑控制。并且体积小,硬件实现简朴,安装以便。既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,构成两级分布式多点温度测量巡回检测系统,实现远程控制。此外AT89C51在工业控制上也有着广泛应用,编程技术及外围功能电路配合使用都很成熟。2.3 系统整体方案 综上所述,温度传感器以及主控某些都采用第二方案。 系
17、统采用针对老式温度测温系统测温点少,系统兼容性及扩展性较差特点,运用分布式通讯思想。设计一种可以用于大规模多点温度测量巡回检测系统。该系统采用是RS-232串行通讯原则,通过下位机(单片机)进行现场温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据解决,具备巡检速度快,扩展性好,成本低特点。本系统整体方案框图如下:图2-1 系统整体方框图3 硬件电路设计本系统硬件电路涉及四个某些:控制某些电路设计,测温模块设计,电平转换模设计块、电源模块设计和报警模块设计,现对各模块做简朴简介。3.1 控制模块设计 在该模块设计中,由于下位机只负责发送数据,不涉及对其她模块控制,故本系统控
18、制模块设计只针对于上位机设计。上位机控制模块重要是按键控制 设计。 3.1.1 AT89S52单片机在系统中作用 作为本系统主控制芯片,AT89S52单片机在系统中有着不可代替作用。它作为一种低功耗、高性能CMOS8位微控制器,具备8K在系统可编程Flsah存储器。使用Atmel公司高密度、非易失性存储技术制造,与80C51指令完全兼容。片上Flash容许程序存储器可在线编程,亦适应于常规编程器。在单芯片上,拥有8位CPU和在线可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活,超有效解决方案。AT89S52具备如下原则功能:8K字节Flash,256字节RAM,32位I/O
19、口线,看门狗定期器,2个数据指针,3个16位定期器/计数器,一种6向量2级中断构造,全双工串行口,片内晶振及时钟电路。此外,AT89S52可降至0Hz静态逻辑操作,支持2种软件选取节电模式。空闲模式下,CPU停止工作,容许RAM,定期器/计数器,串口,中断继续工作。掉电保护方式下,RAM内容被保护,振荡器被冻结,单片机一切工作停止,直到下一种中断或硬件复位为止。AT89S52单片机为系统提供中断函数解决、速度计算和判断、输出PWM、驱动LCD显示等各项功能。由于系统用到单片机中I/O口普通功能和第二功能,现对其对其管脚做简要简介,AT89S52单片机管3-1所示。图3-1 AT89S52单片机
20、管脚排列VCC:AT89S52电源正端输入,接+5V。GND:电源地端。XTAL1:单芯片系统时钟反相放大器输入端。XTAL2:单芯片系统时钟反相放大器输出端。普通在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一种30pF小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S52重置引脚,高电平动作。当要对晶片重置时,只要对此引脚电平提高至高电平并保持两个机器周期以上时间,AT89S52便能完毕系统重置各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/V
21、pp:EA为英文External Access缩写,表达存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部程序代码(存于外部EPROM中)来执行程序。因而在8031及8032中,EA引脚必要接低电平,由于其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以运用此引脚来输入21V烧录高压(Vpp)。ALE/PROG:ALE是英文Address Latch Enable缩写,表达地址锁存器启用信号。AT89S52可以运用这支引脚来触发外部8位锁存器(如74LS373),将端口0地址总线(A
22、0A7)锁进锁存器中,由于AT89S52是以多工方式送出地址及数据。平时在程序执行时ALE引脚输出频率约是系统工作频率1/6,因而可以用来驱动其她周边晶片时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划特殊功能来使用。PSEN:此为Program Store Enable缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便获得程序代码,普通这支脚是接到EPROMOE脚。AT89S52可以运用PSEN及RD引脚分别启用存在外部RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K定址范畴。PORT0(P0.0P0.7
23、):端口0是一种8位宽开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表达位0,P0.1表达位1,依此类推。其她三个I/O端口(P1、P2、P3)则不具备此电路组态,而是内部有一提高电路,P0在当做I/O用时可以推动8个LSTTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必要外加一锁存器将端口0送出地址栓锁住成为A0A7,再配合端口2所送出A8A15合成一完整16位地址总线,而定址到64K外部存储器空间。PORT2(P2.0P2.7):端口2是具备内部提高电路双向I/O端口,每一种
24、引脚可以推动4个LSTTL负载,若将端口2输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做普通I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线高字节A8A15,这个时候P2便不能当做I/O来使用了。PORT1(P1.0P1.7):端口1也是具备内部提高电路双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032话,P1.0又当做定期器2外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入触发脚位。PORT3(P3.0P3.7):端口3也具备内部提
25、高电路双向I/O端口,其输出缓冲器可以推动4个TTL负载,同步还多工具备其她额外特殊功能,涉及串行通信、外部中断控制、计时计数控制及外部数据存储器内容读取或写入控制等功能。其引脚分派如下表所示: 表3-1 P3口各位口线与第二功能表P3口位第二功能注释P3.0RXD串行数据接受口P3.1TXD串行数据发送口P3.2外中断0输入P3.3外中断1输入P3.4T0计数器0计数输入P3.5T1计数器1计数输入P3.6外部RAM写选通信号P3.7外部RAM读选通信号 在本系统中,上位机普通I/O口要用到P0口P0.0P0.3四个引脚,P1口所有八个引脚,P2口P2.0、P2.2、P2.4以及P2.7,P
26、3口P3.0()。其中,P0口P0.0P0.3用来控制数码管位选,P1口数码管段选,P2.0、P2.2和P2.4用来作为键盘输入使用,P3.0用来接受数据使用。所用各个引脚在本系统中详细功能,将在如下章节中详细解说。3.1.2 按键电路设计作为一种信号输入设备,按键在人机交互中起着重要作用。人们可以通过按键对系统发出一系列特定指令以使其完毕相应功能。本系统从实际出发,设定了三个独立式按键,分别温度值增长、温度值减小和功能切换。其在系统中原理图如图3-2所示。图3-2 按键设计原理图 由于按键是运用机械触点来实现按键闭合与释放,由于弹性作用影响,机械触点在闭合及断开瞬间均具备抖动过程,从而使按键
27、输入电压信号也浮现抖动现象,如图3-3所示。图3-3 按键输入抖动示意图 为了保证系统对按键一次闭合仅作一次按键输入解决,必要进行消抖解决。普通有硬件或软件办法进行消抖。硬件消抖可使用双稳态消抖电路,有两个与非门和电阻构成。软件消抖是检测到电平变化后通过延时几微秒后再次判断电平与否变化,是话就可以为按键的确按下,可以执行按键解决函数,如果电平又恢复成初始电平,则可以为是系统干扰,可忽视本次电平变化,不执行按键解决函数。由于硬件电路连接复杂,软件电路又简朴易行,故本系统采用软件解决办法来消除按键抖动影响。 在按键解决中,还要注意一点是松手检测。由于在按键发生动作过程中,不可避免浮现抖动现象,电平
28、有也许进行跳变。松手检测就是在程序中延时一段时间后,再次扫描管脚电平,如果还是输入电平,就始终等待,直至变化成初始电平,即按键放下后执行按键解决程序。如不执行松手检测,则系统就会误判断多次进行按键而是系统紊乱,故按键解决中必要执行松手检测。3.2 测温模块电路设计 本系统所采用温度传感器为DS18B20数字式温度传感器,由于其输出能力有限,故在输出端加一上拉电阻以增长其稳定性,现对该模块做简要简介。3.2.1 DS18B20简介DS18B20为单线数字温度计,其实物如图3-4所示:图3-4 DS18B20实物图 其中DQ:数字信号输入输出端。GND:电源地端。VDD:外接供电电源输入端(在寄生
29、电源接线时此脚应接地)。 DS18B20作为数字式温度计,具备如下特点: (1)单线构造,只需一根信号线和CPU相连。 (2)不需要外部元件,直接输出串行数据。 (3)可不需要外部电源,直接通过信号线供电,电源电压范畴为3.3V5V。 (4)测温精度高,测温范畴为:一55+125,在-10+85范畴内,精度为0.5。 (5)测温辨别率高,当选用12位转换位数时,温度辨别率可达00625。 (6)数字量转换精度及转换时间可通过简朴编程来控制:9位精度转换时间为9375 ms:10位精度转换时间187.5ms:12位精度转换时间750ms。 (7)具备非易失性上、下限报警设定功能,顾客可以便地通过
30、编程修改上、下限数值。 (8)可通过报警搜索命令辨认哪片DS18820采集温度超越上、下限。 现对DS18B20内部构造简要简介: DS18820内部构造如图3-3所示:重要有64位光刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配备寄存器等构成。图3-3 DS18B20方框图(1)64位光刻ROM是生产厂家给每一种出厂DS18820命名产品序列号,可以看作为该器件地址序列号。其作用是使每一种出厂DS18820地址序列号都各不相似,这样,就可以实现一根总线上挂接各种DS18820目。(2)DS18820中温度传感器完毕对温度测量,输出格式为:16位符号扩展二进制补码。当测温精度设立为
31、12位时,辨别率为O0625,即O0625LSB。其二进制补码格式如图3-4所示。其中,S为符号位,S=1,表达温度为负值;S=0,表达温度为正值。表3-2 DS18B20输出温度二进制补码格式 字节类型输出值温度值低字节D7D6D5D4D3D2D1D0温度值高字节SSSSSD10D9D8(3)DS18820中低温触发器TL、高温触发器TH,用于设立低温、高温报警数值。DS18820完毕一种周期温度测量后,将测得温度值和TL、TH相比较,如果不大于TL,或不不大于TH,则表达温度越限,将该器件内告警标志位置位,并对主机发出告警搜索命令作出响应。需要修改上、下限温度值时,只需使用一种功能命令即可
32、对TL、TH写入,十分以便。(4)DS18820中高速暂存器是一种9字节存储器,其含意如表3-3所示。开始两个字节为被测温度数字量,其含义如图3-4所示。第3、4、5字节分别为TH、TL、配备寄存器复制,每一次上电复位时被重写。配备寄存器有R0、R1构成,其值决定温度转换精度位数、转换时间等,含义如表3-4所示。第7字节为测温计数剩余值。第8字节为测温时每度计数值。第9 字节读出是前8个字节CRC校验码,通过此码,可判断通讯与否对的。表3-3 DS18B20内部高速暂存寄存器各位含义暂存器内容字节地址温度最低数字位0温度最高数字位1温度上限TH2温度下限TL3配备寄存器4保存5计数剩余值6每度
33、计数值7CRC校验8表3-4 配备寄存器R0,R1各值代表含义R1R0转换精度温度辨别率转换时间ms0090.593.7501100.25187.510110.12537511120.06257503.2.2 DS18B20在系统中应用 在本系统中,DS18B20数字式温度传感器每转换一次输出为两个字节形式通过下位机串口发送端向上位机发送,由于其输出电压有限,故加一上拉电阻,使其输出高电平达到5V,其电路原理图如图3-4所示。图3-4 测温模块电气原理图3.3 电平转换模块设计 由于本系统温度采样点距离控制中心比较远,TTL电平不可以进行长距离传播,因此需要进行电平转换。在本系统中,通过MAX
34、232芯片使TTL电平转换成232电平,现对其原理做简要简介。3.3.1 MAX232电平转换芯片简介 MAX232芯片是美信公司专门为电脑RS-232原则串口设计单电源电平转换芯片,使用+5v单电源供电。其封装图如图3-5所示。 图3-5 MAX232封装图 第一某些是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供应RS-232串口电平需要。 第二某些是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN
35、)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三某些是供电。15脚GND、16脚VCC(+5V)。其电气连接图如图3-6所示:图3-6 MAX232电气连接图3.3.2 MAX232在本系统中应用在本系统中,MAX232做为上位机和下位机之间连接纽带,其作用非常重要。如图3-7所示,下位机通过P3.1(TXD)端将数据送至第一片MAX232T1
36、IN端,通过电平转换后由T1OUT端发出,此时发出电平就为RS232电平,即逻辑正为12V,逻辑负为+12V,发送数据由第二片MAX232R1IN端接受,转换成TTL电平后再由R1OUT端发送至上位机P3.0(RXD)端,这样就完毕了上、下位机之间数据通信。 (2) (1)图3-7 MAX232在系统中电路原理图3.4 报警模块电路设计在该模块中,采用电磁式进行报警。蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声,因而需要一定电流才干驱动它,单片机IO引脚输出电流较小,单片机输出TTL电平基本上驱动不了蜂鸣器,因而需要增长一种电流放大电路。图3-8 报警电路模块电路原理图
37、 如图3-8所示,蜂鸣器正极接到三极管E极上面,蜂鸣器负极接到地(GND)上,三极管基级B通过限流电阻R6后由单片机P2.7引脚控制,当P2.7输出高电平时,三极管Q1截止,没有电流流过线圈,蜂鸣器不发声;当P2.7输出低电平时,三极管导通,这样蜂鸣器电流形成回路,发出声音。因而,可以通过程序控制P2.7脚电平来使蜂鸣器发出声音和关闭。当实时温度值超过温度上限或低于温度下限时,P2.7引脚输出低电平,使蜂鸣器发出声响报警。3.5 电源模块电路设计 由于单片机工作电源为+5V,且电路功耗很小。采用7805三端稳压片即可满足规定。详细电路图如下:图3-9 电源电路模块电路原理图 在该模块中,LM7
38、805前端两个电容C1、C2重要起滤除纹波作用,后端C3、C4便于长距离传播,短距离话可以不加。D3为电源批示灯。D4重要是保护电路作用,在断电时及时将C3中电量引导出去。现对LM7805做简要简介。(1)概述78XX系列是三端正电源稳压电路,其封装为T0-220,它有一系列固定电压输出,应用非常广泛。每种类型由于内部电流限制,以及过热保护和内部安全区保护,使它基本上不会损坏。(2)特点 最大输出电流为1.5A; 过热保护; 短路保护; 输出晶体管安全区保护;其封装图如图3-10所示。图3-10 LM7805封装图其中:1 输入;2 接地; 3 输出。LM7805内部框图如图如图3-11所示。
39、 (3)参数LM7805极限参数如表3-5所示:表3-5 LM7805极限参数参数符号数值单位输入电压Vi18V结到空气热阻65结壳气热阻5工作温度0125储存温度-65+125图3-11 LM7805内部电路图 4 软件设计本系统软件某些重要包括温度转换模块、串口通信模块、报警电路模块和温度显示及控制模块。温度转换模块重要负责将DS18B20送过来字节转换成可辨认十进制温度。串口通信模块重要是负责将数据从下位机传送至上位机,报警电路模块负责将实时温度和设定温度上下限进行对比决定与否启动报警。下面将对各模块进行细致简介。4.1 温度转换模块程序设计通过前文简介DS18B20工作原理可知,DS1
40、8B20送至下位机是温度16位补码形式,由于正数原码、反码、补码都同样,因此当温度不不大于0时可以直接将补码转换成十进制温度。图4-1为温度解决程序流程图。图4-1 上、下位机温度解决流程图4.2 串口通信模块程序设计 本系统中,串口通信模块重要负责数据串行方式发送和接受,在程序中,重要对涉及串行通信方式各个寄存器进行设立,并且依照波特率计算定期器初值,现对其做详细阐明。4.2.1 串口通信方式设立 串行口通信方式设立重要涉及到串行口控制寄存器SCON和PCON,中断容许寄存器IE,中断优先级寄存器IP等。现对各个寄存器用法作简要阐明。 (1)SCON寄存器 MCS-51单片机对串口控制是通过
41、SCON实现,也与电源控制寄存器PCON关于。现对SCON各位定义进行阐明。表4-1 SCON寄存器各位定义位地址9F9E9D9C9B9A9998SCONSM0SM1SM2RENTB8RB8TIRISM0和SM1:串行口方式控制位,用于设定串行口工作方式,见表4-2。SM2:多级通信控制位,重要在方式2和方式3下使用。在方式0和方式1下, SM2不用,应设立为0。REN:容许接受控制位。REN为0,禁止串行口接受;REN为1,容许串行口接 收。TB8:发送数据第九位,用于在方式2和方式3时存储发送数据第九位。TB8 由软件置“1”或清“0”。RB8:接受数据第九位。用于在方式2和方式3时存储接
42、受数据第九位。方 式0下不使用RB8,方式1下,若SM2=0,则RB8用于存储接受到停 止位。TI :发送中断标志位,用于批示一帧数据与否发送完毕。在方式0下,发送电 路发送完第8位数据时,TI由硬件置“1”;在其她方式下,TI在发送电路 发送停止位时置“1”。TI在发送前必要用软件复位。RI :接受中断标志位,用于批示一帧数据与否接受完。在方式0下,RI在接受 电路接受到第8位数据时由硬件置“1”;在其她方式下,RI是在接受电路 接受到停止位中间位置时置位。RI也由软件清零。表4-2 串行口工作方式和所用波特率对照表SM0SM1工作方式功能波特率00方式08位同步移位寄存器01方式110位U
43、ART可变(由定期器控制)10方式211位UART11方式311位UART可变(由定期器控制)(2)PCON寄存器表4-3 PCON寄存器各位定义位地址8E8D8C8B8A898887PCONSMODGF1GF0PDIDLSMOD:波特率选取位。SMOD=1时,方式1、2和3波特率加倍。SMOD=0 时,波特率不变。GF1和GF0:通用标志位。PD:掉电标志位。PD=0为正常方式,PD=1时为掉电方式。IDL:空闲标志位。IDL=0为正常方式,IDL=1为空闲方式。 (3)中断容许寄存器IE表4-4 IE寄存器各位定位D7D6D5D4D3D2D1D0EAET2ESET1EX1ET0EX0EA为
44、CPU中断容许总控制位。ES为串行口中断容许位。在中断方式下,EA,ES要都置“1”时,串行口才干接受和发送中断。(4) 中断优先级寄存器IP 图4-5 IP寄存器各位定位D7D6D5D4D3D2D1D0PT2PSPT1PX1PT0PX0PS(IP.4)为串行口优先级设定位。PS=1时,串行口为高优先级,否则为低优先级。 在本系统中,串行口工作于方式1,即SM0=0,SM1=1;波特率由定期器T1设定。4.2.2 波特率设立 串行口每秒发送(或接受)二进制位数称为波特率。在串行通信中,收发双方对发送或接受数据速率要有一定商定。串行口工作于不同工作方式,其波特率设立也有所不同。(1) 方式0和方
45、式2 在方式0时,每个机器周期发送或接受一位数据,其波特率固定为振荡频率1/12,且不受SMOD位控制。 方式2波特率要受SMOD位控制,当SMOD=1时,波特率等于,当SMOD=0时,波特率等于,因而,方式2波特率公式为(2) 方式1和方式3 单片机串行口工作于方式1或方式3时,其波特率由定期/计数器T1溢出率与SMOD位共同控制。其波特率可表达为:定期器溢出率取决于计数速率和定期器计数值。计数速率与TMOD寄存器中设立关于。当=0时为定期方式,计数速率等于;当=1时,为计数方式,计数速率取决于外部输入时钟频率,但不能超过,使用时普通将T1设立为定期模式。 设T1计数初值为X,=0(T1为定期方式)时,那么每过(256-X)个机器周期,定期器T1就会产生一次溢出。则T1溢出周期为:溢出率为溢出周期倒数,将上式带入波特率计算公式得:则T1计数初值(装载值)为 本系统中,TMOD=0x20,定期器T1工作于方式2(8位自动重装方式);装初值为TH1=0xff,TL1=0xff,波特率28800bps。4.3 报警电路模块设计