1、- -基于51单片机恒温控制器的设计 Microcontroller-based temperature controller design :杜治协学号:20213313专业:机械设计制造及其自动化学制:4年指导教师:王新年 理工大学高科学院摘要随着现代工业的逐步开展,在工业生产中,温度、压力、流量和液位是四种 最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、 化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、 热处理炉、反响炉和锅炉的温度进展控制。然而,用常规的控制方法,潜力是有 限的,难以满足较高的性能要求。采用单片机来对它们进展控制不仅具有控
2、制方 便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能 够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产 中经常会遇到的控制问题。 本系统实现了单片机AT89C51 对水温进展控制,采用AD590 作为温度传感器, 通过按键、数码显示等组成人机交互接口来实现设置和调节初始温度值。系统启 动后,数码管显示测量到的温度值,当加热到设定值后立刻报警。另外,本系统 通过软件实现对按键误差、加热过冲的调整,以提高系统的平安性、可靠性和稳 定性。本文详细地表达了用 MCS-51 单片机设计实验室恒温控制系统的硬件电路 及软件实现,细致地介绍了设计构图,各功能模块
3、的程序流程图以及程序清单该 装置控制温度围广泛,可靠性强,灵敏度高,使用灵活 关键词:DS18B20,单片机,恒温控制,单总线传输方式 目录 摘要. 1 目录. 2 一 引言. 3 二 方案设计与论证 . 3 三 系统总体设计 . 4 1. 元器件根本知识 . 4 1 单片机AT89S51 . 4 2 模数转换器AD0809 . 7 3 温度传感器 AD590 . 9 4 数码管LED 显示器 . 12 2. 原理图及功能实现 . 13 1原理图 . 13 2功能实现 . 13 四 软件详细设计 . 15 1.主程序软件流程图 . 15 2. 源代码. 16 五 实验过程中经历及心得 . 18
4、 1.实验过程中出现的问题及解决方法 . 18 2. ADC0809 的CLK 信号与单片机的经典接法 . 19 六 致 . 20 七 参考文献 . 21 一 引言 随着社会主义现代化的开展,在科学技术突飞猛进的今天,人工智能起不不 可无视的作用。尤其是各种智能化的仪器、仪表在农、工业的广泛应用给社会带 来了极大的便利。本文就是一个利用温度来实现简单智能控制的例子。它完成了 从温度的采集、转换、显示以及控制的一系列任务。由于时间关系,本文并未深 入探讨温度的具体实例。例如根据温度来控制热水器、电风扇等与温度有关的设 备。但是它提供了一个通过温度来控制设备的根本思想和原理。相信能在实际应 用中为
5、我们的生活带来更大的便利。 二 方案设计与论证 根据题目的要求,我们提出了以下的两种方案: 1方案一:此方案是采用传统的模拟控制方法,选用模拟电路,用电位器设 定给定值,反响的温度值与给定的温度值比拟后,决定加热或者不加热。器特点 是电路简单,易于实现,但是系统所得结果的精度不高并且调节动作频繁,系统 静差大,不稳定。系统受环境的影响大,不能实现复杂的控制算法,而且不易实 现对系统的控制及对温度的显示,人机交换性能差。 2方案二:采用单片机89s51 为核心。采用了温度传感器AD590 采集温度变 化信号,并通过单片机处理后去控制温度,使其到达稳定。使用单片机具有编程 灵活,控制简单的优点,使
6、系统能简单的实现温度的控制及显示,并且通过软件 编程能实现各种控制算法使系统还具有控制精度高的特点。 比拟两种方案,方案二明显的改善了方案一的缺乏及缺点,并具有控制简单、 控制温度精度高的特点。因此本设计电路采用方案二。 三 系统总体设计 1. 元器件根本知识 1单片机AT89S51 a.主要特性 与MCS-51 单片机产品兼容 4K 字节在系统可编程Flash 存储器 1000 次擦写周期 全静态工作:0Hz33MHz 32 个可编程I/O 口线 2 个16 位定时器/计数器 6 个中断源 全双工UART 串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 灵活的IS
7、P 编程字或字节模式 4.0-5.5V 电压工作围 b.部构造 图3-1 是单片机AT89S51 的部构造总框图。它可以划分为CPU、存储器、 并行口、串行口、定时/计数器和中断逻辑几个局部。 CPU 由运算器和控制逻辑构成。其中包括假设干特殊功能存放器SFR AT89S51 时钟有两种方式产生,即部方式和外部方式。如图 3-2 所 示 AT89S51 在物理上有四个存储空间:片/片外程序存储大路、片/片 外数据存储器。片有 256B 数据存储器 RAM 和 4KB 的程序存储器 ROM。除此之 外,还可以在片外扩展RAM 和ROM,并且和有64KB 的寻址围。 AT89S51 部有一个可编程
8、的、全双工的串行接口。它串行收发存储在 特殊功能存放器SFR 的串行数据缓冲器SBUF 中的数据。 图3-1 AT89S51 部构造框图 AT89S51 共有4 个P0、P1、P2、P3 口8 位并行I/O 端口,共32 个引 脚。P0 口双向 I/O 口,用于分时传送低 8 位地址和 8 位数据信号;P1、P2、P3 口均为准双向I/O 口;其中P2 口还用于传送高8 位地址信号;P3 口每一引脚还 具有特殊功能图3-3,用于特殊信号的输入输出和控制信号。 AT89S51 部有两个16 位可编程定时器/计数器T0、T1。最大计数值为 2 16 -1。工作方式和定时器或计数器的选择由指令来确定
9、。 图3-2 AT89S51 的时钟电路 图3-3 P3 口引脚的特殊功能 中断系统允许承受 5 个独立的中断源,即两个外部中断,两个定时器/ 计数器中断以及一个串行口中断。 c.外部特性引脚功能 AT89S51 芯片有40 条引脚,双列直插式封装引脚图如2-4 所示: Vcc(40):电源+5V Vss(20): 接地 XTAL119和XTAL218:使用部振荡电路时,用来接石英晶体和 电容;使用外部时钟时,用来输入时钟脉冲。 P0 口3932:双向 I/O 口,既可作地址/数据总线口用,也可作普 通I/O 口用。 P1 口18:准双向通用I/O 口。 P2 口2128:准双向口,既可作地址
10、总线口输出地址高8 位,也可 作普通I/O 口用。 P3 口1017:多用途口,既 图3-4 AT89S51 引脚图 可作普通I/O 口,也可按每位定义的 第二功能操作。 ALE/PROG30:地址锁存信号输出端。在片外丰储器时,假设ALE 为有效高电平,那么P0 口输出地址低8 位,可以用ALE 信号作外部地址锁存信 号。公式21fALE=1/6fOSC ,也可作系统中其它芯片的时钟源。第二功能PROG 是对EPROM 编程时的编程脉冲输入端。 RST/VPD9:复位信号输入端。AT89S51 接能电源后,在时钟电路作用 下,该脚上出现两个机器周期以上的高电平,使部复位。第二功能是 VPD,
11、 即备用电源输入端。当主电源Vcc 发生故障,降低到低电平规定值时,VPD 将为 RAM 提供备用电源,发保证存储在RAM 中的信号不丧失。 EA/Vpp(31):部和外部程序存储器选择线。EA=0 时外部 ROM 0000HFFFFH;EA=1 时,地址 0000H0FFFH 空间部 ROM,地址 1000HFFFFH 空间外部ROM。 PSEN29:片外程序存储器选通信号,低电平有效。 2 模数转换器AD0809 a.主要特性 8 路8 位AD 转换器,即分辨率8 位。 具有转换起停控制端。 转换时间为100 s 单个5V 电源供电 模拟输入电压围05V,不需零点和满刻度校准。 工作温度围
12、为-4085 摄氏度 低功耗,约15mW。 b.部构造 ADC0809 是CMOS 单片型逐次逼近式AD 转换器,部构造如图3-5 所示, 它由 8 路模拟开关、地址锁存与译码器、比拟器、8 位开关树型 DA 转换器、 逐次逼近存放器、三态输出锁存器等其它一些电路组成。因此,ADC0809 可处理 8 路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。 输入输出与TTL 兼容。 图3-5 ADC0809 部构造框图 c.外部特性引脚功能 ADC0809 芯片有 28 条引脚,采用双列直插式封装,如图 3-6 所示。下面 说明各引脚功能。 IN0IN7:8 路模拟量输入端。
13、2-12-8:8 位数字量输出端。 ALE22:地址锁存允许信号,输入,高电平有效。 START6: AD 转换启动信号,输入,高电平有效。 EOC7: AD 转换完毕信号,输出,当AD 转换完毕时,此端输出一个 高电平 转换期间一直为低电平。 图3-6 ADC0809 引脚图 OE9:数据输出允 许信号,输入,高电平有效。当 AD 转换完毕时,此端输入一个高电平,才能 翻开输出三态门,输出数字量。 CLK10:时钟脉冲输入端。典型值为640KHZ。 REF+、REF-:参考电压输入端。 Vcc11:电源,5V。 GND13:地。 ADDA、ADDB、ADDC:3 位地址输入线,用于选通 8
14、路模拟输入中的一路。 如表2-1 所示。 表3-1 ADDA、ADDB、ADDC 模拟通道地址码 d.ADC0809 的工作过程 首先输入3 位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码 选通8 路模拟输入之一到比拟器。START 上升沿将逐次逼近存放器复位。下降沿 启动 AD 转换,之后 EOC 输出信号变低,指示转换正在进展。直到 AD 转换 完成,EOC 变为高电平,指示 AD 转换完毕,结果数据已存入锁存器,这个信 号可用作中断申请。当OE 输入高电平 时,输出三态门翻开,转换结果的数字量 输出到数据总线上。 3温度传感器 AD590 a.主要特性 AD590 是美国模
15、拟器件公司生产的单片集成两端感温电流源。它的主要特 性如下: 流过器件的电流A等于器件所处环境的热力学温度开尔文度数, 即: A/K 公式2-2 式中: 流过器件AD590的电流,单位为A; T热力学温度,单位为K。 AD590 的测温围为-55+150。 AD590 的电源电压围为4V30V。电源电压可在4V6V 围变化,电流 变化1A,相当于温度变化 1K。AD590 可以承受 44V 正向电压和 20V 反向电 压,因而器件反接也不会被损坏。 输出电阻为710M。 精度高。AD590 共有I、J、K、L、M 五档,其中M 档精度最高,在-55 +150围,非线性误差为0.3。 AD590
16、 的输出电流值说明如下: 其输出电流是以绝对温度零度-273为基准,每增加1,它会增加1 A 输出电流,因此在室温25时,其输出电流Iout=273+25=298 A。 b.部构造 集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的 b-e 结压 降的不饱和值VBE 与热力学温度T 和通过发射极电流I 的下述关系实现对温度的 检测: 公式2-3 式中:K波尔兹常数; q电子电荷绝对值。 集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等 优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两 种。电压输出型的灵敏度一般为10mV/K,温度0时输出为0,温度2
17、5时输 出2.982V。电流输出型的灵敏度一般为1A/K。 c.外部特性引脚功能 0 1 AD590 - + A . . . . Vcc(0):电源430v GND(1):接地。 d.典型应用电路 AD590 产生的电流与绝对温度成正比,它可接收的工作电压为4 V30V 检测的温度围为55150,它有非常好的线性输 出性能,温度每增加1,其电流 增加1uA 0 1 AD590 - + A R1 10k +5 V0 . . . . 图3-8 是AD590 用于测量热力学 温度的根本应用电路。因为流过AD590 的电流与热力学温度成正比, 当电阻 10k 时,输出电压VO 随温 度的变化为10mV
18、/K。 图3-8 AD590 其本应用电路 Vo 的值为电流I 乘上10K,以室温25而言,输出值为10K298 A=2.98V 测量Vo 时,不可分出任何电流,否那么测量值会不准。 由于AD590 的增益有偏差,电阻也有误差,因此应对电路进展调整。 表3-2 AD590 温度与电流的对应关系表 摄氏温度单位: AD590 电流单位:uA 经10K 电压单位:V -10 263.2 2.632 0 273.2 2.732 10 283.2 2.832 20 293.2 2.932 30 303.2 3.032 40 313.2 3.132 50 323.2 3.232 60 333.2 3.3
19、32 100 373.2 3.732 4数码管LED 显示器 a.综合知识 数码显示器有静态和动态显示两种显示方式。 LED 显示器工作在静态显示方式时,其阴极点或阳极连接在一起接 地或+5V,每一个的段选线a,b,c,d,e,f,g,p分别与一个8 位口相连。 LED 显示 器工作在动态显示方式时,段选码端口 I/O1 用来输出显示字 符的段选码,I/O2 输出位选码。 I/O1 不断送待显示字符的段选码,I/O2 不断送出不同的位扫描码,并使每位显 示字符显示一段时间,一般 为15mS。利用眼睛 的礼视觉惯性,从显示器上便可以见到相当稳定的数字显示。 b.引脚功能 如图3-9 所示: 段选
20、a,b,c,d,e,f,g,p:对应8 个发光二极管,接I/O 口,共阴或 共阳时接地或+5V,根据条件控制发光二极管的亮或灭。 位选A,B,C,D:共阴或共阳时接地或+5V分别用选中对应位的 LED 图3-9 4 位LED 引脚图 2. 原理图及功能实现 1原理图 图3-1 4 位温度显示器原理图 图3-2 水温调整原理图 2功能实现 利用 AD590 温度传感器完成温度的测量,把转换的温度值的模拟量送入 ADC0809 的其中一个通道进展A/D 转换,将转换的结果进展温度值变换之后送入 数码管显示。再根据限定条件来控制发光二极管的亮度来模拟当前输出量。 A.电热控制局部 电热控制采用可控硅
21、来实现,双向可控硅和电热器串接在200V 单相交流电 路中,单片机的P2.7 通过光电隔离器件和驱动电路送到可控硅的控制端,通过 P1.7 口控制可控硅的通断。 B.温度检测局部 温度检测局部包括温度传感器、变换器和A/D 转换3 局部。用于温度检测的 传感器有性能稳定、抗氧能力强和检测精度高等特点。考虑到应用围要求广泛, 这里选用铂热电阻,要求其检测围在0500之间。变送器将温度变化引起 的铂热电阻值变化转化成电压信号,当温度在0500时变送器输出0-5V 左右 电压。 A/D 转换局部采用ADC0809 组成A/D 转换电路,ADC0809 是一种8 路模拟输 入的8 位逐次逼近式A/D
22、转换器件。由于温度的控制精度要求2显然采用 8 位A/D 转换器完全可以到达要求的精度。ADG0809 的EOC 转换完毕信号接MSC 52 的外部中断1 上,MSC-51 通过地址P2.0 和读写信号来控制转换器的模拟量 输入通道地址锁存、启动和输出允许,如图2.因为0809 部有地址锁存器,所 以不需另加锁存器。当电路设计好后,调整变换器输出,当温度为0时变化器 输出0V,AD 转换器转换结果为00H;当温度为500时变换器输出5V,AD 转换 器结果为FAH250。也就是说,温度在0500时,AD 转换器转换结果为00 HFAH(0250),显然转化结果乘以2 正好是温度值,这样一方面可
23、以方便标度转 换,另一方面可以防止转换时带来的误差。 C.显示和报警局部 显示器设有3 位LED 数码显示器,当停顿加热时显示设定温度启动加热时用 于显示定时温度。为了充分利用MSC51 的资源,节省并行I/O 口线,因此采用 串行口,工作方式O 作LED 显示器的接口,采用了74LS164 移位存放器构成显示 器接口电路,如图2. 为了结语资源不扩展并行I/O 口,键盘只设置4 个按键,由I/O 的低4 位作为键 盘接口,4 个键分为启动、“+100、“+10和“+1键,其中后 3 个键可以 分别对百位、十位和各位进展加 1,再按会再加 1,假设连续按该键,十位数就会 在09 之间循环,从而
24、实现呢置数功能。除上述4 个键以外还设有复位/停顿键, 系统复位后处于停顿加热状态。因此要停顿加热那么按复位键。报警采用蜂鸣器作 为发生器件,将 P1.6 与之相连,当温度超过戒备温度时,实现报警,并关闭电 热器。 四 软件详细设计 软件设计时,必须先弄清恒温控制系统的操作过程和工作过程,加热器开场 时处于停顿状态,首先设定温度,显示器显示温度,温度设定后那么可以启动加热。 温度检测系统不断检测并显示系统中的实时温度,当到达设定值停顿加热,当温 度下降到下限小于设定值2时再自动启动加热,这样不断的循环,使温度 保持在设定围之。启动加热以后就不能再设定温度,因为温度的设定可以根 据实验要求改变,
25、假设要改变设定的温度,可以先按复位键/停顿键再重复上述过 程。 1.主程序软件流程图 图4-1 主程序流程图 2. 源代码 #include开场 指示灯LED 灭 ADC0809 停顿工作 T1 工作于方式1 定时4mS CPU、T1 开中断且T1 开场工作 ADC0809 采集一次数据 等待中断 完毕 五 实验过程中经历及心得 1.实验过程中出现的问题及解决方法 在实验过程中,我遇到我很多问题。有小的,也有大的;有的很容易就解决 了,有的那么想很久都不能明白;有的需要查资料就可以解决,有的那么需请教教师 才得以搞定。正是这些多多少少,大大小小的问题,随着一个个的解决,才使的 我一步步的进步。
26、在此,我列出在我实验过程中遇到的问题,以及解决方法。 表5-1 实验过程中出现的问题及解决方法 序号 出现问题 解决方法 用Protel 画原理图时的诸多 小问题及画好的原理图如何 copy 到Word 仔细查阅资料 硬件电路完全焊接好,仔细检 查后才发现40Pin的IC插座, 有一 Pin 折弯并未穿过电路 板 更换电路板以及IC 插座,重新焊 接;养成走一步,检查一步的习惯 手工焊接想减少元器件,去掉 了reset 信号的器件。结果电 路无法工作 加上reset 信号应有的元器件,且 连接正确 电路刚开场工作,4 位LED 就 冒烟,随着一声响就报废 应加限流电阻 ADC0809 的CLK
27、 信号用软件还 是用硬件来提供 详见5.2 ADC0809 的CLK 信号与单 片机的经典接法 4 位LED 显示的数据,自己都 不明白是什么 更改软件数据N 次,重新烧片子N 次,经过N 天才想明白是数据未确 定精度。通过软件确定精度 接下来遇到的根本都是软件 经过无数次的更改软件,无数次的 问题 重新烧写程序,离实验结果就一步 步接近了 单片机控制的发光二极管亮 一段时间后就熄灭 限流电阻太大,最后改用100 的 电阻,工作正常 2. ADC0809 的CLK 信号与单片机的经典接法 因为在整个的实验过程中,为了节约本钱,电路板上的所有元器件都是自己 手工焊接的。所以,在最开场考虑ADC0
28、809 的CLK 信号时,我是用软件做的。 在软、硬件刚做好时,出现的很多问题,是根本无法判断是软件有问题,还 是硬件有错误。但我始终都不想再改动硬件。后来,我在书上看到: ADC0809 的CLK-外部时钟输入端。时钟频率高,A/D 转换速度快。允许 围为10-1280KHz ,典型值为640KHz ,此时转换时间为100uS。通常由MCS51 型单片机 ALE 端直接或分频后与 0809 CLK 端相连接。当 MCS-51 型单片机无 读写外RAM 操作时,ALE 信号固定为CPU 时钟频率的1/6,假设晶振为6MHz,那么1/6 为1MHz 时,A/D 转换时间为64uS。 这样做和用软
29、件实现比拟,不但节省了人力,而且缩短了软件代码长度,减 轻了CPU 的负担,提高了工作效率。和硬件比拟,更节省本钱,而且拥有和硬件 一样快的工作效率。 六 致 我之所以能顺利完成?四位温度显示器?的设计与实现,是和指导我的导师 是有关。我首先我的指导教师教师。在整个设计完成期间,从原理上的可 行到实际硬件电路上出现的的问题,以及后期软硬件的改良,不管是什么时候遇 到困难,只要和教师一说他就会给我们讲,从不厌其烦。这一点我深表感。 作为一个教师他是负责的,态度是认真的。教师,我最想说一句“您! 再一个就是我要感院方,也就是计算机学院给我们提供这么多的支持。不 管是从教师还是其它的辅助设施上,我深
30、表感,给我们带来了极大的方便。 第三 我也很感论文辩论的各位评委教师,感他们在百忙之中抽出时间 帮我们辩论。我心里深深知道不管他们提出什么样的问题,难也好,容易也好, 其目的只有一个,那就是帮助我们提高,在这我也想说一声您们!您们 帮助我们提高,欢送你们提出珍贵的意见。 七 参考文献 1 涂序彦智能控制理论、方法与技术:清华大学,1994.11 2 建民等.自适应模糊炉温控制系统根底自动化,2001.4 3 兴池等模糊控制器在电加热炉中的应用工业仪表与自动化装置,1999.3 4 志君等糊控制在温度控制系统中的应用动化与仪器仪表,1998.5 5 雷思孝,伯成,雷向莉单片机原理及实用技术凌阳 16 位单片机原理 及应用:电子科技大学,20041 第二章系统的根本构成及方案 2.1 系统的根本构成设计思路是:利用温度传感器直接输出数字温度信号给单片机进展处理,在LED数码管上显示当前环境温度值以及设定温度值,温度低于设定温度值进展加热,假设温度高于设定温度值那么启动风扇降温到设定温度值停在,构造图如下: 温度采集 键盘 加热电阻 51单片机晶振 直流风扇 温度显示2.2方案论证 对于温度控制方法有很多:单片机.PLC控制.模拟PID调节器等等.- word.zl