基于单片机水温控制系统的设计.doc

上传人:红**** 文档编号:91482675 上传时间:2023-05-27 格式:DOC 页数:36 大小:387.50KB
返回 下载 相关 举报
基于单片机水温控制系统的设计.doc_第1页
第1页 / 共36页
基于单片机水温控制系统的设计.doc_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《基于单片机水温控制系统的设计.doc》由会员分享,可在线阅读,更多相关《基于单片机水温控制系统的设计.doc(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、湖南科技大学课程设计摘要本文介绍了基于AT89S52单片机水温测量及控制系统的设计。系统硬件部分由单片机电路、温度采集电路、键盘电路、LED显示电路、继电器控制电路等组成。软件从设计思路、软件系统框图出发,逐一分析各模块程序算法的实现,通过C语言编写出满足任务需求的程序。本系统采用数字式温度传感器DS18B20作为温度传感器,简易实用,方便拓展。单片机以此对水的温度进行有效检测与报警,并以此进行水温的控制。基于单片机水温控制系统采用多电源供电,降低了系统各个模块间的干扰,还保证了电源能为各部分提供足够的工作电流,提高系统的可靠性。关键词:水温控制 AT89S52 DS18B20i目录摘要i第一

2、章 绪论11.1水温控制系统设计的背景11.2水温控制系统设计的意义11.3水温控制系统完成的功能2第二章 系统设计方案选择32.1单片机及水温控制方案32.2水温传感器方案32.3电源设计方案42.4控制系统总体设计4第三章 硬件设计部分53.1单片机电路53.2温度检测电路93.3其它部分硬件电路13第四章 软件设计部分164.1程序设计方案164.2各模块子程序设计17第五章 系统调试部分21参考文献23附录24iiii湖南科技大学本科生课程设计第一章 绪论1.1水温控制系统设计的背景测量控制的作用是从生产现场中获取各种参数,运用科学计算的方法,综合各种先进技术,使每个生产环节都能够得到

3、有效的控制,不但保证了生产的规范化、提高产品质量、降低成本,还确保了生产安全。所以,测量控制技术已经被广泛应用于炼油、化工、冶金、电力、电子、轻工和纺织等行业。单片机以其集成度高、运算速度快、体积小、运行可靠、价格低廉等优势,在过程控制、数据采集、机电一体化、智能化仪表、家用电器以及网络技术等方面得到了广泛的应用,特别是单片机技术的开发与应用,标志着计算机发展史上又一个新的里程碑。作为计算机两大发展方向之一的单片机,以面向对象的实时控制为己任,嵌入到如家用电器、汽车、机器人、仪器仪表等设备中,使其智能化。水温检测控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,

4、很多时候都需要对水温进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。使用水温控制系统可以对生产环境的温度进行有效控制,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率。水温控制系统应用十分广阔。1.2水温控制系统设计的意义随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。温度测试控制系统,控制对象是温度。温度控制在日常生活及工业领域应用相当广泛,比如温室、水池、发酵缸、电源等场所的温度控制。而以往温度控制是由人工完成的而且不够重视,其实在很多场所温度都需要监控以防止发生意外。针对此问题,本系统设计的目

5、的是实现一种可连续高精度调温的温度控制系统,它应用广泛,功能强大,小巧美观,便于携带,是一款既实用又廉价的控制系统。特别是近年来,温度控制系统已应用到人们生活的各个方面,温度控制的开发与人们工作生活息息相关。水是一种我们赖以生存的重要资源,无论是在工农业生产还是我们的日常生活处处离不开水。控制水的温度可以极大提高生产效率,节约资源,提升我们的生活质量。在水资源日益匮乏的今天,拥有并推广简易完善的水温控制系统对于我们社会的可持续发展,有着极大的实际意义。1.3水温控制系统完成的功能本器件以AT89S52单片机系统进行温度采集与控制温度信号由模拟温度传感器DS18B20采集输入AT89S52,主控

6、器能对各温度检测器通过LED进行显示。 1.3.1本机实现的功能:(1)利用温度传感器采集到当前的温度,通过AT89S52单片机进行控制,最后通过LED数码管以串行口传送数据实现温度显示。(2)可以通过按键任意设定一个恒定的温度。(3)将水环境数据与所设置的数据进行比较,当水温低于设定值时,开启加热设备,进行加热;当水温高于设定温度时,停止加热,从而实现对水温的自动控制。(4)当系统出现故障,超出控制温度范围时,自动蜂鸣报警。 1.3.2基本设计参数要求有:一升水由800W的电热设备加热,要求水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动调整,以保持设定的温度基本不变。(1)温度

7、测量范围:3090,最小区分度不大于0.1。(2)控制精度在0.5以内,温度控制的静态误差小于1。(3)用十进制数码管显示实际水温。 1.3.3扩展功能:(1)具有通信能力,可接收其他数据设备发来的命令,或将结果传送到其他数据设备。(2)采用适当的控制方法实现当设定温度或环境温度突变时,减小系统的调节时间和超调量。(3)温度控制的静态误差。第二章 系统设计方案选择2.1单片机及水温控制方案 建立单片机水温控制系统可以采用8031作为控制核心,以使用最为普遍的器件ADC0804作模数转换,控制上使用对电阻丝加电使其升温。此方案简易可行,器件的价格便宜。但8031内部没有程序存储器,需要扩展,增加

8、了电路的复杂性。但此方案在硬件、软件上的成本都比较高,而且易受外部环境的影响和限制,系统工作相对不稳定。单片机种类繁多,经过比较。此次设计方案采用AT89S52单片机实现,该单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。进行数据转换,控制电路部分采用继电器控制,此方案电路简单并且可以满足题目中的各项要求的数据。2.2水温传感器方案水温传感器可以采用极为普遍的晶体管3DG6作为温度传感器,廉价的电压/频率转换器(V/F)LM331与AT89S52单片机组成的温度测量仪。但抗干扰性差,数据处理复杂,数据存放空间大,受市场限制。设计中广泛采用热电阻传感器,铂电阻温度传感器是利用其电阻和

9、温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、稳定性好等特点,被广泛用于中温(-200+650)范围的温度测量中。但铂电阻的电阻值与温度成非线性关系,所以需要进行非线性较正。校正分为模拟电路校正和微处理器数字化校正,模拟校正有很多现成的电路,其精度不高且易受温漂等干扰因素影响,数字化校正则需要在微处理系统中使用,将Pt电阻的电阻值和温度对应起来后存入EEPROM中,根据电路中实测的AD值以查表方式计算相应温度值。采用数字可编程温度传感器DS18B20作为温度检测元件。数字可编程温度传感器可以直接读出被测温度值。不需要将温度传感器的输出信号接到A/D转换器上,减少了系统的

10、硬件电路的成本和整个系统的体积进行数据转换,控制电路部分采用继电器控制,此方案电路简单并且可以满足题目中的各项要求的数据。由于采用具有一总线特点的温度传感器,所以电路连接简单;而且该传感器拥有强大的通信协议,同过几个简单的操作就可以实现传感器与单片机的交互,包括复位传感器、对传感器读写数据、对传感器写命令。软件、硬件易于调试,制作成本较低。也使得系统所测结果精度大大提高。综合多方考虑,经过对各种温度传单器的比较,本设计决定采用DS18B20建立温度检测电路。2.3电源设计方案采用单一电源供电,各个部分很可能造成干扰,系统无法正确工作,还可能因为负载过大,电源无法提供足够的工作电流。特别是压机启

11、动瞬间电流很大,而且逆变电路负载电流波动较大会造成电压不稳,有毛刺等干扰,严重时可能造成弱电部分电路掉电。所以采用双电源,即电源负载驱动电路等强电部分用一个电源,数字电路等弱电部分用一个电源。但是电路间还是可能会产生干扰,造成系统不正常,而且还可能会对单片机的工作产生干扰,影响单片机的正常工作。最终我们采用多电源供电方式,即对数字电路、驱动电路分别供电,这种方案即降低了系统各个模块间的干扰,还保证了电源能为各部分提供足够的工作电流,提高系统的可靠性。2.4控制系统总体设计本次设计采用采样值和键盘设定值进行比较运算的方法来简单精确地控制温度。先通过键盘输入设定温度,保存在AT89S52单片机的指

12、定单元中,再利用温度传感器DS18B20进行信号的采集,送入单片机中,保存在采样值单元。然后把采样值与设定值进行比较运算,得出控制量,从而调节继电器触发端的通断,来实现将水温控制在一定的范围内。当水温超出单片机预存温度时,蜂鸣器进行报警。单片机控制系统是一个完整的智能化的集数据采集、显示、处理、控制于一体的系统。由传感器、LED显示单片机及执行机构控制部分等组成。系统结构框图如图2.1所示:DS18B20温度传感器LED显示指示灯蜂鸣器AT89S52单片机加热继电器按键图2.1系统结构框图第三章 硬件设计部分3.1单片机电路本设计采用的AT89S52是一种低功耗、高性能CMOS8位微控制器。使

13、用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上8K字节Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52单片机主要功能特点有:与MCS-51单片机产品兼容;8K字节在系统可编程Flash存储器;256字节RAM;1000次擦写周期;全静态操作:三级加密程序存储器;32位可编程I/O口线;双数据指针;三个16位定时器/计数器;八个中断源(一个6向量2级中断结构);全双工UART串行通道;片内晶振及时钟电路

14、;看门狗定时器;掉电标识符;0Hz33Hz,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止,掉电后中断可唤醒。 3.1.1 AT89S52引脚功能图3.1 AT89S52单片机引脚结构示意图VCC:电源(+5V)。GND:地。P0口:本次设计中P0口与P2口共同实现LED显示功能。P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输

15、入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送

16、1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P1口:本次设计P1口中P1.0将用于控制继电器;P1.1和P1.4用于报警系统。P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。在f

17、lash编程和校验时,P1口接收低8位地址字节。P1口第二功能有:P1.0:T2(定时器/计数器T2的外部计数输入,时钟输出)P1.1:T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5:MOSI(在系统编程用)P1.6:MISO(在系统编程用)P1.7:SCK(在系统编程用)P3口:本设计中P3口将用于接收水温信号和按键信息。P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89

18、S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。本次设计P3口中P3.4将用于接收发送温度型号。P3引脚号第二功能有:P3.0:RXD(串行输入)P3.1:TXD(串行输出)P3.2:INT0(外部中断0)P3.3:INT0(外部中断0)P3.4:T0(定时器0外部输入)P3.5:T1(定时器1外部输入)P3.6:WR(外部数据存储器写选通)P3.7:RD(外部数据存储器写选通)RESET:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的

19、DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX 或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制

20、器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接Vcc。在flash编程期间,EA也接收12伏Vpp电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.1.2时钟电路时钟电路是用来产生AT89S52单片机工作时所必须的时钟信号

21、,AT89S52本身就是一个复杂的同步时序电路,为保证工作方式的实现,AT89S52在唯一的时钟信号的控制下严格的按时序执行指令进行工作,时钟的频率影响单片机的速度和稳定性。通常时钟由于两种形式:内部时钟和外部时钟。我们系统采用内部时钟方式来为系统提供时钟信号。AT89S52内部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为XTAL1和XTAL2,它们跨接在晶体振荡器和用于微调的电容,便构成了一个自激励振荡器。电路中的C1、C2的选择在30pF左右,但电容太小会影响振荡的频率、稳定性和快速性。晶振频率为在1.2MHZ12MHZ之间,频率越高单片机的速度就越快,但对存储器速度要

22、求就高。为了提高稳定性我们采用温度稳定性好的NPO电容,采用的晶振频率为12MHZ。3.1.3复位电路AT89S52的复位输入引脚RST为单片机提供了初始化的手段,可以使程序从指定处开始执行,在AT89S52的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,只要RST保持高电平,则AT89S52循环复位,只有当RST由高电平变成低电平以后,AT89S52才从0000H地址开始执行程序,本系统采用按键复位方式的复位电路。图3.2 时钟电路复位电路与单片机的连接图3.2温度检测电路 3.2.1 DS18B20数字温度计本次设计所采用的温度传感器为达拉斯DS1

23、8B20半导体可编程分辨率的单总线数字温度计。DS18B20无需外部器件。它的测温范围为-55125,并且在-1085精度为0.5。DS18B20数字温度计提供9-12位摄氏温度测量。最多在750ms 内将温度转换为12位数字。报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件DS18B20有一个由高低电平触发的可编程的不因电源消失而改变的报警功能。DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条连接线(加上地线)。除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求,供电范围为3.0V到5.5V。DS18B20与DS

24、1822兼容的软件。每个DS18B20都有一个独特的64位序列号,从而允许多只DS18B20同时连在一根单线总线上。因此,很简单就可以用一个微控制器去控制很多覆盖在一大片区域的DS18B20。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。DS18B20应用包括温度控制、工业系统、消费品、温度计或任何热感测系统。 本设计采用的TO92封装的DS18B20引脚功能描述见表3.1: 表3.1 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选

25、择的VDD引脚。当工作于寄生电源时,此引脚必须接地。 3.2.2 DS18B20操作原理DS18B20 的核心功能是它的直接读数字的温度传感器。温度传感器的精度为用户可编程的9,10,11或12位,分别以0.5,0.25,0.125和0.0625增量递增。在上电状态下默认的精度为12位。DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控制器必须发出44h命令。在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器中,DS18B20继续保持等待状态。当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”,DS18B20正在温度转换

26、中返回0,转换结束返回1。DS18B20中的温度传感器完成对温度的测量,用16位二进制形式提供,形式表达,其中头五位S为符号位。如:25.0625的数字输出为0000 0001 1110 0001(正温度直接把二进制数转成十进制乘以单位温度即得到温度值,对于负温度则取反加1后把二进制数转成十进制)。DS18B20的存储器有一个暂存SRAM和一个存储高低报警触发值TH和TL的非易失性电可擦除EEPROM组成。注意当报警功能不使用时,TH和TL寄存器可以被当作普通寄存器使用。所有的存储器指令被详述于DS18B20功能指令节。位0和位1为测得温度信息的LSB和MSB。这两个字节是只读的。第2和第3字

27、节是TH和TL的拷贝。位4包含配置寄存器数据,其被详述于配置寄存器节。位5,6和7被器件保留,禁止写入;这些数据在读回时全部表现为逻辑1。EPROM寄存器中的数据在器件掉电时仍然保存;上电时,数据被载入暂存器。数据也可以通过召回EEPROM命令从暂存器载入EEPROM。总线控制器在发出这条命令后发出读时序,DS18B20返回0表示正在召回中,返回1表示操作结束。存储器的第4位为配置寄存器。上电默认设置位6:R0=1:位5:R1=1。精度和转换时间之间有直接的关系。暂存器的位7(为0)和位04(为1)被器件保留,禁止写入。即12位精度时存储器状态为0111 1111在读回数据时,它们全部表现为逻

28、辑1。DS18B20完成一次温度转换后,就拿温度值与和存储在TH和TL中一个字节的用户自定义的报警预置值进行比较。标志位(S)指出温度值的正负:正数S=0,负数S=1。TH和TL寄存器是非易失性的,所以它们在掉电时仍然保存数据。当TH和TL为8位寄存器时,4位温度寄存器中的11个位用来和TH、TL进行比较。如果测得的温度高于TH或低于TL,报警条件成立,DS18B20内部就会置位一个报警标识。每进行一次测温就对这个标识进行一次更新;因此,如果报警条件不成立了,在下一次温度转换后报警标识将被移去。总线控制器通过发出报警搜索命令ECh检测总线上所有的DS18B20报警标识。任何置位报警标识的DS1

29、8B20将响应这条命令,所以总线控制器能精确定位每一个满足报警条件的DS18B20。如果报警条件成立,而TH或TL的设置已经改变,另一个温度转换将重新确认报警条件。其内部结构如图3.3:64位ROM和单总线端口存储器和控制逻辑存储器温度传感器上触发TH下触发LH高速暂存器8位CRC产生器DQ内部VddVdd电源检测图3.3 DS18B20内部结构示意图因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先DS18B20提供以下功能命令之一:读ROM,ROM匹配,搜索ROM,跳过ROM,报警检查。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器

30、。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。所有的数据的读、写都是从最低位开始。读/写时序DS18B20的数据读写是通过时序处理位来确认信息交换的。其与单片机的连接电路如图3.4:图:3.4 DS18B20数字温度计与AT89S52单片机的连接3.3其它部分硬件电路3.3

31、.1 LED显示电路LED数码管是一种半导体发光器件,其基本单元是发光二极管,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字。可以显示:时间、日期、温度等可以用数字代替的参数。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极

32、为高电平时,相应字段就不亮。动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,通过由各自独立的I/O线控制,当单片机的P0口输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对P2.0-P2.3位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在本设计中采用了四位八段数码管,用动态驱动来显示温度的值,如图3.5所示: 图3.

33、5 LED显示电路图 3.3.2按键电路除去复位按键及继电器外,系统的键盘共有三个按键,判断K3K5键是否按下,可采用软件查询和中断的方法,当某个键按下时,低电平有效。3个键K3K5的功能定义如表所示:表3.2 K3K5键的定义按键键名功能K3功能转换键地信号此键按下,显示温度设定值,按键松开,显示当前温度开漏单总线接口引脚。K4加1键设定温度值加1K5减1键设定温度值减1图3.6按键电路 3.3.3报警与控制电路在微型计算机控制系统中,为了安全生产,对于一些重要的参数或系统部位,都设有紧急状态报警系统,以便提醒操作人员注意,或采取紧急措施。其方法就是把计算机采集的数据或记过计算机进行数据处理

34、、数字滤波、标度变换之后,与该参数设定值进行比较。如果高于设置值1度则进行报警,否则就作为采样的正常值,进行显示和控制。同样水箱内的温度超出低高设定的温度范围内时P1.4输出高电平“0”时,晶体管导通,压电蜂鸣器两端获得约+5V电压而鸣叫,出报警声音;单片机的P1.1输出低电平,此时红色指示灯灭,直到低于设定的最高温度时,P1.4输出高时,三极管截止,蜂鸣器停止发声,P1.1输出电平高电平,发光二极管亮。低于设置数1度时,具体操作类似。报警和控制电路如图3.7所示。 3.3.4继电器扩展控制电路理论设计控制P10的高低电平来控制继电器的断开和闭合,当P10口为低电平时,三极管导通,控制继电器开

35、始加热,当P10为高电平时,三极管截止,继电器断开,停止加热,绿灯亮。光电耦合器以光为媒介来传输电信号的器件,受光器接受光线之后就产生光电流,从输出端流出,从而实现了“电光电”转换。本设计采用TOSHIBA公司生产的TLP627-1。它包含一个砷化镓红外发光二极管,该二极管光耦合到一个达林顿光电晶体管。晶体管集成了基极-集电极内阻,使TLP627系列的转换速度和高温特性得到优化。加热器由继电器控制,连接220V电源,用于对水温的控制,即对进行水温加热或不加热。图3.7 报警与控制电路与单片机的连接第四章 软件设计部分4.1程序设计方案根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然

36、后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。本部分详细介绍了基于AT89S52单片机的多路温度采集控制系统的软件设计。根据系统功能,可以将系统设计分为若干个子程序进行设计,如温度采集子程序,数据处理子程序、显示子程序、执行子程序。采用Keil uVision3集成编译环境和C语言来进行系统软件的设计。本章从设计思路、软件系统框图出发,先介绍整体的思路后,再逐一分析各模块程序算法的实现,最终编写出满足任务需求的程序。采集到当前的温度,通过LED数码管实现温度显示。通过按键任意设定一个恒定的温度将水环境数据与所设置的数据进行比较。当水温低于设定值时,开启加热设备,进行加热;当

37、水温高于设定温度时,停止加热。当系统出现故障,超出控制温度范围时,自动蜂鸣报警并对温度进行实时显示。采用C语言编写代码,鉴于篇幅限制及DS18B20的应用已经规范和成熟,本文仅就主程序流程图和显示子程序流程图及其代码进行说明。通过定时器T0 P3.4口的定时来实现,在此不再赘述。有关DS18B20的读写程序,编程时序分析等请见附录三。功能主程序流程图主程序通过调用温度采集子程序完成温度数据采集,然后调用温度转换子程序转换读取温度数据,调用显示子程序进行温度显示和判断温度数据。主程序(见附录二)调用四个子程序,分别是温度采集程序、数码管显示程序、温度处理程序和数据存储程序。温度采集程序:对温度芯

38、片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码的显示送数,控制系统的显示部分。温度处理程序:对采集到的温度和设置的上、下限进行比较,做出判断,向继电器输出关断或闭合指令。数据存储程序:对键盘的设置的数据进行存储。其总程序流图如图4.1。4.2各模块子程序设计 4.2.1主程序设计主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图4.2所示。通过调用读温度子程序把存入内存储中的整数部分与小数部分分开存放在不同的两个单元中,然后通过调用显示子程序显示出来。设定温度值显示当前温度

39、判断当前温度值超过设定1低于设定1报警报警是否否是图4.1 系统总流程图开始调用读温度子程序数字变换程序显示子程序图4.2 主程序流程图 4.2.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能达到预期的目的,同时,要注意读进来的是高位在后低位在前,共有12位数,小数4位,整数7位,还有一位符号位。DS18B20的数据读写是通过时序处理位来确认信息交换的。当总线控制器发起读时序时,DS18B20仅被用来传输数据给控制器。因此,总线控制器在发出读暂存

40、器指令BEh或读电源模式指令B4H后必须立刻开始读时序,DS18B20可以提供请求信息。所有读时序必须最少60us,包括两个读周期间至少1us的恢复时间。当总线控制器把数据线从高电平拉到低电平时,读时序开始,数据线必须至少保持1us,然后总线被释放在总线控制器发出读时序后,DS18B20通过拉高或拉低总线上来传输1或0。当传输逻辑0结束后,总线将被释放,通过上拉电阻回到上升沿状态。从DS18B20输出的数据在读时序的下降沿出现后15us内有效。因此,总线控制器在读时序开始后必须停止把I/O脚驱动为低电平15us,以读取I/O脚状态。其子程序流程图如图4.3。 4.2.3数码管显示模块 本系统采

41、用八位共阳极数码管,用模拟串口的动态显示数据。其流程图如图4.4所示。 4.2.4温度处理程序基于单片机水温控制系统通过DS18B20温度传感器采集到的温度和设置的温度上、下限进行比较得出结果。如果低于下限温度或是高于上限温度,则报警器进行进行报警。DS18B20复位、应答子程序跳过ROM匹配命令写入子程序温度转移命令写入子程序延时显示子程序DS18B20复位、应答子程序跳过ROM匹配命令写入子程序读温度命令子程序终止图4.3 读出温度子程序子程序入口初始化查表取段码位码送译码器选通低位数码管数字是否显示亮关显示返回段码送驱动显示显示缓冲区左移YN图4.4 数码管显示流程图第五章 系统调试部分

42、5.1测试环境:测试时如不能外设小型制冷设备,则室温不应超过30。测试初始时水温以30以下为宜。5.2测试注意事项:(1)应保证DS18B20传感器位于容器内水的中央部位且不能与加热器接触,否则会造成温度测量不准确甚至元器件的损害。(2)系统复位初始设定写入温度为上限H30,下限L10。(3)测试不同温度时,所测试温度应由低到高。5.3测试温度范围:3090之间(模拟设计要求范围内的不同温度值环境)。5.4测试仪器:数字万用表、温度计(可测量0.0100.0)、盛有清水的器皿、220V电源,秒表等。5、测试方法:(1)使系统运行,观察系统硬件检测是否正常(包括单片机控制系统,键盘电路,显示电路

43、,温度测试电路等)。(2)接通电后,系统可实时显示当前水温温度。可分别通过按键设定系统上限温度为30、35、40、45、50、55,60、65、70、75等不同温度,测试下限温度时方法同上。(3)利用测试表格数据,观察显示数据是否相符合即可。采用温度传感器和温度计同时测量水温变化情况,目测显示电路是否正常。(4)待温度稳定后,在单位时间内采样记录显示屏温度值,与温度计实际温度值比较,计算出选定度数的误差百分比精确度,得出系统的温度指标。6、测试结果分析:系统自检正常,温度显示正常。因为芯片是塑料封装,所以对温度的感应灵敏度不是相当高,需要一个很短的时间达到稳定。经反复测试验证,本系统满足要求。

44、用单片机控制水温可以在一定范围内设定,并能在环境温度变化时保持温度不变。- 22 -湖南科技大学本科生课程设计参考文献1张迎新等.单片机初级教程.北京:北京航空航天大学出版社.2006.82李小坚,赵山林,冯晓军,龙怀冰.Protel DXP电路设计与制版实用教程(第2版).北京:人民邮电出版社.20093全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编(第一届-第五届).北京: 北京理工大学出版社.20044张琳娜,刘武发.传感检测技术及应用.北京:中国计量出版社.19995沈德金,陈粤初. MCS-51系列单片机接口电路与应用程序实例.北京:北京航空航天大学出版社.1990

45、6周立功等.增强型80C51单片机速成与实战.北京:北京航空航天大学出版社.2003.77马忠梅等.单片机的C语言应用程序设计.北京:北京航空航天大学出版社社.1998.108胡汉才.单片机原理及接口技术.北京:清华大学出版社社.19969李志全等.智能仪表设计原理及应用.北京:国防工业出版社.1998.610何立民MCS-51系列单片机应用系统设计.北京:北京航空航天大学出版社.1990.111姜威.实用电子系统设计基础.北京:北京理工大学出版社.200412李海滨,片春媛,许瑞雪.单片机技术课程设计与项目实例.北京:中国电力出版社.2009.1013周润景,徐宏伟,丁莉.单片机电路设计分析

46、与制作.北京:机械工业出版社.2010.814谭浩强.C程序设计.北京:清华大学出版社.200515陈杰,黄鸿 .传感器与检测技术.北京:高等教育出版社.200616高吉祥.全国大学生电子设计竞培训系列教程.北京:电子工业出版社.200717何小艇.电子系统设计(第三版).杭州:浙江大学出版社.200418张怀武.现代印制电路原理与工艺(第二版).北京:机械工业出版社.2010.119 刘同法,肖志刚,彭继卫.C51单片机C程序模板与应用工程实践.北京: 北京航空航天大学出版社.2010.820王辛之等.AT89系列单片机原理与接口技术.北京:北京航空航天大学出版社.2004.521郭天祥.51单片机C语言教程入门、提高、开发、拓展全攻略.北京:电子工业出版社.200922周向红.51单片机课程设计.武汉:华中科技大学出版社.2011.1- 23 -湖南科技大学本科生课程设计附录附录一:系统原理图附录二:仿真图附录三:系统程序#include /52系列头文件#include #define uchar unsigned char#define uint unsigned intsbit ds=P34;sbit dula=P26;sbit beep=P14; /定义蜂鸣器uint temp,t,w; /定义整型的温度数据uchar flag;float f_

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com