1、基于单片机的防水型温度智能监控系统基于单片机的防水型温度智能监控系统摘 要:本文设计了一种由STC89C52单片机和防水温度传感器构成的温度智能监控系统,温度信号由防水型温度传感器DS18B20采集,并以数字信号的方式传送给单片机。本文介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路、PC机与单片机串口通信电路和一些接口电路 .单片机通过对信号进行相应处理,从而实现温度控制的目的.本文还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:液晶显示程序、键盘扫描及按键处理程序、温度信号处理程序、超温报警程序。本设计具有显示直观、读取方便、电路简洁、功能多样等诸多优点,可应用于多
2、种平台,具有广阔的市场前景。关键词:STC89C52防水型温度传感器串口通信 温度控制 DS18B20Waterproof MicrocontrollerbasedTemperature Intelligent Monitoring SystemAbstract:Designed a the STC89C52 microcontroller and the water temperature sensor temperature intelligent control system, the temperature signal collected by the water temperatu
3、re sensor DS18B20, and the way of a digital signal sent to the microcontroller。 This article describes the hardware part of the control system, including: temperature detection circuit, the temperature control circuit, the PC and the microcontroller serial communication circuit and a number of inter
4、face circuits。 MCU through signal processing in order to achieve the purpose of temperature control。 The article also focuses on software design, modular structure, where the main modules are: LCD program, scanning the keyboard and key processes, the temperature signal handler, overtemperature alarm
5、 program。 This design with intuitive, easy to read display, simple circuit, functional diversity and many other advantages, can be applied to multiple platforms, and has broad market prospects。Keywords:STC89C52 water temperature sensor serial communication temperature controlDS18B20目录1绪论31。1温度控制研究的现
6、状31。2温度控制研究的意义32方案论证42。1 系统总体方案论证42.2 显示器件的选择52。3 串行通信方案论证63系统硬件电路设计73。1 总体硬件电路设计73.2 单片机主控制电路设计83。2.1 单片机概述83。2。2单片机与单片机系统9 3.2。3 MCS51 系列单片机介绍93.2.4 STC89C52的芯片概述113。3 LCD显示模块的设计123.3.1 1602字符液晶简介123。3.2 1602管脚说明133。3.3 字符集133.3。4 显示地址143.3。5 基本的读写时序图153。3.6 1602与单片机连接153.4 数据采集模块163。4。1 防水型温度传感器简
7、介163.4。2 配置寄存器.183.4。3 DS18B20的主要特性183.5 声控电路设计193.6超限处理部分203.7 上位机接口模块的设计203.7。1 串行异步通信203。7。2 RS232技术213。7。3 MAX232数据操作原理213。7。4MAX232电路设计224系统软件设计234。1 主程序设计234。2 按键程序设计234。3 温度报警程序设计254。4 上位机软件流程设计265总结28致谢29参考文献30附录311 绪论1。1温度控制研究的现状随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术.温度是工业生产中主要的
8、被控参数之一,与之相关的温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量。用单片机做成的产品外围元件很少,能实现的功能却很广,广泛应用于工业,农业等。防水型温度传感器探头采用原装DS18B20温度传感器芯片,优质不锈钢管封装,防水、防潮、防生锈,3.0V5.5V供电感温范围宽55 +125无需外部元件,独特的单总线接口。DS18B20是美国DALLAS公司生产的数字温度传感器芯片,具有结构简单、体积小、功耗小、抗干扰能力强、使用方便等优点.本文设计的一种温度控制系统,用STC89C52单片机作为温控器,选用DS18B20数字温度传感器,可任意设置上
9、下限报警温度,采用LCD1602实时显示温度,通过串口利用单片机与上位机的通信,对温度进行采集、数据处理和控制。1.2温度控制研究的意义在国内外温度控制成了一科广泛应用于很多领域的技术.具体如空调、冰箱、茶叶烘烤、粮仓温度控制等等。粮食温度检测是储备库中防止粮食霉烂、保质存放的重要环节。对于一个农业大国来讲,粮食生产、需求与储备量都很大。大量粮食在储备的过程中常因粮食湿度过大而升温发热,导致粮食大量腐烂变质,带来巨大损失。本论文正是以此为出发点,对单片机控制的远程温度控制作了详细的介绍。单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新.在实时检测和自动控制的单片机应用系统中,单
10、片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。2 方案论证2。1 系统总体方案论证方案一:采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成.通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来.热电偶的优点是工作温度范围
11、非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D 转换电路,感温电路比较麻烦。系统主要包括对A/D0809 的数据采集,自动手动工作方式检测,温度的显示等,这几项功能的信号通过输入输出电路经单片机处理。此外还有复位电路,晶振电路,启动电路等。故现场输入硬件有手动复位键、A/D 转换芯片,处理芯片为51 芯片,执行机构有4 位数码管、报警器等。系统框图如图2.1所示。图2。1 热电偶温差电路测温系统框图方案二:采用防水型数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围
12、电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度.DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器STC89C52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC 机通信上传数据,另外STC89C52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合
13、使用都很成熟.从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大。方案二的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二.整个系统采用STC89C52作为主控芯片,通过单片机的串口TXD和RXD实现控制并实现数据的输入和输出。为了跟上计算机发展的步伐,能够实现实际应用中与PC机的人机交互,就必须通过一个电平转换电路,将下位机的数据信息传输给上位机,而这个电平转换电路采用电平转换电路芯片MAX232。另外的设计部分还有显示和按键,显示部分采用了低功耗、使用方便的LCD1602液晶屏,按键部分因为数量少,所以采用了简单的独立式按键,
14、方便程序的编写。将各个部分连接起来就构成了系统的硬件部分,软件部分主要是对单片机进行编程,主要编写各个子程序,例如键盘子程序、数据收发子程序、显示程序和一些控制程序,将硬件和软件结合并通过调试就可以实现单片机的串口通信.2。2 显示器件的选择方案一。采用LCD显示。LCD显示具有接口简单,可显示文字、图形,输出信息相当丰富,并具有一屏输出多路信息的特点,但由于价格较贵,且采购不到适合本设计的液晶显示屏,同时对液晶的控制口线也多。方案二采用LED数码管显示。LED数码管也称半导体数码管,是目前数字电路中最常用的显示器件。它是以发光二极管作笔段并按共阴极方式或共阳极方式连接后封装而成的。图2。2所
15、示是两种LED数码管的外形与内部结构,、分别表示公共阳极和公共阴极,ag是7个笔段电极,DP为小数点。数码管虽然只能显示固定数字和字母,但其接口并不复杂,驱动电路成熟;显示程序容易编写。图2。2LED数码管得外型与内部结构综上所述:同时考虑到本设计要显示的值有数字和字母信息,采用液晶显示信息就能实现.故采用LCD1602显示。2。3串行通信方案论证方案一:RS232串口通信方案.利用RS232串口通信及现场总线技术,可方便地实现1台微机与多台机器的近距离通信,通用性好,成本低。方案二:RS485串口通信方案。RS485半双工异步通信总线是一种被广泛使用的数据通信总线。它具有通信距离远、通信速度
16、高、成本低等特点。在远程监控系统中,由于设备数量多,分布较远,现场的各种干扰也较大,往往通信的可靠性及质量不高。RS485收发器采用的平衡发送和差分接收具有抑制共模干扰的功能,加上收发器具有很高的灵敏度,能检测低达200mV的电压.因此,传输信号可在千米以外得到恢复。因为这次课题并不是运用在真正的实际运作当中,所以我采用了方案一。如果是在实际场合中使用,建议采用方案二。3 系统硬件电路设计3.1 总体硬件电路设计综上各方案所述,对此本设计的方案选定:采用STC89C52芯片作为主控制系统,防水型数字温度芯片DS18B20作为信号采集处理芯片,1602液晶模块作为显示器,并利用上位机实现在电脑上
17、的同步显示。由STC89C52芯片内部时钟定时器制成时钟由LCD1602显示器显示。当温度高于/低于程序设定的范围,如设定温度为2030时,当实际温度高于30则报警电路报警,同时报警(降温)指示灯亮;当实测温度低于20时,报警电路报警,同时报警(加热)指示灯亮;当温度回到设定温度范围内时,指示灯熄灭。温度控制仪的硬件如图3。1所示,以STC89C52芯片为核心,配合相应的硬件电路,报警电路,处理电路,显示电路等实现对温度的控制。STC89C52温度采集点DS18B02键盘报警电路1602显示器复位电路电源上位机图3.1硬件设计原理图图3.2 系统部分电路图3。2 单片机主控制电路设计3。2。1
18、 单片机概述单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理器CPU(Central processing unit)。随机存储器RAM(Random access memory)。只读存储器ROM(Read only memory).中断系统、定时器计数器以及IO(Input/output)接口电路等主要微型机部件集成在一个芯片上。虽然单片机只是一个芯片,但从组成和功能上看,它已具有了计算机系统的属性。为此,称它为单片微型计算机SCMC(Single chip micro computer),简称单片机。单片机主要应用与控制领域,用以实现各种测试和控制功能,为了强调起控制
19、属性,也可以把单片机称为微控制器MCU(Micro controller unit)。在国际上,“微控制器”的叫法似乎更通用一些,而在我国则比较习惯用“单片机”这一名称.单片机在应用时,通常是处于控制系统的核心地位并融入其中,即以嵌入的方式进行使用,为了强调其嵌入的特点,也常常将单片机称为嵌入式微控制器EMCU(Embedded micro controller unit).在单片机的电路和结构中,有许多嵌入式应用的特点。3.2.2单片机与单片机系统单片机通常是指芯片本身,它是芯片制造商生产的,在它上面集成的是一些做为基本组成部分的运算器电路,控制器电路,存储器,中断系统,定时器/计数器以及输
20、入/输出口电路等。但一个单片机芯片并不能把计算机的全部电路都集成到其中,例如组成谐振电路和复位电路的石英晶体,电阻,电容等,这些元件在单片机系统中只能以散件的形式出现.此外,在实际的控制应用中,常常需要扩展外围电路和外围芯片。从中可以看到单片机和单片机系统的差别,即:单片机只是一块芯片,而单片机系统则是在单片机芯片的基础上扩展其它电路或芯片构成的具有一定应用功能的计算机系统。通常所说的单片机系统都是为实现某一控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统.在单片机系统中,单片机处于核心地位,是构成单片机系统的硬件和软件基础.3.2.3 MCS51 系列单片机介绍1。 80
21、C51 芯片介绍 MCS51的原生产厂商是Intel公司,最早推出80C51芯片的也是Intel公司,并且作为MCS-51的一部分,按原MCS51芯片的规则命名,例如80C31、80C51、87C51和89C51,这样我们就能很容易地认识80C51的系列芯片.但是后来愈来愈多的厂商生产80C51的系列芯片,例如PHILIPS,ATMEL,LG,华邦等公司.这些芯片都是以80C51为核心并且与MCS-51芯片兼容,但它们又各具特点.然而由于生产厂家多,芯片的类型也很多,使芯片的命名无法再遵循统一的规律,造成我们辨认上的困难.例如PHILIPS公司生产的80C51系列芯片名称分别为:80CXXX(
22、ROM Less型),83CXXX(Mask ROM型);Siemens公司命名为C500系列,芯片型号以”C5“打头;而华邦公司则命名为W77C51系列和W78C51系列等等。新一代80C51的兼容芯片,还在芯片中增加了一些外部接口功能单元,例如数/模转换器,可编程计数器阵列,监视定时器,高速I/O口,计数器的俘获/比较逻辑等,有些还在总线结构上也做了重大改进,出现了廉价的非总线型单片机芯片.所有这些使新一代的兼容芯片已远非原来意义上的80C51了.目前这些80C51的兼容芯片已开始在我国使用,其中尤以PHILIPS公司的同名芯片80C51及其派生产品最受欢迎,而ATMEL公司的闪速存储器型
23、单片机芯片STC89C52等更是后来居上,大有取代传统EPROM型芯片之势.2.80C51与8051的比较首先与8051兼容是对80C51芯片的最基本要求,以确保8位单片机MCS51系列的继续发展,兼容应包括指令,引脚信号,总线等多个方面,指令兼容能保证两者之间不存在指令障碍以维持软件的可移植性,而引脚信号和封装以及总线的兼容则确保两者在系统扩展和接口方面的一致性,有利于系统的开发和应用。80C51的最大改进是在芯片的半导体工艺上,早期的MCS-51系列芯片采用HMOS工艺,即高密度短沟道MOS工艺,,而80C51芯片则采用CHMOS工艺,即互补金属氧化物HMOS工艺。CHMOS是CMOS和H
24、MOS的结合,除保持了HMOS高速度和高密度的特点之外,还具有CMOS低功耗的特点。例如8051芯片的功耗为630mW,而80C51的功耗只有120mW,这样低功耗,有一粒纽扣电池就可以工作。低功耗对单片机在便携式、手提式或野外的仪器仪表设备上使用十分有利。80C51在功能增强方面也做了许多工作.首先,为进一步降低功耗,80C51芯片增加了待机和掉电保护两种工作方式,以保证单片机在掉电情况下,能以最低的消耗电流维持.此外在80C51系列芯片中,内部程序存储器除了ROM型和EPROM型之外,还有EEPROM型,例如89C51就是4KB EEPROM,并且随着集成技术的提高,80C51系列片内程序
25、存储器的容量也越来越大,目前已有64KB的芯片了。另外,许多80C51芯片的还具有程序存储器保密机制,以防止应用程序泄露或被复制。3。单片机最小系统 最小系统就是单片机在发挥具体测控功能时所必须的组成部分。图3。3最小系统方框图4。定时与中断的概念 中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术.向CPU发出中断请求的来源称之为中断源。MCS-51是一个多中断源的单片机,以80C51为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行中断一个。3。2。4STC89C52的芯片概述STC89C52是一个低功耗,高性能CMOS
26、 8位单片机,片内含4k BytesISP(Insystem programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。STC89C52具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,4个中断优先级2层中断嵌套中断,2个16
27、位可编程定时计数器,2个全双工串行通信口,内部集成看门狗计时器片内时钟振荡器。其工作电压在4。5V,一般我们选用5V电压。89S51相对于89C51增加的新功能包括:新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低.(一)ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能.(二)最高工作频率为33MHz,大家都知道89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度.(三)双数据指示器。(四)内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路.(五)全新的加
28、密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯.(六)兼容性方面:向下完全兼容51全部子系列产品.比如8051、89C51等早期MCS51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以照常运行,这就是所谓的向下兼容。因此本设计选用STC89C52单片机来作为本系统的核心部分。图 3。489s51的核心电路框图3.3LCD显示模块的设计3.3。1 1602字符液晶简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,工业字符型
29、液晶,能够同时显示16X2即32个字符(16列2行)。注:为了表示的方便 ,后文皆以1表示高电平,0表示低电平。一般1602字符型液晶显示器实物如图3。5。图3.51602实物图3。3.2 1602管脚说明1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线,VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。具体管脚说明见下表3.1。表3。1 1602管脚定义表3.3。3 字符集1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,
30、每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。下图3。6是1602的16进制ASCII码图:图3。61602的ASCII码图读的时候,先读上面那列,再读左边那行,如:感叹号的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。3。3。4 显示地址下图3。7为1602显示地址图图3。71602显示地址图3.3。5 基本的读写时序图读写操作时
31、序如图3。8所示:图3。8 1602读写操作时序图3。3。6 1602与单片机连接下图3.9为连接图图3。9 1602与单片机连接图3。4 数据采集模块3。4.1 防水型温度传感器简介本设计用的防水型温度传感器采用DALLAS 最新单线数字温度传感器DS18B20,它是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济.DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为55+125 摄氏度,可编程为9位12 位转换精度,测温分辨率可达0。0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEP
32、ROM 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便.DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms. DS18B20测温原理:低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率
33、的脉冲信号送给计数器1.高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。DS18B20功能特点:1。 采用单总线技术,与单片机通信只需要一根I/O线,在一根线上可以挂接多个DS18B20。2。 每只DS18B20具有一个独有的,不可
34、修改的64位序列号,根据序列号访问地应的器件。3。 低压供电,电源范围从35V,可以本地供电,也可以直接从数据线上窃取电源(寄生电源方式)。4。 测温范围为55+125,在-1085范围内误差为0.5。5。 可编辑数据为912位,转换12位温度时间为750ms(最大)。6. 用户可自设定报警上下限温度.7. 报警搜索命令可识别和寻址哪个器件的温度超出预定值。8. DS18B20的分辩率由用户通过EEPROM设置为912位。9. DS18B20可将检测到温度值直接转化为数字量,并通过串行通信的方式与主控制器进行数据通信。DS18B20有4个主要的数据部件:1。 光刻ROM中的64位序列号是出厂前
35、被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位 (28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用 是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 2. DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以 0。0625/LSB形式表达,其中S为符号位.3。 DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RA
36、M和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL和结构寄存器。 3。4。2 配置寄存器.DS18B20的内部结构如图3.10所示。主要包括:寄生电源,温度传感器,64位ROM和单总线接口,存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限值的TH和TL触发器,存储与控制逻辑,8位循环冗余校验码(CRC)发生器等7部分.图3。10 DS18B20内部结构3。4。3 DS18B20的主要特性(1)适应电压范围更宽,电压范围:3。05。5V,在寄生电源方式下可由数据线供电。 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处
37、理器与DS18B20的双向通讯。 (3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温. (4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 (5)测温范围55125,在10+85时精度为0。5。 (6)可编程的分辨率为912位,对应的可分辨温度分别为0。5、0.25、0.125和0。0625,可实现高精度测温。 (7)在9位分辨率时最多在93。75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。 (8)测量结果直接输出数字温度信号,以”一线总线”串行传送给C
38、PU,同时可传送CRC校验码,具有极强的抗干扰纠错能力. (9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。3.5声控电路设计蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1。515V直流工作电压),多谐振荡器起振,输出1。52。5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。 电磁式蜂鸣器由
39、振荡器、电磁线圈、磁铁、振动膜片及外壳等组成.接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。下图3.11为声控电路图。 图3。11声控电路图 3.6超限处理部分本设计为温度控制仪,仅要对温度进行实时测量还要对温度进行相应的控制调整。因此控制部分也是本设计的重要组成部分。控制器由LED指示灯、继电器(模拟不同的电器设备的开启关闭)组成。超限控制部分如图3。12所示图3.12 超限处理电路图当温度高于/低于程序设定的范围,如设定温度为2030时,当实际温度高于30则报警电路报警,同时降温指示灯亮,对应的继电器开光打开,
40、模拟打开相应的电器设备如:风扇,空调;当实测温度低于20时,加热指示灯亮,加热继电器开关打开,即模拟打开相应的电器设备如:空调,加热器,遮阳板等;当温度回到设定温度范围内时,指示灯熄灭继电器开关闭合。3。7 上位机接口模块的设计如果在传递字节的过程中组成字节的所有比特在总线上一个接一个地顺序传输,这种方式叫串行通信.串行通信又分为异步串行通信和同步串行通信,异步方式下,每发送一个字节都需要在接收和发送方进行数据同步,因此速度低,但可靠性高。而同步串行通信则分面向字符、面向比特和面向字节三种,一次传递一个由若干字节(或比特、字符)组成的数据块,并且具有通信控制字。3.7.1 串行异步通信在异步通
41、信中,连接线不包括时钟线,时钟信号由发送端和接收端各自提供.因为连接的每一端都提供自己的时钟信号,所以每个中断的时钟频率必须保持一致,否则将产生失步。每个传输的字节都用一个起始位来与时钟同步,以及一个或几个停止位来表示传输字节的结束.串口通信中大多采用异步通信,如PC上的RS-232C端口所使用的就是异步通信方式.异步通信有很多种格式,最通用的是8-N1,在这种方式中,发送端以一个起始位表示传输开始,后跟8位数据,并以一个停止位表示一个字节传输结束。当接收端辨认出起始位后,就知道一个字节的传输开始了,并利用自己的时钟读取后面的8位数据,当接收到停止位后,就停止读取,并把接收的数据送往接收缓冲.
42、8-N1中的N表示传输不使用奇偶校验位。8N1异步传输时序图如图3。13所示。图3.13异步传输时序图3。7。2RS-232技术RS232C是1969年EIA制定的在数据终端设备DTE和数据通讯设备(DCE)之间的串行的二进制数据交换的接口,全称是EIARS232-C协议,也称EIA232,最初采用DB-25作为连接器,包含双通道,但是现在也有采用DB9的单通道接口连接。RS232的通讯信号电平为正负515V,这不同于数字电路的03V或05V,所以要以RS232的方式进行通讯,源信号需要进行电平转换。典型应用是微型计算机的串行接口.由于计算机通信用的是RS-232电平,单片机使用的是CMOS/
43、TTL电平,要想实现单片机与计算机之间的数据传输,就需要将单片机进行RS232电平转换。如下表3。7.1为RS232电平与CMOS/TTL电平的对比表。表3。2 RS232电平与CMOS/TTL电平的对比表 逻辑值 RS-232/V CMOS/TTL/V 0 +3-+15V 0.7 1 -3 15V 3。23.7。3 MAX232数据操作原理MAX232数据传送方式和时序分析,数据传送时序如图3。14所示。图3.14数据传送时序图3。7.4MAX232电路设计MAX232芯片的结构和引脚都非常简单,内部含有驱动器和接收器。采用单一电源+5 V工作,额定电流为300 A,采用半双工通讯方式。它完
44、成将TTL电平转换为RS232电平的功能。RIOUT和TIIN端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;TIOUT和RIIN分别与计算机的COM口相连。下图3.15为MAX232的电路连接图.图3.15MAX232电路连接图4 系统软件设计整个软件程序分为四个部分:主程序部分、按键部分、显示部分、报警部分.4。1主程序设计下图4。1为主程序流程设计图图4.1 主程序流程设计图4。2 按键程序设计按键在闭合和断开时,触点会存在抖动现象,如图4。2,键盘的抖动时间一般为510ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。消
45、除抖动不良后果的方法有两种:一种是硬件消抖,如图4.3;另一种是软件消抖。 图4。2 按键抖动 图4。3硬件消抖此处,我采用了延时和上升沿触发来实现软件消抖,程序如下:/*按键扫描子程序*/void keyscan_qh()if(key1=0)delayms(5);if(key1=0)flag_qh+;while(key1=0);if(flag_qh=3)flag_qh=0;4。3 温度报警程序设计下图4。4为温度报警流程设计图开始初始化读取温度显示子程序温度是否超限NY声控报警显示子程序返回图4.4温度报警流程设计图4.4上位机软件流程设计通过查阅相关资料,将传到串口助手上的数据经过在Vis
46、ual Basic的相关控件中编写代码就能将数据通过Visual Basic软件显示出来,并且能实现管理人员对仓库运作情况的一个远程控制.在具体编写中,涉及到Visual Basic中的一个MSComm通信控件.因为只有一个串口上传,需要将上传的字符区分出来。下图4.5为上位机软件流程设计图开始初始化串口初始化上位机发生数据接收数据返回图4。5上位机软件流程设计图MSComm的代码:Private Sub Form_Load() MSComm1。Settings = ”9600,N,8,1” MSComm1。CommPort = 4 MSComm1。InBufferSize = 16 MSComm1。OutBufferSize = 2 MSComm1。RThreshold = 16 MSComm1.SThreshold = 1 MSComm1.InputLen = 0 MSComm1。InputMode = comInputModeText MSComm1.InBufferCount = 0 Text1。Text = 00End Sub下图4。6为上位机