基于单片机水温控制系统的设计.doc
《基于单片机水温控制系统的设计.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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 水温 控制系统 设计
限制150内