




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要在工农业生产和日常生活中,有的时候迫切需要知道某种环境、某种物体的温度,而且需要将它显示出来。更高的要求是,能够通过设定温度值,当温度超过一定的阈值时,通过声光报警提醒人们,将温度状况用更加人性化的方式表现出来。由于人们这些新需求的出现,并随着计算机近年来在社会领域的渗透,单片机的应用也不断地走向深入。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,系统中还应具备其他硬件结构,以及针对具体应用对象特点,与之相配套的软件。本文介绍一种环境温度检测系统的设计,说明了设计原理及控制方法。环境温度检测系统是利用温度传感器采集当前环境或物体温度值,同时结合数码显示技术和
2、按键输入,存储技术。除具备传统的温度检测系统的显示功能外,该温度检测系统具有设置温度上、下限,超限自动控制空调控制环境温度,声光报警等功能,利用按键控制温度的测量、显示和温度值超限时的报警。该系统选用AT89S51单片机为主控制器,采用一线制数字温度传感器DS18B20作为温度传感器,采用三位七段LED作为显示器件,利用电可擦除存储器器件,AT24C02实现温度报警阈值的存储。该系统实现了环境温度的测量、显示、报警、报警的功能,这种系统的功能实现主要是通过单片机来控制完成的,说明单片机已广泛应用于人们的日常生活中,在各种领域中起到越来越重要的作用。关键词:测量温度;AT89S51;DS18B2
3、0;AT24C02;阈值声光报警AbstractIn industrial and agricultural production, and also in daily life of the people, sometimes pressing need to know the temperature of certain circumstances, or whats the temperature of an object, and need to show it on the screen. Higher demand is the need for synchronization w
4、ith speech the temperature value of the function, temperature values will be more humane manner shown. As the people of these new demand has emerged, the infiltration in the social field of the computer in recent years, the application of the MicroController Unit (MCU) is moving towards deepening co
5、nstantly, drive tradition is that it measure crescent benefit to upgrade day to control at the same time. In measuring in real time and automatically controlled MCU application system, the MCU often uses as a key part, system should also possess other hardware structure, as well as specific characte
6、ristics of the target application with the software.This paper presents a temperature detection system design, the design describes the principle and the control methods. Temperature detection system uses the temperature sensor to acquire the temperature about the environment or it of the object. An
7、d it is combining display some number technology with integrated voice chip technology. In addition to having the display function of the traditional temperature detection system, the new temperature measuring system is equipped with setting up the higher temperature, or the down one, and if the tem
8、perature is higher than the standard temperature, the system will automatic control the environmental temperature, and voice broadcast the digital functions, the use of keys to control the temperature measurement, display and temperature value of the broadcast.The system chosen AT89S51 MicroControll
9、er to be the based controller, and used Digital Temperature Sensor DS18B20 as a temperature sensor, three LED used in the circuit as the display part, use of the voice Chip ISD1420 to achieve temperature broadcast.This system could achieve the functions like the temperature measurement, display and
10、report. It uses voice to broadcast the temperature to users, so that the control process more humane. It embodies that the AT89S51, the ISD1420 and the DS18B20 combination of the powerful functions.The function of such a system is mainly achieved through the MCU to control completed, it shows that M
11、CU has been widely used in peoples daily life, and in various fields it has played an increasingly important role.Keywords:temperature measurement; AT89S51; DS18B20; ISD1420; voice broadcast 目 录摘 要IAbstractII第1章 引言11.1课题研究背景11.2课题设计要求及功能11.2.1设计要求11.2.2功能设计2第2章 系统总体设计32.1系统的技术指标32.2系统方案设计32.2.1温度测量部
12、分32.2.2主控制器部分42.2.3温度显示部分52.3系统可行性论证52.4系统总体设计方案62.5系统的四个模块72.5.1主控制器72.5.2温度测量72.5.3显示器82.5.4 E2PROM102.6系统所选关键元件特点102.6.1 AT89S51主要性能参数102.6.2 DS18B20性能特点112.6.3 AT24C02特点与电特性122.7系统软、硬件功能划分12第3章 系统硬件设计143.1系统工作原理143.1.1 AT89S51引脚功能153.1.2温度传感器结构及原理163.1.3 AT24C02183.2各功能模块电路图及原理203.2.1温度测量部分203.2
13、.2温度显示部分223.2.3 温度阈值存储电路223.2.4按键电路图233.2.5继电器电路图243.3 报警部分253.3.1蜂鸣器的作用253.3.2蜂鸣器的分类253.4系统总体设计电路原理图26第4章 系统软件设计274.1编程思路及软件实现方法274.2程序设计流程图284.2.1主程序流程图284.2.2 DS18B20工作流程图294.2.3按键扫描流程图304.2.4按键处理流程图314.2.5动态显示流程图31第5章 调试说明335.1 KEIL C 调试335.2 PROTUES仿真34第6章 结论36参 考 文 献37致 谢38附 录139附 录240第1章 引言1.
14、1课题研究背景随着经济的不断发展,人们对生活质量的要求也在不断地提高。在工农业生产、气象、环保、国防、科研、航天等部门,经常需要对环境温度进行测量及控制。尤其在自动控制领域中,温度检测与控制占有很重要的地位。而温度是日常生活中经常遇到的一个物理量,它也是科研和生产中最常见,最基本的参量之一。对环境温度的测量和控制已成为比较普遍的一项技术。温度测控系统在工农业生产,科学研究和人们的生活领域,都得到了广泛应用。因此,目前电子技术领域也不断的出现了各种人性化的电子测温产品以满足人们的需要,而具有语音播报功能的环境温度检测系统则顺应了人们对当前环境或物体温度值方面的要求。但传统的环境温度检测系统除显示
15、温度之外,功能较为单一,逐渐远离了人们对日常生活、生产的新需求。针对这一现状,本文介绍的环境温度检测系统,采用了基于AT89S51单片机的控制技术,并结合了集成温度传感器DS18B20的一线制数字传输技术,电可擦除存储器和LED显示技术,使其具备了温度测量,显示,设定温度上、下限,超限自动调整环境温度,声光报警等功能,具有一定的新颖性和实用性,使用也更为方便和人性化,具备一定的市场前景。1.2课题设计要求及功能1.2.1设计要求本课题要求设计一种具有环境温度检测与超限报警,自动控制功能的系统。该系统主要根据单片机的工作原理控制实现温度的测量,显示,报警等功能。单片机作为主控制器,可以根据具体硬
16、件需要选择其他外围器件,以达到设计功能为目的。要求掌握相应的单片机基础知识及应用知识,并结合部分软件程序设计,主要实现温度的测量和超限报警。1.2.2功能设计设计该环境温度检测系统的主要目的是实现环境或当前物体温度值的同步显示。因为当前市场上已经有许多种测温系统,但都以显示温度值为输出的唯一方式。因此本系统主要实现的是温度值设定并自动控制的功能,同时具有对当前环境温度值测量,显示的功能。另外,用户可以对该系统设置温度的上、下限,并通过温度超限自动控制空调工作的方式保护系统运行。第2章 系统总体设计2.1系统的技术指标本系统的技术指标要求如下:1.被测温度和控制温度均可数字显示;2.被测温度范围
17、为0120,精度为0.5;3.控制温度连续可调,精度为1;4.温度超过额定值时,产生声、光报警信号。2.2系统方案设计2.2.1温度测量部分方案一:采用温度传感器铂电阻PT1000,铂热电阻的物理化学性能在高温和氧化性介质中很稳定,它能用作工业测温元件且此元件线性较好。在0100摄氏度时,最大非线性偏差小于0.5摄氏度。但铂热电阻输出的模拟信号需放大、滤波、A/D转换等处理后才可上传至微控制器,使硬件电路连接相对复杂。方案二:采用集成电路温度传感器LM35。LM35为电压输出型的集成温度传感器。它具有很高的工作精度和较宽的线性工作范围,它的输出电压与摄氏温度线性成比例。一般来说,LM35与用开
18、尔文标准的线性温度传感器相比更有优越之处。LM35无需外部校准,可以提供+1/4摄氏度的常用室温精度。LM35应用系统包括LM35、信号调理电路、A/D采集电路和单片机4个部分。LM35传感器负责将温度转换成模拟电压值。但是转换出的电压值通常比较小,为此需要信号调理电路对信号进行放大、限幅等处理,再通过A/D采集电路对该电压信号进行数据采集。这个过程降低了系统的工作速度,并增添了许多硬件连接,系统设计相对复杂。方案三:采用智能温度传感器DS18B20。DS18B20是一线温度传感器。所谓“一线”是指DS18B20只用一条线进行输入输出,因而与之接口的微处理器也只需要一条口线与之通信。它不需要任
19、何外围元件即可检测温度,并转换成数字量传给上位机(微处理器)。DS18B20测量温度范围为-55+125摄氏度。在-10+85摄氏度范围内,精度为+0.5摄氏度。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合在恶劣环境的现场进行温度测量。DS18B20具有测温系统简单,测温精度高,连续方便,占用口线少等优点。它可以使硬件开销降到最低点,并且内部包含存储器,单片机通过向DS18B20发启动命令使之进行一次温度测量,DS18B20将转换结果存在便笺式存储器中,便于单片机随时读取数据。因此,智能温度传感器DS18B20具备测温误差小,分辨力高,抗干扰能力强,能远程传输数据,
20、用户可设定温度上、下限,具有越限自动报警功能,并且带串行总线接口,适配各种微控制器等优点。2.2.2主控制器部分方案一:此方案采用AT89S51单片机实现,单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制1。AT89S51不需外接太多复杂电路,只需要基本的复位电路和晶振电路即可,相对而言,电路比较简单。如果系统增加声光报警功能,只需外接蜂鸣器,通过软件即可实现声音报警功能。另外,51单片机的性价比更加合理,市场价格也比其他多功能的单片机便宜许多。不过需要用仿真器来实现软硬件调试。方案二:此方案采用SPCE061A单片机实现,此单片机内置8路ADC,2路DAC,且集成开发环境中,配有很
21、多语音播放函数,用SPCE061A实现语音播放极为方便。另外,该芯片内置在线仿真、编程接口,可以方便实现在线调试。这虽然可以提高系统设计的效率,但使用SPCE061A单片机的软件设计相当复杂。此单片机有自身特有的软件开发语言,与普通汇编语言指令有所不同,所以在没有用过它或者是不熟悉它的软件编程系统情况下使用会产生极大的困难,这就会使设计工作变的复杂。2.2.3温度显示部分方案一:采用三位LED数码管显示。可以显示测量温度的数值和小数点的显示。硬件电路的连接也相对简单,只需要有相应的三个三极管作为驱动器件,就能够使温度值直观的显示出来。软件控制温度显示也比较容易,使用起来相对方便。而且价格便宜,
22、性价比也高。方案二:采用液晶显示器件LCD(Liquid Crystal Display)。它具有:低压、微功耗,显示信息量大,易于彩色化,长寿命,无辐射、无污染等诸多优点2。液晶器件也可以显示各种不同的图形和符号,但这些图形符号的显示使得软件算法变的复杂,实现起来也不太容易。而且液晶的价位相对也比较高。2.3系统可行性论证考虑到性价比,开发工具,以及在校期间主要学习的一些课程等因素。选择AT89S51作为主控制器,该单片机的软件实现相对熟练。根据系统的技术指标,选择DS18B20作为温度传感器。该温度传感器具有多种精度测温模式,其中11位精度的测温模式可以达到0.0625的精度要求,满足系统
23、的精度要求。采用三位LED数码管来显示温度,该LED具有很好的性价比,驱动简单,可以得到清晰温度显示结果。采用蜂鸣器来作为声音报警部分的工作电路,该电路操作简单,音质效果比较好,能够实现温度超限同步报警的功能。综上所述,系统方案可行。2.4系统总体设计方案 主控制器AT89S51温度传感器DS18B20数码管温度显示声光报警继电器控制空调按键控制输入报警限EEPROM存储报警温度图2-1 系统总体设计框图系统总体设计框图如图2-1所示。本系统的硬件结构主要由主控芯片AT89S51单片机、“一线总线” 数字化温度传感器DS18B20测温电路、LED数码管显示驱动电路、EEPROM存储报警温度、继
24、电器控制电路,声光报警电路,电源电路等组成。该系统利用按键启动控制集成温度传感器芯片工作,此温度传感器把检测到的信号通过内部处理用数字信号方式传送给单片机,单片机对温度数值进行处理后送数码管显示驱动电路,同时经单片机查询该温度值是否超过设定温度报警线。若超过温度报警限,则进行相应报警3。2.5系统的四个模块2.5.1主控制器AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K Bytes的可系统编程的FLASH只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚4。它集FLASH程序存储器既可在线编程(ISP)也
25、可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可用于许多高性价比的应用系统中,可灵活控制不同参数,应用于各种控制领域。AT89S51的功能特性描述:AT89S51提供以下的标准功能:4K字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
26、掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。2.5.2温度测量 温标的基本概念物体的受热程度通常以“温度”来表征,用来衡量物体温度的尺子称为“温度标尺”,简称“温标”。它标定了温度的零点和基本测量单位。目前国际上用得较多的温标有热力学温标、国际实用温标、摄氏温标和华氏温标5。热力学温标和国际实用温标的单位是K,摄氏温标的单位是,华氏温标的单位是。本系统作为一般的环境温度测量使用,为更贴近人们日常生活习惯一律采用摄氏温标作为温度的基本表示单位。 测温方法选择可以选择某种温度传感器与被测物体接触进行温度测量,这种方法称为接触式测温。也可利用温度传感器接收被
27、测物体在不同温度下辐射能量的不同来测量温度,这种测温方法称为非接触式测温。本系统由于主要是测量环境温度,所以采用非接触式的测温方法。 温度传感器类型选择温度传感器有模拟式、数字式、集成和智能等多种类型。本系统采用的DS18B20属于智能温度传感器。它是微电子技术,计算机技术,自动测试技术的结晶。具有如下特点:能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);能以最简方式构成高性价比,多功能的智能化温度测控系统;它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。智能温度传感器内部包含温度传感器,A/D转换器,存储器(或寄存器)和接口电路。有的产品还带多路
28、选择器,中央控制器(CPU),随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器采用了数字化技术,能以数据形式输出被测温度值。其测温误差小、分辨力高、抗干扰能力强,能远程传输数据,用户可设定温度上、下限,具有越限自动报警功能,并且带串行总线接口,适配各种微控制器。2.5.3显示器 显示器原理描述显示器是单片机应用系统中常用的输出装置。LED数码显示器更是常用的显示器之一,本系统选择三位LED数码显示器来显示温度值。LED有着显示亮度高、响应速度快的特点,最常用的是七段式LED显示器,又称数码管。七段LED显示器内部由7个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成
29、字符。根据内部发光二极管的接线形式,可分成共阴极型和共阳极型。共阴极的LED显示块的发光二极管阴极共地,当某个发光二极管的阳极为高电平时,发光二极管点亮;共阳极LED显示块的发光二极管阳极并接。本系统采用共阳极的接法。LED数码管的ga,dp 8个发光二极管因加正电压而发光,因加零电压而不能发亮,不同亮暗的组合就能形成不同的字形6。LED数码管每段需1020mA的驱动电流,可用TTL或CMOS器件驱动。本系统采用三个三极管作为驱动器件。 LED数码管的接口在微机应用系统中使用LED显示块构成N位LED显示器。N位LED显示器有N根位选线和8N根段选线。根据显示方式不同,位选线与段选线的连接方法
30、不同。段选线控制字符选择,位选线控制显示位的亮、暗。LED显示器有静态显示和动态显示两种方式。LED静态显示方式。LED显示器工作在静态显示方式下,共阴极点或共阳极点连接在一起接地或+5V;每位的段选线(adp)与一个8位并行口相连。此时,电路中每一位可独立显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。由于每一位由一个8位输出口控制段选码,故在同一时间里每一位显示的字符可以各不相同。LED动态显示方式。在多位LED显示时,为了简化电路,降低成本,将所有位的段选码并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由相应的I/O口线控制。本系统采用LED动态显示方
31、式。三位LED动态显示电路只需要一个8位I/O口和另一个I/O口的其中三位。其中一个控制段选码,另一个控制位选。由于所有位的段选码皆由一个I/O口控制,因此,在每个瞬间,八位LED只可能显示相同的字符。要想每位显示不同的字符,必须采用扫描方式。即在每一个瞬间只使某一位显示相应字符。在此瞬间,段选控制I/O口输出相应字符段选码,位选控制I/O口输出该位选通电平(共阴极为低电平,共阳极为高电平)。如此轮流,使每位显示该位应显示的字符,并保持一段时间,通过视觉暂留效果,获得视觉稳定的显示状态7。2.5.4 E2PROM向ROM中写入信息叫做ROM编程。根据编程的方式不同,ROM分为以下几种:(1)掩
32、膜ROM是在制造过程中编程。因编程是以掩膜工艺实现的,因此称为掩膜ROM。这种芯片存储结构简单,集成度高,但由于掩膜工艺由于成本较高,因此只适合于大批量生产。(2)可编程ROM(PROM)PROM芯片出厂是并没有任何程序信息,是由用户用独立的编程器写入的,但PROM只能写入一次,写入内容后,就不能在进行修改。(3)EPROMEPROM是用电信号编程,用紫外线擦除的只读存储器芯片。在芯片外壳上的中间位置有一个圆形窗口,通过这个窗口照射紫外线射就可擦除原有的信息。(4)E2PROM这是一种用电信号编程,也用电信号擦除的ROM芯片,对E2PROM的读写操作与RAM存储器几乎没有什么差别,只是写入的速
33、度慢一些,但断电后能够保存信息。2.6系统所选关键元件特点2.6.1 AT89S51主要性能参数与MCS-51产品指令系统完全兼容4k字节在系统编程(ISP)Flash闪速存储器1000次擦写周期4.0-5.5V的工作电压范围全静态工作模式:0Hz-33MHz三级程序加密锁1288字节内部RAM32个可编程I/O口线2个16位定时/计数器6个中断源全双工串行UART通道低功耗空闲和掉电模式中断可从空闲模式唤醒系统看门狗(WDT)及双数据指针掉电标识和快速编程特性灵活的在系统编程(ISP-字节或页写模式)21个特殊功能寄存器一个全双工串行口一个片内时钟振荡器和时钟电路片外可扩展64KB ROM和
34、64KB RAM2.6.2 DS18B20性能特点DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但
35、不能正常工作; 2.6.3 AT24C02特点与电特性工作温度工业级-55 +125商业级0 +75贮存温度-65 +150各管脚承受电压-2.0 Vcc+2.0VVcc管脚承受电压-2.0 +7.0V封装功率损耗(Ta=25) 1.0W焊接温度(10 秒) 300输出短路电流100mA2.7系统软、硬件功能划分本系统选用的温度传感器是智能型的,输出的是线性的数字信号,所以在温度采集部分,不需要传统的A/D转换电路。因此,系统开始测量温度,即启动温度传感器是靠硬件实现,而读取温度数值等功能则由程序来完成。另外,设置温度上、下限的功能也有软件实现。在温度显示部分,硬件电路的连接起驱动LED数码管
36、的作用,而具体哪一位显示多大的数值则由软件完成。并且由于是动态显示电路的连接方式,所以此过程需要有扫描方式处理,通过软件译码完成LED显示功能。在声光报警部分,硬件电路的连接主要是三极管驱动电路以及蜂鸣器构成,而声音信号的播放是靠程序来实现的。电路中还设计了一路继电器控制,程序中设定超出设定温度时继电器被驱动吸合,控制空调的合理工作方式。由于报警温度限不需要经常修改,一旦改变了温度限,需要将它存储在非易失性存储器中,故当温度限发生改变的同时,就将温度报警限值写入EEPROM中,当系统停电,在下一次启动时,首先从存储器中读取报警限值。第3章 系统硬件设计3.1系统工作原理环境温度检测系统通过智能
37、温度传感器测量温度信号,送入主控制器(CPU),并且在刚刚上电的时候读取存储器中的温度限,由主控制器对采集的数字信号处理,扫描键值,同时CPU接通LED显示电路和声光报警电路,如果在CPU内部处理数据时发现温度超限,那么启动继电器电路,做调节环境温度的动作。它由CPU、温度传感器、继电器电路、LED电路、按键电路、语音电路等组成。本文设计的环境温度检测系统的硬件电路并不复杂,该电路最大的特点是可以直观方便的调节所要限定的温度值,温度值是用3个7段共阳极数码管显示的,上电后会显示当前的温度值,按设定键时会闪烁显示设定温度值,这时可以按上/下调节键调整设定温度值,再次按下设定键时返回当前温度显示同
38、时会对设定温度值进行保存,这个设定值会保存在DS18B20中,掉电后也不会丢失,下次上电时,单片机会自动读入上次的温度设定值。长按设定键为关闭显示和温控,再次按下时功能再次打开。另外,该电路可以实现温度超限声光报警的功能,当温度值在LED数码管上显示的同时,一旦超限则通过喇叭发出警报。制作中DS18B20使用外接电源的供电方式,数据端用4.7K电阻上拉,并联接到AT89S51的引脚上。晶振选用12M的,使用简单的上电复位电路。选用共阳极的数码管,用S8550作位驱动,段引脚通过470欧的电限流电阻接入AT89S51的P1口上,如选用的数码管亮度不足可以调小限流电阻值8。电路中有三个按键,分别是
39、显示开关/温度设定,温度上调,温度下调,在电路上电运行时程序初始是处于关闭状态的,要按一下S2电路开始显示、监测和播报,如再按一下S2进入温度设定状态,设定值每秒闪烁一次,这时可以按S1或S3进行调节,再按下S2时退回显示当前温度状态并保存温度值到DS18B20。使用AT89S51的另一个引脚做控制输出端,低电平有效,用它通过9012去驱动一个5V的继电器。继电器触头端接空调器,设定一个温度值如30度,当环境的温度超出30度时,控制端为低电平,继电器闭合,启动空调进行制冷温度调节。3.1.1 AT89S51引脚功能Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地
40、址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的
41、上拉电阻把端口拉到高电平,此时可作为输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容就是SFR区中P2寄存器的内容,在整个访问期间不改变。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。P3.0P3.7的第
42、二功能依次为:串行输入口、串行输出口、外中断0、外中断1、定时/计数器0、定时/计数器1、外部数据存储器写选通、外部数据存储器读选通。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。3.1.2温度传感器结构及原理 DS18B20内部结构 DS18B20内部结构如图3-1所示。主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器10。DS18B20的管脚排列中,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端。存储器和控制器64位ROM和单线接口I/O 温度灵敏元件高速缓存存储器高温触发器TH低温触发
43、器TL电源检测配置寄存器GND8位CRC生成器VDD图3-1 DS18B20内部结构图ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的11。DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。例如125的数字输出为07D0H,25.0625的数字输出为0191H,25.0625的数字输出为FF6FH,55的数字输出为FC90H。 DS1
44、8B20的工作原理 DS18B20测温原理如图3-2所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度12。图3-2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。比较斜率累加器预置预置低温度系数
45、晶振计数器1 LSB置位/清除=0温度寄存器加1计数器2高温度系数晶振=0 停止图3-2 DS18B20测温原理图DS18B20温度传感器将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),传感器可置于离装置150米以内的任何地方。本系统DS18B20的输出脚I/O直接与单片机的P3.7相连,R2为上拉电阻,传感器采用外部电源供电方式。 3.1.3 AT24C02此设计采用外扩E2PROM的扩展方式。E2PROM是电擦除可编程自读存储器,其突出优点是能够在线擦除和改写,无须像ERPOM那样必须用紫外线照射才能擦彻,较新的E2PROM产品在写入时能自动完成擦除,且不再需要专用的
46、编程电源,可以直接使用单片机系统的+5V电源。常用的E2PROM芯片有2816/1816A,2817/2817A,2864A, AT24CX系列。本设计采用的是用AT24C02存储密码。AT24C02是美国Atmel公司的低功耗CMOS型E2PROM,内含2568位存储空间,具有工作电压宽(2.55.5 V)、擦写次数多(大于10000次)、写入速度快(小于10 ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了I2C总线式进行数据读写的串行器件,占用很少的资源和IO线,并且支持在线编程,进行数据实时的存取十分方便。AT24C02中带有的片内地址寄存器。每写入或读出一个数据字节后
47、,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。I2C总线是一种用于IC器件之间连接的二线制总线。他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。AT24C02正是运用了I2C规程,使用主从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。I2C总线进
48、行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。 图3-3 存储芯片始停时序图起始和终止信号 :SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。如果一段时间内没有收到从机的应答信号,则自动认为从机已正确接收到数据。 图3-4 存储芯片数据读写时序图AT24C02的芯片地址如下图,1010为固定,A
49、0,A1,A2正好与芯片的1,2,3引角对应,为当前电路中的地址选择线,三根线可选择8个芯片同时连接在电路中,当要与哪个芯片通信时传送相应的地址即可与该芯片建立连接。最后一位R/W为告诉从机下一字节数据是要读还是写,0为写入,1为读出。图3-5 存储芯片数据读写时序图3.2各功能模块电路图及原理对于环境温度检测系统,除了具有一个控制器控制测量外,还需要测量器。本系统中采用AT89S51作为控制器,智能温度传感器DS18B20作为测量器,语音电路选用奉命报警电路 13。利用一个按键来启动温度测量,LED显示和声光报警,用另外两个按键来设置温度值增减。同时,选用一路继电器与单片机直接连接,控制空调
50、机的工作。3.2.1温度测量部分 温度测量部分电路图如图3-6所示。图3-6 测温电路连接图 测温电路原理在本设计的测温电路部分中,DS18B20的数据输入/输出口直接接AT89S51单片机的数据口线即P3.6口,利用AT89S51的按键启动DS18B20。设计中,DS18B20采用外部电源供电方式,DS18B20工作电源由VCC引脚接入,此时I/O口线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,只需在I/O口处接一个4.7K的上拉电阻即R4。在用外部电源供电方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,固连接到单片机的GND口线。外部电源供电方式是DS18B20
51、最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。3.2.2温度显示部分 温度显示部分电路图如图3-7所示。图3-7 温度显示电路图 温度显示电路原理 为了减少对单片机端口的占用和满足对数码管的驱动电流的要求,本系统采用了LED数码管的动态显示方式,并选用S8550作为每一位LED数码管的位驱动。三极管与单片机的P3口线连接,当口线为低电平时,三极管导通,从而接通相应位的数码管,达到位驱动的目的。单片机的P1口线通过470欧姆的电阻与LED数码管ag口线相连,作
52、为段码选通信号线,用以驱动数码管显示数据。数码管显示采用动态扫描技术,利用P3口对数码管进行逐个点亮。每位显示不同的数值,组合成被测环境温度值。3.2.3 温度阈值存储电路温度阈值存储电路其接线如图3-8所示:图3-8 温度阈值存储电路原理图温度阈值存储电路在每次单片机上电时,由单片机读取一次上一次存储的温度报警限数值,而通过键盘输入改变温度限时,由单片机将新的温度限写入温度值存储芯片AT24C02。3.2.4按键电路图 按键部分连接图如图3-9所示。图3-9 按键连接图 按键连接原理本系统设置三个按键,它们分别与单片机的P3.0、P3.1、P1.7口连接。当按键被按下时,给相应的口线低电平信
53、号,单片机通过键值扫描,获得这个信号,根据不同的口线判断并执行按键对应功能操作。单片机对它们的处理过程通过软件实现。3.2.5继电器电路图 继电器工作连接图如图3-10所示。图3-10 继电器连接图 继电器工作原理继电器的驱动靠三极管8550完成,并通过一个1K的电阻与单片机的P3.5口线相连,而继电器的开关一端则控制了空调机的电路。当单片机处理温度信号时发现环境温度已经超过设定标准温度,则给P3.5低电平信号,使三极管导通。根据电路的连接,此时继电器有电流通过,作出吸合开关K1的动作,启动空调机工作电路,调节环境温度。3.3 报警部分3.3.1蜂鸣器的作用蜂鸣器是一种一体化结构的电子讯响器,
54、采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。3.3.2蜂鸣器的分类蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。报警部分由陶瓷压电发声装置及外围电路组成,当加载直流电时不发声,当有交流电加载在蜂鸣器两端时,蜂鸣器会发出“叮”声。在这里,电阻R3起到三极管基极限流保护的作用,三极管8550位PNP型三极管,起到电流放大的作用。单片机的某个引脚为一定频率方波时,三极管Q1周期性的导通使得蜂鸣器发出报警声。如图3-11所示:图3-11 报警电路原理图3.4系统总体设计电路原理图本系统是基于单片机AT89S51实现的,外
55、围电路主要包括温度测量电路、声光报警电路、电源部分、键盘处理电路、显示电路、继电器电路、温度报警限存储电路。所以在主机的控制下,只需外接这些功能的子电路,即可实现单片机控制的有自动控制功能的温度测量系统。总体电路图见附录1所示。第4章 系统软件设计4.1编程思路及软件实现方法这个环境温度检测系统设计的难点之一应该是AT89S51主程序的编写和部分子程序的调试。因在电路中有数字显示,按键设定,数据采集、继电器控制和密码存储。首先要考虑的是在电路中3个数码管的阳极是分别接在P3.2、P3.3、P3.4上的,也就是说要使用动态显示的编程方法,因此在程序中使用了一个定时中断去处理显示,定时器的定时值为20毫秒,每间隔20毫秒程序便会执行定时中断显示所要显示的数字,同时在这个定时中断中还会去扫描按键,看是否有键被按下并对其结果进行处理。在这20ms的时间里程序还会完成温度数据的采集和转换和对当前温度和设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市燃气管道更新改造项目2025年社会稳定风险评估与风险评估指标创新报告
- 中医药现代化进程中的英国市场拓展研究报告
- 乡村培训机构管理办法
- 临沂阻燃电工管理办法
- 事业编制辞职管理办法
- 仓库周末管理办法细则
- 企业贷款减免管理办法
- 公司印章外出管理办法
- 二手车零售店管理办法
- 云南楚雄垂钓管理办法
- 孕期安全有效运动课件
- 新能源会计面试题及答案
- 初中电学知识点课件
- 艺术疗愈与心理健康工作室行业深度调研及发展战略咨询报告
- 老年骨质疏松性疼痛诊疗与管理中国专家共识2024解读课件
- 2025年企业健康体检计划及总结
- 英语在生活中的应用
- 急诊医学课件-灾害事故急救课件
- 仪表工安全培训课件
- FOCUS-PDCA医院品质管理获奖案例-提高住院患者入院宣教知晓率
- 2025年大学英语四级词汇(乱序版)
评论
0/150
提交评论