基于8086微处理器的温度测控系统设计(改)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
显示提示信息
N
PA0=1
N
停止加热 8255 PC6 口=0
N
Y
有键按下
返回
图 4-1
-6-
德州学院微机原理课程设计
4.3.2 BCD 码转换子程序 设定温度为 0 摄氏度时变换放大电路送出的模拟量为 0.0V,此时 A/D 输出的数
字量为 00H;温度为 76.5℃时变换器送出对应电压 4.98V,此时 A/D 输出的数字量为 FFH,即每 0.3℃对应 1LSB 的变化量,对应电压值为 19.5mV。
图 5-4
返回
显示温度值十位上的数值 延时 返回
图 4-3
-8-
5. 系统调试
德州学院微机原理课程设计
通过前一部分的介绍说明,我们对系统的工作情况有了大体的了解。为了进一步了 解系统的工作过程,这里介绍一下系统调试过程及调试过程中出现的一些具体的问题。 我们的实验调试软件运行于 DOC 环境下,其步骤如下:
一、根据硬件图和原理图连接好线路。 二、在 PC 机上敲入程序,并对其进行的查错,编译,连接,最后生成可执行文件。 三、接上电源,敲入可执行文件的文件名,系统就开始了工作过程。 1)这是 DOC 屏幕上会出现的一些提示信息,如 ’ENTER ANY KEY TO BEGIN!’ ’*** LET PA0=0 TO ADJUST THE TEMPERATURE VALUE!***’ ’*** LET PA0=1 TO INPUT A NEW TEMPERATURE VALUE!***’ 这里后两条只作注释用。 2)然后敲任意一个键,系统就开始进行温度测量和显示,屏幕上就会显示
-5-
开始
基于 8086 微处理器的温度测控系统设计
系统初始化
显示提示信息
调用温度值设置 子程序
采集 A\D 值并 求其平均值
调用 BCD 码转换子程序 将其转换为十进制温度值
调用显示子程序
N
实际温度低 于给定值
Y 加热 8255 PC6 口=1
调用温度值设置子 程序重新设置温度 并将 PA0 拨到 0 以 进行重新调节
关键词:8086 微处理器 温度传感器 A/D 转换器 温度测控系统
前言
随着科技的不断发展, 传统的温度监测方法由于工作量大, 操作不方便,测量准 确度低,难以满足各个领域的要求。目前,微处理器 8086 在工业控制系统诸多领域得 到了广泛的应用,由于它具有极好的稳定性,更快和更准确的运算精度得到了广泛应用。 由于模拟温度传感器输出为模拟信号,需要经 A/D 转换后获得数字信号传输给微处理器 接口,使得硬件电路结构复杂,成本较高。而新型单总线数字式温度传感器将温度测量 和 A/D 集合成一体,直接输出数字量,使得硬件电路结构简单,8086 微处理器具有丰 富的外设且功耗很低,工作稳定,方便调试。本文设计了一种基于 8086 微处理器单片 机和温度传感器 AD590 采集温度数据的温度测控系统,具有较强的推广应用价值。
-3-
基于 8086 微处理器的温度测控系统设计
图 3-1 8086CPU 内部功能结构图
4. 系统工作原理及软件设计
4.1、系统工作原理 4.1.1 温度测量显示部分
温度通过 AD590 温度传感集成芯片,将温度变化量转换成电压值变化量,经过 OP07 一级跟随后输入到电压放大电路,放大后的信号输入到 A/D 转换器将模拟信号转换成数 字信号,然后将该数字信号通过然间编程转化为十进制 BCD 码,并送到 8279 进行温度 值的显示。 4.1.2 温度控制部分
温度传感器
电压跟随器
运算放大电路
A\D 转换器
微 报警



译码
显示
加热控制电路
2.2 系统硬件选择和设计 2Байду номын сангаас2.1 系统扩展接口的选择
图 2-1 系统原理框图
本次设计采用的是 8086 微处理器,选择 8255A 可编程并行接口作为系统的扩展接 口,8255A 的通用性强,适应灵活,通过它 CPU 可直接与外设相连接。 2.2.2 温度传感器与 A\D 转换器的选择
德州学院微机原理课程设计
基于 8086 微处理器的温度测控系统设计
摘要:本文介绍了一种基于 8086 微处理器的温度测控系统,采用温度传感器 AD590 采集温度数据, 用 CPU 控制温度值稳定在预设温度。当温度低于预设温度值时系统启动电加热器,当这个温度高于 预设温度值时断开电加热器。该系统通过实验,取得了较为满意的控制效果。可应用在一些精度要 求不太高的系统中。为了降低整个系统的成本,在满足性能的要求下,选择低成本器件,简化系统 设计。
显示温度值个位上的数值
延时
取出(BL)中的温度值
得到温度值十位上的数值
通过查表指令得到 对应的数码管的断码
键入温度值十位上的数值 将它存于[DI]
键入温度值个位上的数值将它 存于[DI+1]
将十位上的数值左移四位并与 个位上的数值既得温度值
Y 设置温度大
于 76℃
声音报警并显 示错误信息
返回
N 将温度值存于[DI+1]
本系统选用温度传感器 AD590 构成测温系统。AD590 是一种电压输入、电流输出型 集成温度传感器,测温范围为-55℃~150℃,非线性误差在±0。30℃,其输出电流与温 度成正比,温度没升高 1K(K 为开尔文温度),输出电流就增加 1uA。其输出电流 I=(273+T)uA。本设计中串联电阻的阻值选用 2KΩ,所以输出电压 V+=(2730 + 10T)MV. 另外,为满足系统输入模拟量进行处理的功能,对其再扩展一片 ADC0809,以进行模 拟—数字量转化。 2.2.3 显示接口芯片
2. 温度控制系统的总体概况
2.1 温度控制系统的总体结构 温度信息由温度传感器测量并转换成微安级的电流信号,经过运算放大电路将温度
传感器输出的小信号进行跟随放大,输入到 A/D 转换器(ADC0809)转换成数字信号 输入主机。数据经过标度转换后,一方面通过数码管将温度显示出来;另一方面,将该 温度值与设定的温度值进行比较,调整电加热炉的开通情况,从而控制温度。在断开电 加热器,温度仍然异常,报警器发出声音报警,提示采取相应的调整措施。其温度控制 系统的原理框图如图 1-1 所示。
-4-
德州学院微机原理课程设计
4.3.1 主程序 通过开始界面,显示提示信息,调用温度子程序,设置温度。通过模数转换器采集
A\D 值并求其平均值。调用 BCD 码转换子程序将其转换为十进制温度值;调用显示子 程序,如果温度高于实际温度,就加热,反之拨动开关关闭,停止加热。在此过程中, 还可以重复设置温度值。其流程图如图 4-1 所示。
3.1 8086 微处理器及其体系结构 3.1.1 8086 微处理器的一般性能特点
(1) 16 位的内部结构,16 位双向数据信号线; (2)20 位地址信号线,可寻址 1M 字节存储单元; (3)较强的指令系统; (4)利用第 16 位的地址总线来进行 I/O 端口寻址,可寻址 64K 个 I/O 端口; (5)中断功能强,可处理内部软件中断和外部中断,中断源可达 256 个; (6)单一的+5V 电源,单相时钟 5MHz。 另外,Intel 公司同期推出的 Intel8088 微处理器一种准 16 位微处理器,其内部寄 存器,内部操作等均按 16 位处理器设计,与 Intel8088 微处理器基本上相同,不同的 是其对外的数据线只有 8 位,目的是为了方便地与 8 位 I/O 接口芯片相兼容。 3.1.2 8086CPU 的编程结构 编程结构:是指从程序员和使用者的角度看到的结构,亦可称为功能结构。从功能 上来看,8086CPU 可分为两部分,即总线接口部件 BIU(Bus Interface Unit)和执行 部件 EU(Execution Unit)。8086CPU 的内部功能结构如图 3-1 所示:
’INPUT THE TEMPERATURE:’ 在这一条信息之后敲入一温度值。注意这里敲入的温度值不能大于 76 摄氏度,否 则屏幕将会显示’INPUT VALUE ERROR !’并返回 DOC。(以后重新设定温度时也是如 此) 3)在正常情况下,敲入设定温度后系统就开始进行控制调节,当实际温度小鱼设 定值时,系统就开始进行加热,如果不加改变,它就会加热一直稳定到设定的温度值; 如果这是想重新设置一温度,只要把 8255 的 PA0 读取拨动开关拨到 1,屏幕上就会显 示: ‘INPUT A NEW TEMPERATURE:’ 这里又得注意一下,在敲入一个新的设定温度之前,得先把 PA0 读取拨动开关拨到 0,否则,在敲完设定温度之后,屏幕上又会显示同样一条信息。因为它是根据 PA0 是 0 还是 1 来决定是去重新输入设定温度还是去调节温度。如果不先把 PA0 拨为 0,它就 是一直让你输入却不进行调节。另外,这里温度值的设定的次数没有限制。
6. 结论
本设计采用的单片机是作为现代工业中最常用的集成芯片。具有体积小、重量轻、 抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好、易于推广应用等显 著优点,通过软件逻辑控制实现对温度的控制和调节。本文的温度控制系统,只是单片 机广泛应用于各行各业中的一例。本设计中应用了许多单片机芯片和单片机常用的外部 设,单片机芯片如:ADC0809,8255 等。单片机外部设备如:温度检测元件 AD590,键 盘和显示系统中的 LED 显示器等。该系统的主要优点如下:
4.4.4 温度值设置子程序 问了避免加热温度过高,在程序设计中加了一条,即设定值不能大于 76.8℃,否则
就认为有错系统报警。其流程图如图 5-4 所示。
-7-
显示子程序
基于 8086 微处理器的温度测控系统设计
温度值设置子程序
先将十进制温度 值(AL)送到(BL)
得到温度值各位上 的数
通过查表指令得到对应 的数码管的断码
-1-
基于 8086 微处理器的温度测控系统设计
里的重新设置和控制可以进行无限多次,当然这个设置值得在某一最大值范围之内,这 里把最大值设为 76℃。当设置温度大于 76℃时,系统就会报错并退出系统。
经过对以上两方案得分析、比较,我觉得方案二比较完善些,于是我采用方案二作 为本场次设计的总体方案。其流程图如图 4-1 所示
为满足本次设计温度显示的需要,我们选择了 8279 芯片,INTEL8279 芯片是一种
-2-
德州学院微机原理课程设计
通用的可编程的键盘、显示接口器件,单个芯片就能完成键盘键入和 LED 显示控制两种 功能。
备注:系统硬件接线应尽量以插接形式连接,这样便于多用途使用和故障的检查和 排除。
3. 系统主要元件功能与原理介绍
温度的上升或下降,通过给加热系统通断电来实现。当需要加热时,8255 的 PC6 输出低电平,启动加热系统。当需要降温时,8255 的 PC6 输出高电平,关闭加热系统。
加热或降温的控制信号通过 8255 的 PA0 读取拨动开关的状态来实现。 4.2 系统软件设计
本设计的目的是以 8086 微处理器为控制器,将温度传感器输出的小信号经过放大 和低通滤波后,送至 A/D 转换器;微控制器实时采集、显示温度值(要求以摄氏度显示), 同时系统还应可设定、控制温度值,使系统工作在设定温度。 4.3 系统流程图
1. 方案设计
1.1 方案一 设计一种温度控制方法将温度控制在某一设定值。 在该实验利用 PC 机键盘输入设定温度值。当系统采集的温度值低于设定值时,开
通加热系统,反之,当温度高于设定值时,关闭加热系统。仍然利用 8255 的 PC6 口控 制加热系统。
分析和讨论: 该系统实现了将温度控制到一设定值,并保持稳定,但温度值只能设定一次。当在 控制过程中,如果有时想将温度再调高点就办不到了,为此引入了方案二。 1.2 方案二 设计一种温度控制方法将温度控制到某一设定值,并保持稳定。同时还可以根据实 际需要重新设置温度并进行重新控制调节,使温度达到一新的设定值,并保持稳定。这
报警温度设定为 76.8℃,此时,输出电压约为 5.0V 左右。 其流程图如图 5-2 所示。
BCD 码转换子程序
将采集得到的平均值 乘以 0.3 转换为 温度 值
对其进行非压缩 BCD 码乘法调整
通过移位得到组合 BCD 码
返回 图 4-2
4.3.3 显示子程序 采用动态显示方式,其流程图如图 5-3 所示。
相关文档
最新文档