基于8086微处理器的温度测控系统设计 - 图文

更新时间:2024-04-07 08:40:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《微型计算机原理及应用》

课程设计报告书

题 目: 温度测控系统设计

班 级: 电子信息工程1103班 姓 名: 学 号: 电 话: 小组成员:谭振辉,周振邦,陈永锋 完成时间: 2012年12月30日

0

目录

题目.....................................................................1 1温度控制系统的原理......................................................1 2系统器件选择............................................................2 2.1系统器件选择.......................................................2 2.2温度传感器与A\\D转换器的选择.......................................2 2.3显示接口芯片.......................................................2 2.4 8086微处理器及其体系结构..........................................3 2.4.1 8086CPU的编程结构...........................................3 2.4.2执行部件(EU).................................................3 2.4.3总线接口部件(BIU)............................................4 3系统各部分功能模块介绍..................................................4 3.1温度测量和控制部分.................................................4 3.2 ADC0809与8255的连接..............................................5 3.3 8086的可编程外设接口..............................................6 3.4 数据显示部分.......................................................6 3.5系统硬件原理图.....................................................7 4 软件设计................................................................7 5 系统流程图..............................................................8 5.1 主程序.............................................................8 5.2 BCD码转换子程序...................................................9 5.3 显示子程序.........................................................9 5.4 温度值设置子程序..................................................10 6 结论...................................................................11 7 参考文献...............................................................11

1

温度测控系统设计

1温度控制系统的原理

温度测控系统采用温度传感器AD590采集温度数据,用CPU控制温度值稳定在预设温度。当温度低于预设温度值时系统启动电加热器,当这个温度高于预设温度值时断开电加热器。温度信息由温度传感器测量并转换成微安级的电流信号,经过运算放大电路将温度传感器输出的小信号进行跟随放大,输入到A/D转换器(ADC0809)转换成数字信号输入主机。数据经过标度转换后,一方面通过数码管将温度显示出来;另一方面,将该温度值与设定的温度值进行比较,调整电加热炉的开通情况,从而控制温度。在断开电加热器,温度仍然异常,报警器发出声音报警,提示采取相应的调整措施。其温度控制系统的原理框图如图1-1所示。

微 处 理 器 报警 温度传感器 电压跟随器 运算放大电A\\D转换器 译码 显示 加热控制电图 1-1 系统原理框图

2系统器件选择

2.1 系统扩展接口的选择

本次设计采用的是8086微处理器,选择8255A可编程并行接口作为系统的扩展接口,8255A的通用性强,适应灵活,通过它CPU可直接与外设相连接。 2.2温度传感器与A\\D转换器的选择

2

本系统选用温度传感器AD590构成测温系统。AD590是一种电压输入、电流输出型集成温度传感器,测温范围为-55℃~150℃,非线性误差在±0.30℃,其输出电流与温度成正比,温度每升高1K(K为开尔文温度),输出电流就增加1uA。其输出电流I=(273+T)uA。本设计中串联电阻的阻值选用2KΩ,所以输出电压V+=(2730 + 10T)MV. 2.3 显示接口芯片

我们选择了8279芯片,INTEL8279芯片是一种通用的可编程的键盘、显示接口器件,单个芯片就能完成键盘键入和LED显示控制两种功能。

2.4 8086微处理器及其体系结构 2.4.1 8086CPU的编程结构

从功能上来看,8086CPU可分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。8086CPU的内部功能结构如图2-1所示:

图2-1 8086/8088CPU内部功能结构图

2.4.2执行部件(EU)

功能:负责指令的执行。

组成:包括①ALU(算术逻辑单元)、②通用寄存器组和③标志寄存器等,主要进行8位及16位的各种运算。 2.4.3总线接口部件(BIU)

功能:负责与存储器及I/O接口之间的数据传送操作。具体来看,完成取指令送指令队列,配合执行部件的动作,从内存单元或I/O端口取操作数,或者将操作结果送内存单元或者I/O端口。

组成:它由①段寄存器(DS、CS、ES、SS)、②16位指令指针寄存器IP(指向下一条要取出的指令代码)、③20位地址加法器(用来产生20位地址)和④6字节(8088为4字节)指令队列缓冲器组成。

3

3 系统各部分功能模块介绍

3.1温度测量和控制部分 3.1.1温度测量部分

A\\D590是AD公司生产的一种精度和线度较好的双端集成传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1uA最大电流的变化或1摄氏度等效误差。图4-1给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路。

A\\D590输出的电流I=(273+T)uA(T为摄氏温度)。

因此测量的电压V为(273+T)uA×10K=(2.73+T/100)V,为了将电压测量出来,又务必使电流I不分流出来。使用电压跟随器使其输出电压V2等于V 。

由于一般电源供应多器件之后,电源是带杂波的,因此使用稳压二极管作为稳压元件,再利用可变电阻分压,其输出电压V1需调至2.73V。

差动放大器其输出V0 为(100K/10K)×(V2-V1)=T/10,如果现在为摄氏28℃,输出电压为2.8V。

输出电压接A\\D转换器,那么A\\D转换输出的数字量就和摄氏温度成线性比例的关系。

图 3-1输出电流的基本温度敏感电路

3.1.2 温度控制部分

当PC6为高电平时,三极管导通,继电器吸合,向加热系统输出12V电压加热;反之,输入低电平,三极管截止,继电器断开,停止加热。在图3-2中,二极管的作用是吸收继电器端开时产生的浪涌电压。

4

图 3-2温度控制图

3.2 ADC0809与8255的连接

模拟输入通道地址A,B,C直接接地,因此ADC0809只对通道IN0输入的电压进行模数转换。为了减少输入噪声其他通道直接接地。ADC0809的数据线D0-D7与8255的PB0-PB7相连接。其片选CS与8086的地址/数据总线AD14相连接。

3-3 ADC0809与8255的连接图

5

3.3 8086的可编程外设接口电路

8255的数据口D0-D7与CPU的6根控制线相连接,控制8255A内部的各种操作。控制线RESET用来使8255A复位。CS和地址线A1及A0用于芯片选择和通道寻址。

图 3-48086的可编程外设接口电路图

3.4 数据显示部分

3-4数据显示图

6

3.5 系统硬件原理图

图 3-5系统硬件原理图

4 软件设计

设计的目的是以8086微处理器为控制器,将温度传感器输出的小信号经过放大和低通滤波后,送至A/D转换器;微控制器实时采集、显示温度值(要求以摄氏度显示),同时系统还应可设定、控制温度值,使系统工作在设定温度

5系统流程图

5.1 主程序

通过开始界面,显示提示信息,调用温度子程序,设置温度。通过模数转换器采集A\\D值并求其平均值。调用BCD码转换子程序将其转换为十进制温度值;调用显示子程序,如果温度低于实际温度,就加热,反之拨动开关关闭,停止加热。在此过程中,还可以重复设置温度值。其流程图如图5-1所示。

7

开始 系统初始化 显示提示信息 调用温度值设置 子程序 采集A\\D值并求其平均值 调用温度值设置子程序重新设置温度并将PA0拨到0 以进行重新调节 调用BCD码转换子程序 将其转换为十进制温度值 调用显示子程序 显示提示信息 N 实际温度低于给定值 N PA0=1 N Y 加热 8255 PC6口=1 停止加热 8255 PC6口=0 N 有键按下 Y 返回 图 5-1系统流程图

8

5.2 BCD码转换子程序

设定温度为0摄氏度时变换放大电路送出的模拟量为0.0V,此时A/D输出的数字量为00H;温度为76.5℃时变换器送出对应电压4.98V,此时A/D输出的数字量为FFH,即每0.3℃对应1LSB的变化量,对应电压值为19.5mV。

报警温度设定为76.8℃,此时,输出电压约为5.0V左右。 其流程图如图5-2所示。

BCD码转换子程序 将采集得到的平均值乘以0.3 转换为温度值 对其进行非压缩BCD码乘法调整 通过移位得到组合BCD码 返回 图 5-2 BCD码转换子程序流程图

5.3 显示子程序

采用动态显示方式,其流程图如图5-3所示。 5.4 温度值设置子程序

问了避免加热温度过高,在程序设计中加了一条,即设定值不能大于76℃,否则就认为有错系统报警。其流程图如图5-4所示。

9

显示子程序 温度值设置子程序 先将十进制温度值(AL)送到(BL) 键入温度值十位上的数值将它存于[DI] 得到温度值各位上的数 键入温度值个位上的数值将它存于[DI+1] 通过查表指令得到对应的数码管的断码 Y 显示温度值个位上的数值 声音报警并显示错误信息 将十位上的数值左移四位并与个位上的数值既得温度值 设置温度大于76℃ N 将温度值存于[DI+1] 返回 延时 取出(BL)中的温度值 图 4-4 返回 得到温度值十位上的数值 显示温度值十位上的数值 通过查表指令得到 对应的数码管的断码 延时 返回 图 5-4温度值设置子程序流程图

10

6 结论

从开始设计到设计完成,要做的事情很多。收拾资料,定好题目,讨论方案原理,画出图形,编程,用什么硬件软件等等。而且还要经过反复的调试验证,通过软件逻辑控制实现对温度的控制和调节;这是一步工作量相当大的工作,需要和团队合作配合好才能搞好。这需要一个良好的基础知识、课外知识和比较强的动手能力。温度控制系统,只是单片机广泛应用于各行各业中的一例。本设计中应用了许多单片机芯片和单片机常用的外部设,单片机芯片如:ADC0809,8255等。单片机外部设备如:温度检测元件AD590,键盘和显示系统中的LED显示器等。该系统的主要优点如下:

一、本系统本着简单可靠的原则完成了设计要求,尽量做到线路简单,充分利用软件编程,安装比较灵活而且价格较低。

二、在系统的硬件和软件设计中,都加有安全设计部分,避免加热过高造成设备的损坏。同时,该系统在测量过程中会带来系统误差。

7 参考文献

[1] 武锋 《单片机应用系统设计---系统配置与接口技术》1998.8 北京航空航天大学出版社

[2] 何克忠 《计算机控制系统》 2002 清华大学出版社 [3] 朱善君 《汇编语言程序设计》 1998.3 清华大学出版社 [4] 颜永军 《protel99电路设计与应用》2001.1 国防工业出版社 [5]郑学坚,周斌《微型计算机原理及应用》2012 清华大学出版社 [6]彭虎,周佩玲《微机原理及接口技术》2011 电子工业出版社

11

本文来源:https://www.bwwdw.com/article/roar.html

Top