张鹏:基于AT89C51单片机的水温控制系统设计 正文第 1 页 共 25 页 1 引 言
1.1 单片机
1.1.1 单片机简介
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 随机存储器RAM 、只读存储器ROM 、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit ),常用英文字母的缩写MCU 表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU 的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU 集成在一个芯片中,使计算机系统更小更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL 的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片, 而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
1.1.2 单片机应用 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC 卡,民用豪华轿车的安全保障系统,录像机,摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 2 页 共 25 页 备的智能化管理及过程控制等领域
1.2课题研究的目和意义
随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。
温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中任何物理化学过程都紧密的与温度相关系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。
在实际的生产实验环境下,由于系统内部与外界的热交换是难以控制的,其他热源的干扰也是无法精确计算的,因此温度量的变化往往受到不可预测的外界环境扰动的影响。为了使系统与外界的能量交换尽可能的符合人们的要求,就需要采取其他手段来达到这样一个绝热的目的,例如可以让目标系统外部环境的温度与其内部温度同步变化。根据热力学第二定律,两个温度相同的系统之间是达到热平衡的,这样利用一个与目标系统温度同步的隔离层,就可以把目标系统与外界进行热隔离。
另外,在大部分实际的环境中,增温要比降温方便的多。因此,对温度的控制精度要求比较高的情况下,是不允许出现过冲现象的,即不允许实际温度超过控制的目标温度。特别是隔热效果很好的环境,温度一旦出现过冲,将难以很快把温度降下来。这是因为很多应用中只有加热环节,而没有冷却的装置。同样道理,对于只有冷却没有加热环节的应用中,实际温度低于控制的目标温度,对控制效果的影响也是很大的。没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度控制的要求都越来越高。可见,温度的测量和控制是非常重要的。
在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 3 页 共 25 页
制造和食品加工等诸多领域中,人们都需要对各类温度进行检测和控制。采用AT89C51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。因此,单片机对温度的控制问题是生产中经常会遇到的问题。
本论文以上述问题为出发点,设计实现了温度实时测量、显示、控制系统。本设计方案具有较高的测量精度,更加适合对温度精度要求较高的有关水温控制的行业,并希望通过本设计得到举一反三和触类旁通的效果。
1.3温度控制系统的国内外现状
通过网上查询、翻阅图书了解到目前国内外市场以单片机为核心的温度控制系统很多,而且方案灵活,且应用面比较广,可用于工业,养殖业化工业等领域,在生活当中的应用也比较广泛,如热水器,养殖,摄影业中显影液的温度控制等。以上出现的温度控制系统产品,根据其系统组成、使用技术、功能特点、技术指标。选出其中具有代表性的几种如下:
1恒温水箱
适用于蒸馏、浓缩干燥及恒温加热化学药品、生物制品、检查血清和生化实验,恒温培养以及对注射器和小型手术器械进行煮沸消毒之用。温控系统采用可靠的调节控制装置,感热性能强、灵敏度高、水温波动性、水温均匀性在±0.5℃。名称 型号 控制系统 控温范围 控温精度 内胆 额定功率(W) 工作室尺寸mm 电热恒温水箱 400 微机智能PID 控温 室温+5℃-65℃ 水温波动≤ ±0.5℃ 不锈钢 500 600X300X150 电热恒温水箱 600 微机智能PID 控温 室温+5℃-65℃ 水温波动≤ ±0.5℃ 不锈钢 300 420X180X100 三用电热恒温水箱 420 微机智能PID 控温 室温+5℃-99.9℃ 水温波动≤ ±0.5℃ 不锈钢 2000 600X300X150 三用电热恒温水箱 620 微机智能PID 控温 室温+5℃-99.9℃ 水温波动≤ ±0.5℃
2 小型热水锅炉温度控制系统
该设计解决了北方冬季分散取暖采用人工定时烧水供热,耗煤量大,浪费人力,
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 4 页 共 25 页
温度变化大的问题。设计方案硬件方面采用MCS-51系列8031单片机为核心,扩展程序存储器2732,AD590温度检测元件测量环境温度和供水温度,ADC0809进行模数转换,同向驱动器7407、光电耦合器及9103的功放完成对电机的控制。软件方面建立了供暖系统的控制系统数学模型。本系统硬件电路简单, 软件程序易于实现。它可用于一台或多台小型取暖热水锅炉的温度控制, 可使居室温度基本恒定, 节煤, 节电, 省人力。
3泳池水温控制系统
如今游泳池的各方面都有严格的限制和要求,在水温方面也有严格的要求,严格的水温有助于控制细菌病毒污染,如今的温水游泳池的水温一般常年保持于28℃左右。
游泳池水温控制系统也可以由基于单片机的温度控制系统来完成,可以运用AT89C51单片机及温度传感器来控制,当温度低于设定下限温度时,系统自动按程序设计的顺序启动继电器使热水器对游泳池水进行加温,使温度上升,当温度达到设定温度时,停止加热,使使用者享受到舒适的水温。
1.4温度控制系统方案
结合本设计的要求和技术指标,通过对系统大致程序量的估计和系统工作速度的估计以及I/O口需求量的估计,考虑价格因素。选定AT89C51单片机作为系统的主要控制芯片,DS18B20温度传感器,总线驱动器74HC245,4位七段式数码管7SEG 实现此水温控制系统,当水温低于预设温度值时系统开始加热,当温度达到预设温度值时自动停止加热,范围为0到99℃。
1.5论文的主要任务和所做的工作
本论文主要是完成一种低成本、低价格、功能齐全、及温度测量、温度显示、温度控制于一体的单片机温度控制系统的理论设计。包括硬件电路和元器件的选择。
根据本设计所要完成的任务本论文完成了如下工作:
1介绍了研究和设计的背景和意义,调查并综述了当前温度控系统市场的国内外现状。
2 提出了符合设计要求的高精度温度控制系统方案,并阐述了其工作原理。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 5 页 共 25 页
3 完成了硬件电路的设计,它包括温度检测放大传送电路;包含AT89C51单片机,温度传感器DS18B20,总线驱动器74HC245来控制水温,4位七段式数码管7SEG 来显示温度,红色发光二极管来作为警报以实现此系统。
4 基本完成了软件部分设计,、温度控制显示,数字滤波,数据处理,指示灯以及电路仿真设计。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 6 页 共 25 页 2 单片机温度控制系统总体设计及原理
2.1系统主要功能
(1)对水温的温度检测和升温、恒温控制。
(2)显示检测温度值。
(3)当水温没达到设定值时指示灯会亮。
(4)设定和修改要保持的温度值。
2.2系统工作原理
在温控系统中,需要将温度的变化转换为对应的电信号的变化,由于DS18B20的结构简单制造容易,测量范围广,在高温测量中有较高的精度,所以选用DS18B20做温度传感器,测量温度范围为 -55°C~+125°C ,在-10~+85°C 范围内, 精度为±0.5°C 。。 利用单片机AT89C51控制DS18B20温度传感器对水温的控制,当水温低于预设温度值时系统开始加热(点亮红色发光二极管表示加热状态),当温度达到预设温度值时自动停止加热。预设温度值和实测温度值分别由两个4位数码管显示,范围为0到99 °C 。
工作流程说明如下:
分别调节十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预设温度时,红色发光二极管点亮表示进入热状态,调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便会自动熄灭,表示停止加热。
2.3 系统的主要技术指标
测温范围 :0℃-99℃
温度分辨率:±0.5V
LED 显示位数:4
2.4 系统的总体结构
系统的硬件电路有温度检测、信号放大、LED 显示、单稳态触发电路、传感器,
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 7 页 共 25 页 警报电路等部分组成,系统结构图见图2.1
图2.1 系统框图
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 8 页 共 25 页 3 温度控制系统的硬件设计
3.1 所选的元器件
表3-1 元器件列表
3.2 单片机
3.2.1 单片机的选择
系统采用Atmel 公司的AT89C51型单片机,AT89C51是一种带4K 字节闪烁可编程可擦除只读存储器(FPEROM —Falsh Programmable and Erasable Read Only Memory )的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,Atmel 的AT89C51是一种高效微控制器,AT89C2051是
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 9 页 共 25 页
它的一种精简版本。AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51单片机有众多接口,如图3.1所示
图3.1 单片机AT89C51
3.2.2 单片机的主要特性
·与MCS-51 兼容
·4K 字节可编程闪烁存储器
·寿命:1000写/擦循环
·数据保留时间:10年
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 10 页 共 25 页 ·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
3.3 测量放大电路
3.3.1温度传感器的选择及基本工作原理
测量温度的方法虽然很多, 但从感受温度的途径来分, 不外两大类:一类是接触式的, 即通过测温元件与被测物体的接触而感知物体的温度; 另一类是非接触的, 即通过接收被测物体发出的辐射热来判断温度。由于本系统测量的温度值在:0—99所以选用经济又实用的DS18B20,如图3.2。
.
图3.2 DS18B20传感器
Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 "一线总线" 接口的温度传感器,在其内部使用了在板(ON-B0ARD )专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点,其内部结构如图3.3所示
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 11 页 共 25 页
图3.3 DS18B20内部结构
DS18B20的工作原理:DS18B20的读写时序和测温原理与DS1820相同,只是得
到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由原来的2s 减为750ms 。
DS18B20的测温原理,温度系数晶振的振荡频率受温度影响很小,用于产生固
定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值,其测温流程图如图3.4所示
图3.4 DS18B20测温流程
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 12 页 共 25 页
DS18B20的DS18B20的性能特点如下:
1) 独特的单线接口仅需要一个端口引脚进行通信;
2) 多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
3) 无须外部器件;
4) 可通过数据线供电,电压范围为3.0~5.5V ;
5) 零待机功耗;
6) 温度以3位数字显示;
7) 用户可定义报警设置;
8) 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
9) 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常
工作。
3.3.2放大电路的设计 系统采用总线驱动器74HC245来加强引脚信号,增强驱动,达到放大信号的
作用,第1脚DIR ,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第2~9脚“A”信号输入输出端,A1=B1、、、、、、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。第19脚OE ,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用,第10脚GND ,电源地。如图3.3
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 13 页 共 25 页
图3.3 总线驱动器74HC245
3.4数码显示
3.4.1数码管的选择
系统采用2个4位七段式数码管7SEG-MPX4-CA-BLUE 来实现温度的显示,显示
范围为0-99℃,一个显示水的实际测量温度,另一个与总线驱动器74HC245相连的显示水的预设温度,如图
3,.4
图3.4 七段式数码管7SEG-MPX4-CA-BLUE
3.4.2 数码管工作原理
4位七段式数码管7SEG-MPX4-CA-BLUE 由多个发光二极管封装在一起组成的器
件,引线已在内部连接完成,只需引出它们的各个笔画,公共电极。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 14 页 共 25 页
该数码管为动态显示驱动,此为单片机中应用最广泛的一种显示方式之一,动
态驱动是将所有数码管的8个显示笔划.
"a,b,c,d,e,f,g,dp" 的同名端连在一起,另外为每个数码管的公共极COM 增
加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms ,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
3.5指示灯显示
系统采用光敏二极管来判断水温是否达到要求,当DS18B20的温度低于预设温
度时,红色发光二极管点亮表示进入热状态,调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便会自动熄灭,表示停止加热。如图
3.5
图3.5 光敏二极管
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 15 页 共 25 页 4 温度控制系统的软件设计
4.1温度控制主程序流程简图
该系统比较简明,不是很复杂,不像其他很多种类的单片机,此程序不需要数
模转换器,数据在单片机中把温度信号转换为数字信号,并且通过系统显示在2个4位七段式数码管上,主程序的流程图如图4.1所示,利用单片机AT89C51控制DS18B20温度传感器对水温的控制,当水温低于预设温度值时系统开始加热(点亮红色发光二极管表示加热状态),当温度达到预设温度值时自动停止加热。预设温度值和实测温度值分别由两个3位数码管显示,范围为0到99摄氏度。
分别调节十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预
设温度时,红色发光二极管点亮表示进入热状态,调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便会自动熄灭,表示停止加热。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 16 页 共 25 页
图4.1 主程序流程图
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 17 页 共 25 页
4.2 程序调试仿真
4.2.1 选择调试方法
为了让程序运行出来,需要进行调试,以确定程序的正确性和完整性,有许多
的方法可以,这里在老师的教导下我选用了一款软件——Proteus 。
4.2.2 Proteus介绍
Proteus 软件是来自英国Labcenter electronics公司的EDA 工具软件。
Proteus 软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA 工具
一样的原理布图、PCB 自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus 为您建立了完备的电子设计开发环境!尤其重要的是 Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus 专业版也非常便宜,人人用得起,对高校还有更多优惠。
Proteus 组合了高级原理布图、混合模式SPICE 仿真,PCB 设计以及自动布线来
实现一个完整的电子设计系统。此系统受益于15年来的持续开发, 被《电子世界》
在其对PCB 设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。
Proteus 产品系列也包含了我们革命性的VSM 技术, 用户可以对基于微控制器
的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
Proteus 的ISIS 是一款Labcenter 出品的电路分析实物仿真系统,可仿真各种电
路和IC ,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。
该软件的特点:
① 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明
显的优势。
②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS 一232动态仿真、1 C 调试器、SPI 调试器、键盘和LCD 系统仿真的功能;有
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 18 页 共 25 页 各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
③目前支持的单片机类型有:68000系列、8051系列、A VR 系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。④ 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE 分析于一身的仿真软件,功能极其强大 ,可仿真51、A VR 、PIC 。
4.2.3 调试仿真过程
Proteus 程序在调试,仿真时不仅能观察到程序执行过程中单片机寄存器和存储器等内容变化,还可从工程的角度直观地看到外围电路工作情况,非常接近工程应用,还能与第三方集成开发环境进行联合仿真调试,给予使用者莫大便利,图
4.2为基于Proteus ISIS仿真软件的单片机系统设计流程图
图4.2 基于Proteus ISIS仿真软件的单片机系统设计流程图
本设计运用汇编程序编写,首先在Proteus 软件中的各个元件库中选取所需的各种元器件,并且修改元器件参数,按照要求和需要将他们连接起来,完成电路原理图,原理图的设计流程如图4.3所示,了解各元件名称及作用。然后用外部程序编辑调试软件Keil 进行编辑,本设计用汇编程序编写源程序代码(见附录),编写
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 19 页 共 25 页 完成后,需要将代码加载到单片机中,检查确定程序及电路没有问题之后,就可以进行仿真调试,若按照预定过程完成,则说明仿真设计正确,设计完成。
图4.3 原理图的设计流程
选择元器件时,必须了解各个元气件的英文名称以及它们的用途,才能在元器库中找出来,再利用Proteus 仿真软件把这些元件布局,并且按照电路连接起来,如图4.4为系统的原理图。
在选取电阻时,也要选取适当的阻止,本设计选取的电阻只是为了适当的限流,在这里我统一选取了10K 的电阻。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 20 页 共 25 页
图4.4 系统原理图
温度传感器DS18B201接口接地,3接口与单片机AT89C51接口17相连,同时,单片机与三个用于增加驱动功率的非门相连,之后连接七段式数码管7SEG-MPX4-CA-BLUE 把温度显示出来,把信号传给光敏三极管,以此来显示是否处于加热状态。
系统运用了2个总线驱动器74HC245,U2分别连接一个七段式数码管7SEG-MPX4-CA-BLUE 显示预设温度,接口19接地,1接口引出一条线分别与电源,按钮及单片机连接,另一个总线驱动器74HC245U3连接电源与按钮。
U1,U2之间为了限制电流,必须加入电阻,因此连入8个默认阻止的电阻以达到保护显示器的目的。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 21 页 共 25 页
4.2.4 运行仿真程序
程序完成,按下运行键,分别调节十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预设温度时,红色发光二极管点亮表示进入热状态,调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便会自动熄灭,表示停止加热,此时仿真已经完成。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 22 页 共 25 页
全 文 结 论
本设计为实现水温的控制系统,选定AT89C51单片机作为系统的主要控制芯片, DS18B20作为系统的温度传感器,采用总线驱动器74HC245来加强引脚信号,增强驱动,达到放大信号的作用,采用2个4位七段式数码管7SEG-MPX4-CA-BLUE 来实现温度的显示,显示范围为0-99℃,一个显示水的实际测量温度,另一个与总线驱动器74HC245相连的显示水的预设温度。系统采用光敏二极管来判断水温是否达到要求,当DS18B20的温度低于预设温度时,红色发光二极管点亮表示进入热状态,调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便会自动熄灭,表示停止加热。
通过Proteus 仿真软件来实现系统的调试仿真运行,以便更方便地判断系统是否正确,是否完整,也能让我们更直观地认识此系统。
随着社会的发展,科学的进步,各行各业都在不断的进步,对设备以及条件的要求也越来越高,对温度控制的需求和要求也会越来越高,单片机普遍体积较小,重量轻,价格低廉,较为安全可靠,人们可以通过学习一些专业基础知识以后都能靠自己的能力来设计自己所需的单片机应用系统。本文的水温控制系统,只是单片机广泛应用的一例,相信日后单片机的应用会更加的广泛。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 23 页 共 25 页
致 谢
在做毕业设计的几个月时间是我大学生涯中最有价值的一段时光。这里有治学严谨而不失亲切的郁卫华老师,有互相帮助的同学,更有向上、融洽的学习生活氛围。借此论文之际,我想向所有人表示我的谢意。
首先感谢郁卫华老师,本论文是在郁老师的指导下修改完成的。在此,要对她的细心帮助和指导表示由衷的感谢。在这段时间里,我从她身上不仅学到了许多的专业知识,更感受到了她在工作中的兢兢业业,生活中的平易近人。此外,她严谨的治学态度和忘我的工作精神值得我去学习。
再次要感谢我们班级的其他同学,在我做毕业设计过程中,在软件部分的设计过程中,他们的指导给予了我极大的帮助,使我对整个软件部分的设计思路有了总体的把握,并耐心的帮我解决了许多实际问题,使我有了很大收获。
最后向所有给予我帮助的老师、同学和朋友表示真心的感谢,谢谢你们的帮助,谢谢你们的支持!
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 24 页 共 25 页
参 考 文 献
[1] 何立民. 单片机应用文集 [M]. 北京:航空航天大学出版社,1994,89~130
[2] 涂时亮, 张友德. 单片微机控制技术 [M]. 上海:复旦大学出版社,1994,63~90
[3] 翁思义,杨平. 自动控制原理 [M]. 中国电力出版社,2001, 235~250
[4] 向婉成. 控制仪表与装置 [M]. 机械工业出版社,1999, 312~340
[5] 沈红卫. 单片机应用系统设计实例与分析 [M]. 北京:航空航天大学出版社2001,298~312
[6] 陈明荧. 8051单片机课程设计实训教材 [M]. 北京:清华大学出版社 2004,
264~280
[7] 胡汉才. 单片机原理及其接口技术 [M]. 北京:清华大学出版社 1995, 89~131
[8] IEEE Design Automation Standard Committee,EEE Standard Hardware
Description Language based on Verilog Hardware Description Language IEEE 1996
[9] ModelSim EE/PLUS Reference Manual,Version 5 Model Technology Incorporated
[10] Simplicity Synthesis Reference Manual. Version 6.0,Simplicity Inc.May 2000
[11] Katsuhiko Ogata. Modem Control Engineering. Publishing house of electronics industry 2000, 196~202
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 25 页 共 25 页 附 录
电路原理图
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 1 页 共 25 页 1 引 言
1.1 单片机
1.1.1 单片机简介
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 随机存储器RAM 、只读存储器ROM 、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit ),常用英文字母的缩写MCU 表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU 的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU 集成在一个芯片中,使计算机系统更小更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL 的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片, 而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
1.1.2 单片机应用 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC 卡,民用豪华轿车的安全保障系统,录像机,摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 2 页 共 25 页 备的智能化管理及过程控制等领域
1.2课题研究的目和意义
随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。
温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。自然界中任何物理化学过程都紧密的与温度相关系。在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。
在实际的生产实验环境下,由于系统内部与外界的热交换是难以控制的,其他热源的干扰也是无法精确计算的,因此温度量的变化往往受到不可预测的外界环境扰动的影响。为了使系统与外界的能量交换尽可能的符合人们的要求,就需要采取其他手段来达到这样一个绝热的目的,例如可以让目标系统外部环境的温度与其内部温度同步变化。根据热力学第二定律,两个温度相同的系统之间是达到热平衡的,这样利用一个与目标系统温度同步的隔离层,就可以把目标系统与外界进行热隔离。
另外,在大部分实际的环境中,增温要比降温方便的多。因此,对温度的控制精度要求比较高的情况下,是不允许出现过冲现象的,即不允许实际温度超过控制的目标温度。特别是隔热效果很好的环境,温度一旦出现过冲,将难以很快把温度降下来。这是因为很多应用中只有加热环节,而没有冷却的装置。同样道理,对于只有冷却没有加热环节的应用中,实际温度低于控制的目标温度,对控制效果的影响也是很大的。没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度控制的要求都越来越高。可见,温度的测量和控制是非常重要的。
在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 3 页 共 25 页
制造和食品加工等诸多领域中,人们都需要对各类温度进行检测和控制。采用AT89C51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。因此,单片机对温度的控制问题是生产中经常会遇到的问题。
本论文以上述问题为出发点,设计实现了温度实时测量、显示、控制系统。本设计方案具有较高的测量精度,更加适合对温度精度要求较高的有关水温控制的行业,并希望通过本设计得到举一反三和触类旁通的效果。
1.3温度控制系统的国内外现状
通过网上查询、翻阅图书了解到目前国内外市场以单片机为核心的温度控制系统很多,而且方案灵活,且应用面比较广,可用于工业,养殖业化工业等领域,在生活当中的应用也比较广泛,如热水器,养殖,摄影业中显影液的温度控制等。以上出现的温度控制系统产品,根据其系统组成、使用技术、功能特点、技术指标。选出其中具有代表性的几种如下:
1恒温水箱
适用于蒸馏、浓缩干燥及恒温加热化学药品、生物制品、检查血清和生化实验,恒温培养以及对注射器和小型手术器械进行煮沸消毒之用。温控系统采用可靠的调节控制装置,感热性能强、灵敏度高、水温波动性、水温均匀性在±0.5℃。名称 型号 控制系统 控温范围 控温精度 内胆 额定功率(W) 工作室尺寸mm 电热恒温水箱 400 微机智能PID 控温 室温+5℃-65℃ 水温波动≤ ±0.5℃ 不锈钢 500 600X300X150 电热恒温水箱 600 微机智能PID 控温 室温+5℃-65℃ 水温波动≤ ±0.5℃ 不锈钢 300 420X180X100 三用电热恒温水箱 420 微机智能PID 控温 室温+5℃-99.9℃ 水温波动≤ ±0.5℃ 不锈钢 2000 600X300X150 三用电热恒温水箱 620 微机智能PID 控温 室温+5℃-99.9℃ 水温波动≤ ±0.5℃
2 小型热水锅炉温度控制系统
该设计解决了北方冬季分散取暖采用人工定时烧水供热,耗煤量大,浪费人力,
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 4 页 共 25 页
温度变化大的问题。设计方案硬件方面采用MCS-51系列8031单片机为核心,扩展程序存储器2732,AD590温度检测元件测量环境温度和供水温度,ADC0809进行模数转换,同向驱动器7407、光电耦合器及9103的功放完成对电机的控制。软件方面建立了供暖系统的控制系统数学模型。本系统硬件电路简单, 软件程序易于实现。它可用于一台或多台小型取暖热水锅炉的温度控制, 可使居室温度基本恒定, 节煤, 节电, 省人力。
3泳池水温控制系统
如今游泳池的各方面都有严格的限制和要求,在水温方面也有严格的要求,严格的水温有助于控制细菌病毒污染,如今的温水游泳池的水温一般常年保持于28℃左右。
游泳池水温控制系统也可以由基于单片机的温度控制系统来完成,可以运用AT89C51单片机及温度传感器来控制,当温度低于设定下限温度时,系统自动按程序设计的顺序启动继电器使热水器对游泳池水进行加温,使温度上升,当温度达到设定温度时,停止加热,使使用者享受到舒适的水温。
1.4温度控制系统方案
结合本设计的要求和技术指标,通过对系统大致程序量的估计和系统工作速度的估计以及I/O口需求量的估计,考虑价格因素。选定AT89C51单片机作为系统的主要控制芯片,DS18B20温度传感器,总线驱动器74HC245,4位七段式数码管7SEG 实现此水温控制系统,当水温低于预设温度值时系统开始加热,当温度达到预设温度值时自动停止加热,范围为0到99℃。
1.5论文的主要任务和所做的工作
本论文主要是完成一种低成本、低价格、功能齐全、及温度测量、温度显示、温度控制于一体的单片机温度控制系统的理论设计。包括硬件电路和元器件的选择。
根据本设计所要完成的任务本论文完成了如下工作:
1介绍了研究和设计的背景和意义,调查并综述了当前温度控系统市场的国内外现状。
2 提出了符合设计要求的高精度温度控制系统方案,并阐述了其工作原理。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 5 页 共 25 页
3 完成了硬件电路的设计,它包括温度检测放大传送电路;包含AT89C51单片机,温度传感器DS18B20,总线驱动器74HC245来控制水温,4位七段式数码管7SEG 来显示温度,红色发光二极管来作为警报以实现此系统。
4 基本完成了软件部分设计,、温度控制显示,数字滤波,数据处理,指示灯以及电路仿真设计。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 6 页 共 25 页 2 单片机温度控制系统总体设计及原理
2.1系统主要功能
(1)对水温的温度检测和升温、恒温控制。
(2)显示检测温度值。
(3)当水温没达到设定值时指示灯会亮。
(4)设定和修改要保持的温度值。
2.2系统工作原理
在温控系统中,需要将温度的变化转换为对应的电信号的变化,由于DS18B20的结构简单制造容易,测量范围广,在高温测量中有较高的精度,所以选用DS18B20做温度传感器,测量温度范围为 -55°C~+125°C ,在-10~+85°C 范围内, 精度为±0.5°C 。。 利用单片机AT89C51控制DS18B20温度传感器对水温的控制,当水温低于预设温度值时系统开始加热(点亮红色发光二极管表示加热状态),当温度达到预设温度值时自动停止加热。预设温度值和实测温度值分别由两个4位数码管显示,范围为0到99 °C 。
工作流程说明如下:
分别调节十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预设温度时,红色发光二极管点亮表示进入热状态,调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便会自动熄灭,表示停止加热。
2.3 系统的主要技术指标
测温范围 :0℃-99℃
温度分辨率:±0.5V
LED 显示位数:4
2.4 系统的总体结构
系统的硬件电路有温度检测、信号放大、LED 显示、单稳态触发电路、传感器,
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 7 页 共 25 页 警报电路等部分组成,系统结构图见图2.1
图2.1 系统框图
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 8 页 共 25 页 3 温度控制系统的硬件设计
3.1 所选的元器件
表3-1 元器件列表
3.2 单片机
3.2.1 单片机的选择
系统采用Atmel 公司的AT89C51型单片机,AT89C51是一种带4K 字节闪烁可编程可擦除只读存储器(FPEROM —Falsh Programmable and Erasable Read Only Memory )的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,Atmel 的AT89C51是一种高效微控制器,AT89C2051是
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 9 页 共 25 页
它的一种精简版本。AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51单片机有众多接口,如图3.1所示
图3.1 单片机AT89C51
3.2.2 单片机的主要特性
·与MCS-51 兼容
·4K 字节可编程闪烁存储器
·寿命:1000写/擦循环
·数据保留时间:10年
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 10 页 共 25 页 ·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
3.3 测量放大电路
3.3.1温度传感器的选择及基本工作原理
测量温度的方法虽然很多, 但从感受温度的途径来分, 不外两大类:一类是接触式的, 即通过测温元件与被测物体的接触而感知物体的温度; 另一类是非接触的, 即通过接收被测物体发出的辐射热来判断温度。由于本系统测量的温度值在:0—99所以选用经济又实用的DS18B20,如图3.2。
.
图3.2 DS18B20传感器
Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 "一线总线" 接口的温度传感器,在其内部使用了在板(ON-B0ARD )专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点,其内部结构如图3.3所示
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 11 页 共 25 页
图3.3 DS18B20内部结构
DS18B20的工作原理:DS18B20的读写时序和测温原理与DS1820相同,只是得
到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由原来的2s 减为750ms 。
DS18B20的测温原理,温度系数晶振的振荡频率受温度影响很小,用于产生固
定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值,其测温流程图如图3.4所示
图3.4 DS18B20测温流程
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 12 页 共 25 页
DS18B20的DS18B20的性能特点如下:
1) 独特的单线接口仅需要一个端口引脚进行通信;
2) 多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
3) 无须外部器件;
4) 可通过数据线供电,电压范围为3.0~5.5V ;
5) 零待机功耗;
6) 温度以3位数字显示;
7) 用户可定义报警设置;
8) 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
9) 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常
工作。
3.3.2放大电路的设计 系统采用总线驱动器74HC245来加强引脚信号,增强驱动,达到放大信号的
作用,第1脚DIR ,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第2~9脚“A”信号输入输出端,A1=B1、、、、、、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。第19脚OE ,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用,第10脚GND ,电源地。如图3.3
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 13 页 共 25 页
图3.3 总线驱动器74HC245
3.4数码显示
3.4.1数码管的选择
系统采用2个4位七段式数码管7SEG-MPX4-CA-BLUE 来实现温度的显示,显示
范围为0-99℃,一个显示水的实际测量温度,另一个与总线驱动器74HC245相连的显示水的预设温度,如图
3,.4
图3.4 七段式数码管7SEG-MPX4-CA-BLUE
3.4.2 数码管工作原理
4位七段式数码管7SEG-MPX4-CA-BLUE 由多个发光二极管封装在一起组成的器
件,引线已在内部连接完成,只需引出它们的各个笔画,公共电极。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 14 页 共 25 页
该数码管为动态显示驱动,此为单片机中应用最广泛的一种显示方式之一,动
态驱动是将所有数码管的8个显示笔划.
"a,b,c,d,e,f,g,dp" 的同名端连在一起,另外为每个数码管的公共极COM 增
加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms ,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
3.5指示灯显示
系统采用光敏二极管来判断水温是否达到要求,当DS18B20的温度低于预设温
度时,红色发光二极管点亮表示进入热状态,调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便会自动熄灭,表示停止加热。如图
3.5
图3.5 光敏二极管
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 15 页 共 25 页 4 温度控制系统的软件设计
4.1温度控制主程序流程简图
该系统比较简明,不是很复杂,不像其他很多种类的单片机,此程序不需要数
模转换器,数据在单片机中把温度信号转换为数字信号,并且通过系统显示在2个4位七段式数码管上,主程序的流程图如图4.1所示,利用单片机AT89C51控制DS18B20温度传感器对水温的控制,当水温低于预设温度值时系统开始加热(点亮红色发光二极管表示加热状态),当温度达到预设温度值时自动停止加热。预设温度值和实测温度值分别由两个3位数码管显示,范围为0到99摄氏度。
分别调节十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预
设温度时,红色发光二极管点亮表示进入热状态,调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便会自动熄灭,表示停止加热。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 16 页 共 25 页
图4.1 主程序流程图
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 17 页 共 25 页
4.2 程序调试仿真
4.2.1 选择调试方法
为了让程序运行出来,需要进行调试,以确定程序的正确性和完整性,有许多
的方法可以,这里在老师的教导下我选用了一款软件——Proteus 。
4.2.2 Proteus介绍
Proteus 软件是来自英国Labcenter electronics公司的EDA 工具软件。
Proteus 软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA 工具
一样的原理布图、PCB 自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus 为您建立了完备的电子设计开发环境!尤其重要的是 Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus 专业版也非常便宜,人人用得起,对高校还有更多优惠。
Proteus 组合了高级原理布图、混合模式SPICE 仿真,PCB 设计以及自动布线来
实现一个完整的电子设计系统。此系统受益于15年来的持续开发, 被《电子世界》
在其对PCB 设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。
Proteus 产品系列也包含了我们革命性的VSM 技术, 用户可以对基于微控制器
的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
Proteus 的ISIS 是一款Labcenter 出品的电路分析实物仿真系统,可仿真各种电
路和IC ,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。
该软件的特点:
① 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明
显的优势。
②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS 一232动态仿真、1 C 调试器、SPI 调试器、键盘和LCD 系统仿真的功能;有
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 18 页 共 25 页 各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
③目前支持的单片机类型有:68000系列、8051系列、A VR 系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。④ 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE 分析于一身的仿真软件,功能极其强大 ,可仿真51、A VR 、PIC 。
4.2.3 调试仿真过程
Proteus 程序在调试,仿真时不仅能观察到程序执行过程中单片机寄存器和存储器等内容变化,还可从工程的角度直观地看到外围电路工作情况,非常接近工程应用,还能与第三方集成开发环境进行联合仿真调试,给予使用者莫大便利,图
4.2为基于Proteus ISIS仿真软件的单片机系统设计流程图
图4.2 基于Proteus ISIS仿真软件的单片机系统设计流程图
本设计运用汇编程序编写,首先在Proteus 软件中的各个元件库中选取所需的各种元器件,并且修改元器件参数,按照要求和需要将他们连接起来,完成电路原理图,原理图的设计流程如图4.3所示,了解各元件名称及作用。然后用外部程序编辑调试软件Keil 进行编辑,本设计用汇编程序编写源程序代码(见附录),编写
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 19 页 共 25 页 完成后,需要将代码加载到单片机中,检查确定程序及电路没有问题之后,就可以进行仿真调试,若按照预定过程完成,则说明仿真设计正确,设计完成。
图4.3 原理图的设计流程
选择元器件时,必须了解各个元气件的英文名称以及它们的用途,才能在元器库中找出来,再利用Proteus 仿真软件把这些元件布局,并且按照电路连接起来,如图4.4为系统的原理图。
在选取电阻时,也要选取适当的阻止,本设计选取的电阻只是为了适当的限流,在这里我统一选取了10K 的电阻。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 20 页 共 25 页
图4.4 系统原理图
温度传感器DS18B201接口接地,3接口与单片机AT89C51接口17相连,同时,单片机与三个用于增加驱动功率的非门相连,之后连接七段式数码管7SEG-MPX4-CA-BLUE 把温度显示出来,把信号传给光敏三极管,以此来显示是否处于加热状态。
系统运用了2个总线驱动器74HC245,U2分别连接一个七段式数码管7SEG-MPX4-CA-BLUE 显示预设温度,接口19接地,1接口引出一条线分别与电源,按钮及单片机连接,另一个总线驱动器74HC245U3连接电源与按钮。
U1,U2之间为了限制电流,必须加入电阻,因此连入8个默认阻止的电阻以达到保护显示器的目的。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 21 页 共 25 页
4.2.4 运行仿真程序
程序完成,按下运行键,分别调节十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预设温度时,红色发光二极管点亮表示进入热状态,调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便会自动熄灭,表示停止加热,此时仿真已经完成。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 22 页 共 25 页
全 文 结 论
本设计为实现水温的控制系统,选定AT89C51单片机作为系统的主要控制芯片, DS18B20作为系统的温度传感器,采用总线驱动器74HC245来加强引脚信号,增强驱动,达到放大信号的作用,采用2个4位七段式数码管7SEG-MPX4-CA-BLUE 来实现温度的显示,显示范围为0-99℃,一个显示水的实际测量温度,另一个与总线驱动器74HC245相连的显示水的预设温度。系统采用光敏二极管来判断水温是否达到要求,当DS18B20的温度低于预设温度时,红色发光二极管点亮表示进入热状态,调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便会自动熄灭,表示停止加热。
通过Proteus 仿真软件来实现系统的调试仿真运行,以便更方便地判断系统是否正确,是否完整,也能让我们更直观地认识此系统。
随着社会的发展,科学的进步,各行各业都在不断的进步,对设备以及条件的要求也越来越高,对温度控制的需求和要求也会越来越高,单片机普遍体积较小,重量轻,价格低廉,较为安全可靠,人们可以通过学习一些专业基础知识以后都能靠自己的能力来设计自己所需的单片机应用系统。本文的水温控制系统,只是单片机广泛应用的一例,相信日后单片机的应用会更加的广泛。
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 23 页 共 25 页
致 谢
在做毕业设计的几个月时间是我大学生涯中最有价值的一段时光。这里有治学严谨而不失亲切的郁卫华老师,有互相帮助的同学,更有向上、融洽的学习生活氛围。借此论文之际,我想向所有人表示我的谢意。
首先感谢郁卫华老师,本论文是在郁老师的指导下修改完成的。在此,要对她的细心帮助和指导表示由衷的感谢。在这段时间里,我从她身上不仅学到了许多的专业知识,更感受到了她在工作中的兢兢业业,生活中的平易近人。此外,她严谨的治学态度和忘我的工作精神值得我去学习。
再次要感谢我们班级的其他同学,在我做毕业设计过程中,在软件部分的设计过程中,他们的指导给予了我极大的帮助,使我对整个软件部分的设计思路有了总体的把握,并耐心的帮我解决了许多实际问题,使我有了很大收获。
最后向所有给予我帮助的老师、同学和朋友表示真心的感谢,谢谢你们的帮助,谢谢你们的支持!
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 24 页 共 25 页
参 考 文 献
[1] 何立民. 单片机应用文集 [M]. 北京:航空航天大学出版社,1994,89~130
[2] 涂时亮, 张友德. 单片微机控制技术 [M]. 上海:复旦大学出版社,1994,63~90
[3] 翁思义,杨平. 自动控制原理 [M]. 中国电力出版社,2001, 235~250
[4] 向婉成. 控制仪表与装置 [M]. 机械工业出版社,1999, 312~340
[5] 沈红卫. 单片机应用系统设计实例与分析 [M]. 北京:航空航天大学出版社2001,298~312
[6] 陈明荧. 8051单片机课程设计实训教材 [M]. 北京:清华大学出版社 2004,
264~280
[7] 胡汉才. 单片机原理及其接口技术 [M]. 北京:清华大学出版社 1995, 89~131
[8] IEEE Design Automation Standard Committee,EEE Standard Hardware
Description Language based on Verilog Hardware Description Language IEEE 1996
[9] ModelSim EE/PLUS Reference Manual,Version 5 Model Technology Incorporated
[10] Simplicity Synthesis Reference Manual. Version 6.0,Simplicity Inc.May 2000
[11] Katsuhiko Ogata. Modem Control Engineering. Publishing house of electronics industry 2000, 196~202
张鹏:基于AT89C51单片机的水温控制系统设计 正文第 25 页 共 25 页 附 录
电路原理图