1、带定时功能的温度控制器摘 要本设计主要针对电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类,生产领域内出现的温度控制问题;因此本选题的研究有着极其重要的现实意义和实用性。本设计系统采用数字集成温度传感器DS18B20温度采集模块,采用ATMEL公司的AT89S52单片机作为控制器,DS12C887为实时时钟模块,四位数码管作为显示模块,利用固态继电器和蜂鸣器构成电机驱动电路和报警电路,系统整体构成简单廉价,可作为小型应用的温度监控系统。经过努力实现了对硬件部分的设计,画出原理图PCB图;软件部分可以实现0099度的温度控制显示(精 度为1度)同时温度过高或者定时时间到时能够报警。可应
2、用到对化工厂、粮食存储、酒类生产等,具有较强的实用价值。关键词:AT89S52单片机; 时钟芯片DS12C887; 温度传感器DS18B20ABSTRACTThe major design Targeted at the emergence of a large number of the temperature control problem. which happened in the area of the electrical force, chemicals, petroleum, metallurgy, aerospace, machinery manufacturing, foo
3、d storage, alcohol production . Therefore, the research topics are extremely important realistic significance and relevance. The overall design of a simple low-cost system can be used as small-scale application of the temperature monitoring system. Which is made of the digital integrated temperature
4、 sensor DS18B20 temperature acquisition module, made of the ATMELs AT89S52 MCU as a controller, made of the DS12C887 for real-time clock module, as four of the digital display module, made of the solid state relays and a motor drive buzzer Dynamic circuit and alarm circuits. I strive to achieve thro
5、ugh the hardware part of the design.At the same time, I painted, including schematics and PCB plans; The software can achieve 00 - 99 degrees temperature control display (accuracy of 1 degree). At the same time, the temperature or time limit to the time when the alarm. It can be applied to the chemi
6、cal plants, food storage, such as alcohol production, which has strong practical value.Key words: AT89S52 MCU; clock chip DS12C887; temperature sensor DS18B20目 录1 绪论 11.1 温度测量的必要性、应用及发展 11.2 定时功能的实现原理 21.3 DS12C887与AT89S52的接口 32 系统方案论证 52.1 系统技术要求 52.2 温度传感器及测温原理 52.2.3 DS18B20内部结构 102.2.4 实时时钟芯片DS1
7、2C887 123 系统硬件设计 163.1 系统框图 163.2 电源部分 163.3 单片机掉电保护电路 163.4 主控制器的设计 183.4.1 AT89S52简介 183.4.2 时钟、复位及看门狗电路 213.5 前向通道设计 233.5.1 测温模块 233.5.2 实时时钟电路 253.6 后向通道的设计 263.6.1 压缩机/加热电阻丝驱动电路 263.6.2 显示电路 273.6.3 键盘输入电路 283.6.4 报警指示电路 284 系统软件设计 304.1 主程序设计 304.2 键盘扫描子程序 304.3 显示子程序 324.4 DS18B20的读写程序 334.5
8、 DS12C887的读写程序 384.6 EEPROM X25045的读写程序 414.7 报警指示、温度控制部分程序 475 结论与展望 505.1 研究的结论与成果 505.2 系统存在的问题 49致 谢 50参考文献 51附图 531 绪论1.1 温度测量的必要性、应用及发展温度是生产生活中最基本的物理量之一,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行
9、:炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。可见,温度的测量和控制是非常重要。温度的测量是从金属( 物质)的热胀冷缩开始。水银温度计至今仍是各种温度测量的计量标准。可是它的缺点是只能近距离观测,而且水银有毒,玻璃管易碎。代替水银的有酒精温度计和金属簧片温度计,它们虽然没有毒性,但测量精度很低,只能作为一个概略指示。在居民住宅中使用可满足要求。在工业生产和实验研究中为了配合远传仪表指示,出现了许多不同的温度检测方法,常用的有电阻式、热电偶式、PN 结型、辐射型、
10、光纤式及石英谐振型等。它们都是基于温度变化引起其物理参数(如电阻值,热电势等)的变化的原理。随着大规模集成电路工艺的提高,出现了多种集成的数字化温度传感器。原来的温度检测采取对各测温点取样的人工方法,工作量大,可靠性差。近年来,随着计算机技术的发展和测量技术的提高,传统的人工查看温度的方法,已逐步被电子检测温度设备所取代。前一种方式多数采用由拨动手动开关逐点查看温度的方法,有些也采用自动巡检方式并配备小型打印机记录温度数据。后一种方式则可在微机机房监测温度情况,并能利用微机对温度数据进行分析对比。由于微处理器芯片和网络通信技术的发展,现场总线技术成为自动化领域技术发展的热点之一,现场总线控制系
11、统成为中继基地式气动仪表控制系统、电动单元组合式模拟仪表控制系统、集中式数字控制系统、集散控制系统DCS 后的新一代控制系统。它的出现,为彻底打破自动化系统的信息孤岛创造了条件。采用现场总线技术的测温自动化系统实现。1.2 定时功能的实现原理在实际应用中,定时器(或计时器)随处可见,利用单片机(MCU即Microcomputer unit)来实现的也很多。此功能的实现采用单片机MCU配合数字时钟芯片DS12C887来实现,可以实现很高的精度和避免掉电数据失效的弊端。实现实时时钟的方法:(1)软件时钟:由软件计时实现。其特点是硬件开销小、成本低、外围电路简单、占用CPU(Central Proc
12、essing Unit/中央处理器)的时间、计时精度低、走时误差较大。(2)硬件时钟:由硬件时钟芯片实现,其特点是计时精确,不占用CPU资源,扩展电路简单。在单片机系统中应用较为广泛。 (3)GPS(Global Position Systerm)全球定位系统时钟:由全球卫星定位系统提供。其特点是精度高,成本高。因此,在本设计中选用第二个方法来实现精确,高效的定时功能。MCS51系列的单片机一般有两个内部的16位定时器/计数器分别称为T0和Tl。这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。 那么这个定时/计数器是如何产生定时作用的呢
13、?举个例子,如果将时钟定时到1分钟,那么秒针计数到60次后,时钟闹铃就会响。这里有个计数和定时之间的概念转化,时间表示为秒针计数值,即秒针每一次走动的时间正好是ls。 单片机中的定时器和计数器是复用的,计数器是记录外部脉冲的个数,而定时器则是由单片机提供的一个非常稳定的计数源。定时器是由单片机的晶振经过12分频后获得的一个脉冲源。当单片机的晶振为12MHz时,计数值1代麦的时间就是1us。计数器的容星是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。当定时器/计数器计溢出时,就会使得相关的寄存器标志产生变化,单片机将由此而产生定时中断,在中断服务程序中处理定时到而需
14、要完成的任务。DS12C887是美国Dallas公司生产的实时日历时钟芯片,采用CMOS技术,与MC146818B和DS1287管脚兼容,特点如下:(1)具有秒、分、时、星期、日、月、年计数功能,有12小时制和24小时制两种模式。(2)可实现闰年调整,时间可用二进制数和BCD码表示。(3)内部有128字节RAM,其数据具有掉电保护功能。(4)可以选择Motorola和Intel总线时序,通过编程可实现多种方波输出。(5)工作电压为4.55.5,工作电流为715mA。在断电情况下运行十年以上不丢失数据。(6)功耗低、外围接口简单、精度高、工作稳定可靠,可广泛用于各种需要较高精度的实时时钟场合中。
15、 ds12c887具有提供较高精度年、月、日、时、分、秒时间的功能,对其校准后,在掉电情况下,10年之内仍能准确的进行计时,并且能与单片机直接相连。1.3 DS12C887与AT89S52的接口由于DS12C887片内自带地址锁存器,故AD0AD7与单片机处理器的P0口直接相连,将单片机的ALE信号连到DS12C887的AS引脚。其他的引脚与单片机的连接如下图所示。DS12C887内部存储器起始地址为7F00H,时间、日历及报警信息分别存储在7F00H7F09H单元中,状态控制寄存器AD的地址分别为:7F0AH, 7F0BH, 7F0CH, 7F0DH。1-1图DS12C887与AT89S52
16、的接口Figure 1-1 DS12C887 and AT89S52 of the interface2 系统方案论证2.1 系统技术要求(1)以MCS-51系列单片机实现控制电路系统设计;(2)选择合适的测温元件,要求精度较高;(3)选择合适的时钟元件,要求精度较高且能够断电走时; (4)能够实现定时温度控制;(5)用键盘输入对温度的控制值; (6)在调节范围内,可实现按键设定所需温度;(7)用八段LED显示当前被测温度值;(8)温度超越界限或定时时间到时能够报警;2.2 温度传感器及测温原理温度传感器种类很多,主要分为模拟温度传感器和数字温度传感器。模拟温度传感器又有线性和非线性之分。不同
17、的传感器有各自的特点。在温度测量中常用的电阻式温度传感器、热电偶式、PN 结型、辐射型、光纤式及石英谐振型等。传统的方法多使用模拟传感器,那么一个温度量要经过感温元件、测量电路、放大电路、模数转换电路之后才能得到相应的数字量。这样设计者须考虑的线路环节较多,相应测温装置中元器件数量降不下来,随之影响产品的可靠性和体积微缩化,产品的成本较高。而且模拟信号在长距离传输过程中,如何抗电磁干扰是一个难以解决的问题。对于多点温度检测的场合,各被测点到测试装置之间引线距离往往不同,还有各敏感元件参数的不一致性都是造成误差的原因。把被测温度这一非电模拟量转换成数字信号,将其处理过程的多个环节集成在单片IC
18、器件内部,是解决传统温度检测方法弊病的理想途径。与模拟传感器相比,由于采取高集成度设计,使数字式传感器在可靠性、抗干扰能力、体积以及设计成本方面都有明显的优点,但受半导体器件本身限制,数字式传感器还存在一些不够理想的地方。比如实际应用时需加修正值,测温范围不宽,一般为-50 +l50 。虽然存在一些不足,但是充分利用微处理技术发展数字化、集成化和自动化的温度传感器仍是温度传感器的发展方向之一。集成化温度传感器如DALLAS公司的数字式温度传感器DS18B20。2.2.1 单总线技术近年来,美国的达拉斯半导体公司(DALLAS SEMICONDUCTOR )推出了一项特有的单总线(1-wire
19、Bus )技术。它采用一根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,系统中的数据交换、控制都由这根线完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线。其单总线通常要求外接一个约为4.7k 的上拉电阻,这样,当总线闲置时,其状态为高电平。主机和从机之间的通信可通过3 步完成,分别为初始化1-wire 器件、识别1-wire 器件和交换数据。由于它们是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问1-wire 器件都必须严格遵循单总线命令时序,即初始化、ROM 、命令功能命令。如果出现序列混乱,1-
20、wire 器件将不响应主机(搜索ROM命令,报警搜索命令除外)。所有的单总线器件都要遵循严格的通信协议,以保证数据的完整性。1 -wire 协议定义了复位脉冲、应答脉冲、写0 写1、读0读1 时序等几种信号类型在这些信号中,除了应答脉冲外,其它均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前。单总线技术以其线路简单、硬件开销少、成本低廉、软件设计简单,优势为有着无可比拟的应用前景。基于单总线的iButton技术能较好地解决传统识别器普遍存在的携带不便、易损坏、易受腐蚀、易受电磁干扰等不足,可应用于高度安全的门禁、身份识别等领域。其通信可靠简单,很容易实现。因此单总线技术有着广阔
21、的应用前景,是值得关注的一个发展领域。有了单总线的概念,下面来了解一下数字温度传感器DS18B20 。2.2.2 温度传感器DS18B20 温度传感器选择单线数字器件DS18B20 ,是在经过多方面比较和考虑后决定的,主要有以下几方面的原因:系统成本:由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。一支DS18B20 的体积与普通三极管相差无几,价格只有十元人民币左右。系统复杂度:由于DS18B20 是单总线器件,一条总线上可以挂接几十个(理论上可以挂接248个单总线器件)DS18B2O。因此,与模拟传感器相比,可以大大减少接线的数量,降低系
22、统的复杂度,减少工程的施工量。系统的调试和维护:由于引线的减少,使得系统接口大为简化,给系统的调试带来方便;由于DS18B20 是全数字器件,故障率低,抗干扰性强。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控过程生产线的温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高的测温精度,就必须采用措施解决
23、由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线性较好。在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89S52组成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于AT89C52可以驱动多个DSB1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。
24、采用温度芯片DS18B20测量温度,可以体现系统芯片化的趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。DSl8B20数字温度计提供 12 位(二进制)温度读数,指示器件的温度。 信息经过单线接口送入DSl8B20或从DSl8B20 送出,因此从主机 CPU 到 DSl8B20仅需一条线(和地线)。DSl8B20 的电源可以由数据线本身提供而不需要外部电源。因为每一个 DSl8b20在出厂时已经给定了唯一的序号, 因此任意多
25、个 DSl8B20可以存放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件。 DSl8B20的测量范围从-55 到+125 增量值为 0.0625。1s(典型值)内把温度变换成数字。每一个 DSl8B20 包括一个唯一的64 位长的序号,该序号值存放在 DSl8B20 内部的ROM(只读存贮器)中。开始8 位是产品类型编码(DSl820 编码均为 10H)。接着的 48位是每个器件唯一的序号。最后 8 位是前面 56 位的CRC(循环冗余校验)码。DSl8B20 中还有用于贮存测得的温度值的两个 8 位存贮器 RAM,编号为0 号和1号。1 号存贮器前四位存放温度值的符号,如果温度为
26、负( )则 1 号存贮器前四位全为1,否则全为 0。0号存贮器用于存放温度值的补码,LSB(最低位)的 1 表示 0.0625。将存贮器中低12位的二进制数求补后转换成十进制数并除以16 就得到被测温度值(-55125 )。21表温度值及其二进制、十六进制对应关系表Table 2-1 temperature and binary, hexadecimal correspondence relationTable温度/二进制表示十六进制表示+125 +25.0625+10.125+0.50-0.5-10.125-25.0625-5500000111 1101000000000001 100100
27、0100000000 1010001000000000 0000100000000000 0000000011111111 1111100011111111 0101111011111110 0110111111111100 1001000007D0H0191H00A2H0008H0000HFFF8HFF5EHFE6FHFC90H2-1表是DS18B20温度采集转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于或等于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1
28、再乘于0.0625即可得到实际温度。温度转换计算方法举例:例如当DS18B20采集到+125的实际温度后,输出为07D0H,则:实际温度=07D0H0.0625=20000.0625=125。 DSl8B20的引脚如图2-1所示。每个DS18B20 都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采取数据总线供电方式可以节省一根导线 但完成温度测量的时间较长;采取外部供电方式则多用一根导线,但测量速度较快。21图DS18B20的引脚图Figure 2-1 DS18B20Figure-pin2.2.3 DS18B20内部结构1. DS18B20的内部结构如22图所示。22图 DS18
29、B20内部结构Figure 2-2 the internal structure of DS18B20DS18B20有4个主要的数据部件:(1)64位激光ROM;64位激光ROM从高位到低位依次为8位CRC,48位序列号和8位家族代码(28H)组成。(2)温度灵敏元件;(3)非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限值。(4) 配置寄存器,配置寄存器为高速暂存存储器中的第五个字节。DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如22表所示。22表DS18B20内部ROM各位分配配置寄存器与分辨率关系TMR1R011111 Table 2-
30、2DS18B20 internal ROM of the schedule其中TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。配置寄存器与分辨率关系如23表所示。23表配置寄存器与分辨率关系Table 2-3 configuration register with the resolution of relationsR0R1温度计分辨率/bit最大转换时间/us00993.750110187.51011375111275
31、0 2. 高速暂存存储器高速暂存存储器由9个字节组成,其分配如24表所示。24表DS18B20内部RAM字节组成表Table 2-4 bytes of RAM DS18B20 internal tableRAM字节组成温度低位温度高位THTL配置保留保留保留8位CRC当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如25表所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。2-5表DS18B20温度值格式表Table 2-5DS18B20 temperature format tableMSB LSBSSSSS2.2.4 实时时钟芯片DS12C887 DS12C887实时时钟芯片功能丰富,可以用来直接代替 IBM PC上的时钟日历芯片DS
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1