《基于单片机的温度报警器的设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度报警器的设计毕业设计.docx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机的温度报警器的设计目录摘要1Abstract11 引言11.1课题背景11.2研究内容和意义22 芯片介绍32.1 DS18B20概述32.1.1 DS18B20封装形式及引脚功能32.1.2 DS18B20内部结构42.1.3 DS18B20供电方式62.1.4 DS18B20的测温原理72.1.5 DS18B20的ROM命令82.2 AT89C51概述92.2.1单片机AT89C51介绍92.2.2功能特性概述102.2.3空间节电模式:132.3 74LS245概述143 系统硬件设计163.1温度控制系统的整体设计163.2 温度控制系统的基本组成163.2.1系统电路图17
2、3.3温度报警器器的整体设计173.4温度报警器的基本组成183.4.1晶振电路183.4.2复位电路183.4.3温度报警电路193.5 控制说明194 系统软件设计204.1 系统主程序流程图204.2 温度采集模块214.2 温度显示225 系统调试与结果236 总结27致谢28参考文献29附录A 温度报警器部分程序3047基于单片机的温度报警器的设计电子信息科学与技术 摘要: 在工业生产过程中,人们需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。因为单片机具有低功耗、高性能、可靠性好、易于产品化等特点,因此采用单片机对温度进行控制不仅控制方便、简单和灵活,而且可以提高被
3、控温度的技术指标,从而能够大大提高产品的质量。本论文设计了一种基于单片机的温度报警器。控制器采用单片机AT89C51,数字式检测部分采用DS18B20数字温度传感器,LED数码管作为显示器,综合运用了微机原理、自动控制原理、模拟电子技术、数字控制技术、键盘显示技术等诸多方面的知识。设计过程中,首先进行硬件的设计,其次进行软件设计,最后仿真和综合调试,最终使得此系统实现了温度的采集、显示和报警设计。关键词:MCS-51单片机;温度传感器;温度报警The Design of Temperature Alarm Based on Single-chip Microcomputer Electroni
4、c information science and technology wanglixinTutor chexiaoyanAbstract:In industrial production process, people need to detect and control all kinds of heating furnace, heat treatment furnace, reactors and boiler temperature. MCU has the advantages of the low power consumption, good reliability, eas
5、y to product and so on ,thus MCU control of temperature is not only convenient, simple and agile, but also can improve the technical indexes accused of temperature, which can greatly improve the quality of the products. This paper designs an temperature alarm based on single-chip microcomputer contr
6、oller adopts single-chip AT89C51, digital testing part USES digital temperature sensor DS18B20, monitor uses LED digital. The design Comprehensively use as a microcomputer principle, automatic control theory, analog electronic technology, digital control technology, and the keyboard display technolo
7、gy of many aspects. In the process of design, hardware was the first and then the software, the simulation and integrated debugging was the last, at the end of the design ,temperature of the acquisition, display and alarm design were finished.Key words:MCS-51; Temperature Sensor;Temperature Alarm1 引
8、言1.1课题背景温度是工业对象中主要的被控参数之一,如冶金、机械、食品、化工各类工业生产中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的温度处理要求严格控制。随着科学技术的发展,要求温度测量的范围向深度和广度发展,以满足工业生产和科学技术的要求。基于AT89C51单片机提高了系统的可移植性、扩展性,利于现代测控、自动化、电气技术等专业实训要求。以单片机为核心设计的温度报警器,具有安全可靠、操作简单方便、智能控制等优点。温度对于工业生产如此重要,由此推进了温度传感器的发展。温度传感器主要经过了三个发展阶段1:(1)模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单
9、片集成温度传感器。此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等特点,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等;(2)模拟集成温度控制器。模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自成系统,工作时并不受微处理器的控制,这是二者的主要区
10、别;(3)智能温度传感器 (亦称数字温度传感器)。智能温度传感器是在20世纪90年代中期问世的,其内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。现代信息技术的三大基础是信息采集2(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农
11、业生产、科学研究和生活等领域,数量高居各种传感器之首。数字温度传感器可以直接将被检测的温度信息以数字化形式输出,与传统的模拟式温度传感器相比,具有测量精度高、功耗低、稳定性好、外围接口电路简单特点。而单片机微处理器越来越丰富的外围功能模块,更加方便了数字式温度传感器输出信号的处理。智能温度传感器内部都包含温度传感器、A/D转化器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央处理器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。进入21世纪后,智能温度传感器正朝着高精度、多功
12、能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片机测温系统等的方向发展。数字化温度传感器可以直接将温度量以数字脉冲信号形式输出,具有测量精度高、抗干扰能力强、传输距离远、外围接口电路简单等诸多优点。同时数字温度传感器还可直接与微处理器进行接口,大大方便了传感器输出信号的处理.数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。1.2研究内容和意义本温度报警器以AT89C51单片机为控制核心,由一数字温度传感器DS18B20测量被控温度,结合7段LED以及驱动LED的74LS245组合而成。当被测量值超
13、出预设范围则发出警报,且精度高,适用于大多数工业生产以及教育教学领域。温度是一种最基本的环境参数,它是与人类的生活、工作关系最密切的物理量,也是各门学科与工程研究设计中经常遇到和必须精确测量的物理量。从工业炉温、环境气温到人体温度;从空间、海洋到家用电器,各个技术领域都离不开测温和控温。因此,研究温度的测量和控制方法具有重要的意义。2 芯片介绍2.1 DS18B20概述DS18B20是Dallas公司继DS1820后推出的一种改进型智能数字温度传感器,与传统的热敏电阻相比,只需一根线就能直接读出被测温度值,并可根据实际需求来编程实现912位数字值的读数方式3。2.1.1 DS18B20封装形式
14、及引脚功能 图2.1 DS18B20封装形式和引脚功能如图2.1所示,DS18B20的外形如一只三极管,引脚名称及作用如下:GND:接地端。DQ:数据输入/输出脚,与TTL电平兼容。VDD:可接电源,也可接地。因为每只DS18B20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采用数据总线供电方式时VDD接地,可以节省一根传输线,但完成数据测量的时间较长;采用外部供电方式则VDD接+5V,多用一根导线,但测量速度较快。2.1.2 DS18B20内部结构64位ROM和单线接口存储和控制逻辑 高速缓存器温度传感器高温触发器TH低温触发器TL匹配寄存器8位CRC发生器电源检 测CDQV
15、DD内部电源VDD图2.2 DS18B20内部结构图2.2中出示了DS18B20 的主要内部部件,下面对DS18B20内部部分进行简单的描述4:(1)64位ROM。64位ROM是由厂家使用激光刻录的一个64位二进制ROM代码,是该芯片的标识号,如表2.1所示:表2.1 64位ROM标识8位循环冗余检验48位序列号8位分类编号(10H)MSB LSBMSB LSBMSB LSB 第1个8位表示产品分类编号,DS18B20的分类号为10H;接着为48位序列号。它是一个大于281*1012的十进制编码,作为该芯片的唯一标示代码;最后8位为前56位的CRC循环冗余校验码,由于每个芯片的64位ROM代码
16、不同,因此在单总线上能够并接多个DS18B20进行多点温度实习检验。(2)温度传感器。温度传感器是DS18B20的核心部分,该功能部件可完成对温度的测量通过软件编程可将-55125范围内的温度值按9位、10位、11位、12位的分辨率进行量化,以上的分辨率都包括一个符号位,因此对应的温度量化值分别为0.5、0.25、0.125、0.0625,即最高分辨率为0.0625。芯片出厂时默认为12位的转换精度。当接收到温度转换命令(44H)后,开始转换,转换完成后的温度以16位带符号扩展的的二进制补码形式表示,存储在高速缓存器RAM的第0,1字节中,二进制数的前5位是符号位。如果测得的温度大于0,这5位
17、为0,只要将测得的数值乘上0.0625即可得到实际温度;如果温度小于0,这5位为1,测得的数值需要取反加1再乘上0.0625即可得到实际温度。(3)高速缓存器。DS18B20内部的高速缓存器包括一个高速暂存器RAM和一个非易失性可电擦除的EEPROM。非易失性可点擦除EEPROM用来存放高温触发器TH、低温触发器TL和配置寄存器中的信息。(4)配置寄存器。配置寄存器的内容用于确定温度值的数字转换率。DS18B20工作是按此寄存器的分辨率将温度转换为相应精度的数值,它是高速缓存器的第5个字节,该字节定义如表2.2所示:表2.2 匹配寄存器TMR0R111111TM是测试模式位,用于设置DS18B
18、20在工作模式还是在测试模式,在DS18B20出厂时该位被设置为0,用户不要去改动;R1和R0用来设置分辨率;其余5位均固定为1。DS18B20分辨率的设置如表2.3所示:表2.3 DS18B20分辨率的设置R1R0分辨率最大转换时间 /ms009位93.750110位187.51011位3751112位750DS18B20依靠一个单线端口通讯。在单线端口条件下,必须先建立ROM 操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个ROM 操作命令之一:1)读ROM;2)匹配ROM;3)搜索ROM;4)跳过ROM;5)报警搜索。这些命令对每个器件的激光ROM 部分进行操作,在单
19、线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条ROM 操作序列后,即可进行存储器和控制操作,控制器可以提供6 条存储器和控制操作指令中的任一条。一条控制操作命令指示DS18B20完成一次温度测量。测量结果放在DS18B20的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器TH 和TL 各由一个EEPROM字节构成。如果没有对DS18B20使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操作命令对TH 和TL 进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以
20、最低有效位在前的方式进行读写。2.1.3 DS18B20供电方式DS18B20可以采用外部电源供电和寄生电源供电两种模式。外部电源供电模式是将DS18B20的GND直接接地,DQ与但单总线相连作为信号线,VDD与外部电源正极相连。如图2.3所示:单片机DS18B20外部+5V电源VDDDQ4.7KVCC其它单线器件图2.3 DS18B20外部供电方式图中DS18B20的DQ端口通过接入一个4.7K的上拉电阻到VCC,从而实现外部电源供电方式。寄生电源供电模式如图2.4所示:从图中可知,DS18B20的GND和VDD均直接接地,DQ与单总线相连,单片机其中一个I/O口与DS18B20的DQ端相连
21、。VCC单片机DS18B20GND4.7K图2.4 DS18B20寄生电源供电方式+5V2.1.4 DS18B20的测温原理DS18B20的测温原理如图2.5所示, 其主要由斜率累加器、温度系数振荡器、减法计数器、温度存储器等功能部件组成。图2.5 DS18B20的测温原理DS1820 是这样测温5的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55)的值增加,表明所测温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累
22、加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨率。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。DS18B20内部对此计算的结果可提供0.5的分辨率。温度以16bit带符号位扩展的二进制补码形式读出,表2.4 给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。DS18B20测温范围-55+125,以0.5递增。表2.4 温度数据关系温度数据输出(
23、二进制)数据输出(十六进制)+12500000000 1111101000FA+2500000000 001100100032+0.500000000 000000010001000000000 000000000000-0.511111111 11111111FFFF-2511111111 11001110FFCE-5511111111 10010010FF92S18B20遵循单总线协议,每次测温时都必须有4个过程6: 初始化; 传送ROM 操作命令; 传送ROM操作命令; 数据交换;2.1.5 DS18B20的ROM命令read ROM(读ROM).命令代码为33H,允许主设备读出DS18
24、B20的64位二进制ROM代码。该命令只适用于总线上存在单个DS18B20.Match ROM(匹配ROM)。命令代码为55H,若总线上有多个从设备时,适用该命令可选中某一指定的DS18B20,即只有和64位二进制ROM代码完全匹配的DS18B20才能响应其操作。Skip ROM(跳过ROM)。命令代码为CCH,在启动所有DS18B20转换之前或系统只有一个DS18B20时,该命令将允许主设备不提供64位二进制ROM代码就适用存储器操作命令。Search ROM(搜索ROM)。命令代码为F0H,当系统初次启动时,主设备可能不知纵向上有多少个从设备或者它们的ROM代码,适用该命令可确定系统中的从
25、设备个数及其RON代码。Alarm ROM(报警搜索ROM)。命令代码为ECH,该命令用于鉴别和定位系统中超出程序设定的报警温度值。Write scratchpad(写暂存器)。命令代码为4EH,允许主设备向DS18B20的暂存器写入两个字节的数据,其中第一个字节写入TH中,第二个字节写入TL中。可以在任何时刻发出复位命令终止数据的写入。Read scratchpad(读暂存器)。命令代码为BEH,允许主设备读取暂存器中的内容。从第一个字节开始直到读完第九个字节CRC读完。也可以在任何时刻发出复位命令中止数据的读取操作。Copy scratchpad(复制暂存器)。命令代码为48H,将温度报警
26、触发器TH和TL中的字节复制到非易失性EEPROM。若主机在该命令之后又发出读操作,而DS18B20又忙于将暂存器中的内容复制到EEPROM时,DS18B20就会输出一个“0”,若复制结束,则DS18B20输出一个“1”。Convert T(温度转换)。命令代码为44H,启动一次温度转换,若主机在该命令之后又发出其它操作,而DS18B20又忙于温度转换,DS18B20就会输出一个“0”,若转换结束,则DS18B20输出一个“1”。Recall E2(拷回暂存器)。命令代码为B8H。将温度报警触发器TH和TL中的字节从EEPROM中拷回到暂存器中。该操作是在DS18B20上电时自动执行,若执行该
27、命令后又发出读操作,DS18B20会输出温度转换忙标识:0为忙,1完成。Read power supply(读电源使用模式)。命令代码为B4H。主设备将该命令发给DS18B20后发出读操作,DS18B20会返回它的电源使用模式:0为寄生电源,1为外部电源。2.2 AT89C51概述2.2.1单片机AT89C51介绍AT89C517 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 4k bytes 的可反复擦写的只读程序存 储器(PEROM)和 128 bytes 的随机存取数据存储器(RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产, 兼容标准 M
28、CS-51 指令系统,片内置通用 8 位中央处理器(CPU)和 Flash 存储单元,功能强大 AT89C51 单片机可为您提 供许多高性价比的应用场合,可灵活应用于各种控制领域。2.2.2功能特性概述图2.6 AT89C51引脚图AT89C51 提供以下标准功能:4k 字节 Flash 闪速存储器,128 字节内部 RAM,32 个 IO 口线,两个 16 位定时计 数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51 可降至 0Hz 的静态逻 辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时计数器,串
29、行通信口及 中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。图2.7 AT89C51方框图引脚功能说明图2.7 AT89C51方框图Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向 IO 口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上 拉电阻。在 FIash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上
30、拉电阻。P1口:P1 是一个带内部上拉电阻的8位双向IO口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。FIash 编程和程序校验期间,P1接收低8位地址。P2 口:P2是一个带有内部上拉电阻的8位双向 IO 口,P2 的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流
31、(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行 MOVXDPTR 指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行 MOVXRI 指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash 编程或校验时,P2亦接收高位地址和其它控制信号。P3 口:P3口是一组带有内部上拉电阻的8位双向IO口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对 P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3口将用上拉电阻输出电流(IIL)。P3口除了
32、作为一般的IO口线外,更重要的用途是它的第二功能,如下表所示:表2.5 P3口第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断 0)P3.3INT1(外中断 1)P3.4T0(定时计数器 0 外部输入)P3.5T1(定时计数器 1 外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。ALEPROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允
33、许)输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的 l6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 DO 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C5
34、1由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EAVPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为 0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 VCC 端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V的编程允许电源 Vpp,当然这必须是该器件是使用12V编程电压 Vpp。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2
35、:振荡器反相放大器的输出端。2.2.3空间节电模式AT89C51有两种可用软件编程的省电模式8,它们是空闲模式和掉电工作模式。这两种方式是控制专用寄存器PCON(即电源控制寄存器)中的 PD(PCON.1)和 IDL(PCON.0)位来实现的。PD是掉电模式,当PD=1时,激活掉电工作 模式,单片机进入掉电工作状态。IDL 是空闲等待方式,当 IDL=1,激活空闲工作模式,单片机进入睡眠状态。如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内 RAM和所有特殊功能寄存器的内容保
36、持不变。空闲模式可由任何允许的中断请求或硬件复位终止。终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件被激活,IDL(PCON.0)被硬件清除,即刻终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断服务程序并紧随RETI(中断返回)指令后,下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。其二是通过硬件复位也可将空闲工作模式终止。需要注意的是,当由硬件复位来终止空闲工作模式时,CPU 通常是从激活空闲模式那条指令的下一条指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24 个时钟周期)有效,在这种情况下,内部禁止CPU访问
37、片内RAM,而允许访问其它端口。为了避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内 容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM 中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。表2.6空闲和掉电模式外部引脚状态模式程序存储区ALEPSENPSENP0P1P2P3空闲模式内部11数据数据数据数据空闲模式外部11浮空数据
38、地址数据掉电模式内部00数据数据数据数据掉电模式外部00浮空数据数据数据2.3 74LS245概述74LS245逻辑图与功能表如下所示。74LS245是常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能9,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。图2.8 74LS245逻辑图表2.7: 74LS245功能EnableGDirectionControlDIROperationLLLLHXB data to A busA data to B
39、busIsolation表2.8 推荐工作条件EnableGDirectionControlDIROperationLLHLHXB data to A busA data to B busIsolation当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当/CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端/1G和/2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,/E端接地,保证数据现畅通。8051的/RD和/PSEN相与后接DIR,使得/R
40、D或/PSEN有效时,74LS245输入(P0.iDi),其它时间处于输出(P0.iDi)。3 系统硬件设计硬件是一个工程设计项目的主要组成部分,它支撑并构成一个完整的系统骨架,缺少这一骨架,就智只能纸上谈兵,虚无缥缈。因此,系统的硬件设计是设计中的重点考虑对象。3.1温度控制系统的整体设计对于温度控制,采用单片机AT89C51组成的自动控制系统,其系统硬件总体方框图如图3.1所示: 图3.1 单片机温度控制系统原理图在图3.1的系统中,以高性能/价格比的AT89C51为核心,采用新型单片数字温度传感器DS18B20来测量温度,由双向可控硅驱动电路MOC3041和双向可控硅TLC336A(T1
41、)组成输出控制通道。此外,还有键盘/显示电路、报警输出电路等。整个系统结构紧凑,性能可靠;不仅适用于水温控制,也可适用于工业环境 温度的监测和控制。 3.2 温度控制系统的基本组成主要由单片机、温度采集模块、温度显示模块、温度控制模块、按键设定模块和超温声光报警模块组成。3.2.1系统电路图 图3.2 系统电路图系统主要组成部分:主要由单总线数字温度传感器DS18B20组成的温度采集模块,它通过温度信号采集并经温度转换后把信号输入单片机,然后送LED进行显示。LED采用动态扫描显示方式进行显示。然后是温度控制模块,升温部分是通过光耦MOC3021控制可控硅BTA16的导通角来控制电热炉功率加热
42、水箱内部水单片机是AT89C51。3.3温度报警器器的整体设计对于温度控制,采用单片机AT89C51组成的自动控制系统,其系统硬件总体方框图如图3.1所示:键盘 单片机复位数码管显示温度传感器 报警电路AT89C51图3.1 单片机温度报警器系统原理图在图3.1的系统中,以高性能/价格比的AT89C51为核心,采用新型单片数字温度传感器DS18B20来测量温度,抗干扰能力强、低功耗、高性能,整个系统结构紧凑,性能可靠;不仅适用于水温控制,也可适用于工业环境 温度的监测和控制。 3.4温度报警器的基本组成主要由单片机、晶振电路、复位电路、温度报警电路、LED数码管显示电路组成。3.4.1晶振电路
43、晶体震荡器10,在单片机系统里晶振的作用非常大,它结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。图3.2 晶振电路图3.4.2复位电路复位电路的作用是使系统的状态都处在一个确定的初始状态,并从这个状态开始工作。图3.3 复位电路3.4.3温度报警电路图3.4 温度报警电路3.5 控制说明温度控制系统是一个综合硬件设计控制系统。利用显示电
44、路、键盘电路、A/D转换电路、单片机实现温度过程控制的部件完成类似温度控制的实验。加热器用加热电阻代替。本设计可以实现将模拟温度信号,转换成数字信号,并经过计算处理后通过LED静态显示电路以十进制形式显示出来,同时显示电路还将显示设定的恒温值,通过键盘可以改变设定值。按一次增加键,恒温值加1,按一次减小键,恒温值减小1。恒温值在050范围内可调。温度的时实反映过程可参考温度采集系统设计。注意,当把A/D转换电路模拟信号输入处的可变电阻顺时针旋到底时,电压信号不衰减,显示的是实际温度。当实际温度低于设定的恒定温度时,单片机发出指令信号,继电器吸合,红色LED点亮,加热电阻开始加热。当温度超过设定
45、的恒温值时,单片机发出指令信号,蓝色LED熄灭,加热电阻停止加热,制冷采用自然冷却。调节A/D转换电路模拟信号输入处的可变电阻可以改变模拟量的输入,模拟温度较低时的情况。4 系统软件设计4.1 系统主程序流程图开始初始化清除显示 修改/确定键按下否?调温度总程序温度比较报警子程序按键子程序输出显示图 4.1 系统流程图4.2 温度采集模块温度测量通过DS18B20数字温度传感器测量水槽温度,将水槽温度值转化为数字量接入AT89S52单片机中。在通过与控制温度比较对可控硅进行控制。温度采集的流程图如图4.2所示:DS18B20初始化跳过ROM温度转换指令延时等待DS18B20初始化匹配ROM读出温度指令读出温度值4.2 温度采集流程图4.2温度显示数码管显示一般分静态显示和动态显示11两种方式,本文采用动态显示,数码管显示是 单片机外部指令输出的重要途径。开始循环变量附初值=1000关个位,十位,开小数位,送小数位数值调用延时子程序关个位,十位,开小数位,送小数位数值调用延时子程序关小数位,十位,开个位,送个位数值调用延时子程序循环变量-1=0子程序结束NY图4.3 显示流程图5 系统调试与结果本系统调试采用了ISIS Professional,Keil软件,ISIS Professional主要用于系统的仿真,Keil用于程
限制150内