基于8086微处理器的温度测控系统设计.docx
- 文档编号:6201947
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:14
- 大小:1.67MB
基于8086微处理器的温度测控系统设计.docx
《基于8086微处理器的温度测控系统设计.docx》由会员分享,可在线阅读,更多相关《基于8086微处理器的温度测控系统设计.docx(14页珍藏版)》请在冰豆网上搜索。
基于8086微处理器的温度测控系统设计
德州学院微机原理课程设计
论文题目:
基于8086的温度测控系统设计
专业班级:
10电子信息工程本科
小组成员:
许庆帅201000802048
张志伟201000202087
左攀201000802113
指导老师:
唐荣霞
完成时间:
2012年6月17日
目录
题目......................................................................1
摘要......................................................................1
关键词....................................................................1
1温度控制系统的总体结构概况...............................................1
2系统器件选择............................................................2
2.1系统器件选择.......................................................2
2.2温度传感器与A\D转换器的选择.......................................2
2.3显示接口芯片.......................................................2
2.48086微处理器及其体系结构..........................................3
3系统各部分功能模块介绍..................................................4
3.1温度测量和控制部分.................................................4
3.2ADC0809与8255的连接..............................................5
3.38086的可编程外设接口..............................................6
3.4数据显示部分.......................................................6
3.5系统硬件原理图.....................................................7
4软件设计................................................................7
5系统流程图..............................................................8
4.1主程序.............................................................8
4.2BCD码转换子程序...................................................9
4.3显示子程序.........................................................9
4.4温度值设置子程序..................................................10
5系统调试...............................................................11
6结论...................................................................12
7参考文献...............................................................12
基于8086的温度测控系统设计
摘要本文介绍了一种基于8086微处理器的温度测控系统,采用温度传感器AD590采集温度数据,用CPU控制温度值稳定在预设温度的设计。
它的功能是:
当温度低于预设温度值时系统启动电加热器,当这个温度高于预设温度值时断开电加热器。
方法是:
将温度控制在某一特定值并保持稳定,同时还可以根据实际需要进行调节,当设置系统温度超过承受范围,系统就会报错并退出系统。
关键词:
微处理器温度传感器A/D转换器控制系统报警
1温度控制系统的总体结构概况
温度信息由温度传感器测量并转换成微安级的电流信号,经过运算放大电路将温度传感器输出的小信号进行跟随放大,输入到A/D转换器(ADC0809)转换成数字信号输入主机。
数据经过标度转换后,一方面经过译码然后通过数码管将温度显示出来;另一方面,将该温度值与设定的温度值进行比较,调整电加热炉的开通情况,从而控制温度。
如果在断开电加热器,温度仍然异常,报警器发出声音报警,提示采取相应的调整措施。
其温度控制系统的原理框图如图1-1所示。
图1-1系统原理框图
2系统器件选择
2.1系统扩展接口的选择
本次设计采用的是8086微处理器,选择8255A可编程并行接口作为系统的扩展接口,8255A的通用性强,适应灵活,通过它CPU可直接与外设相连接。
8255A的内部结构图,如图2-1所示
图2-18255A的内部接口
2.2温度传感器与A\D转换器的选择
本系统选用温度传感器AD590构成测温系统。
AD590是一种电压输入、电流输出型集成温度传感器,测温范围为-55℃~150℃,满量程范围在±0.30℃,其电流输出:
1uA/K,正比于绝对温度(K为开尔文温度),其精度:
用激光校准到±0.5℃。
其输出电流I=(273+T)uA。
本设计中串联电阻的阻值选用2KΩ,所以输出电压V+=(2730+10T)MV.另外,为满足系统输入模拟量进行处理的功能,对其再扩展一片ADC0809,以进行模拟—数字量转化。
2.3显示接口芯片
为满足本次设计温度显示的需要,我们选择了8279芯片,INTEL8279芯片是一种通用的可编程的键盘、显示接口器件,单个芯片就能完成键盘键入和LED显示控制两种功能(INTEL8279是一种可编程键盘/显示器接口芯片,它含有键盘输入和显示器输出两种功能。
键盘输入时,它提供自动扫描,能与键盘或传感器组成的矩阵相连,接收输入信息。
它能自动消除开关抖动并能对多键同时按下提供保护。
显示输出时,它有一个16×8位显示RAM,其内容通过自动扫描,可由8或16位LED数码管显示。
)。
备注:
系统硬件接线应尽量以插接形式连接,这样便于多用途使用和故障的检查和排除。
2.48086微处理器及其体系结构
2.4.18086CPU的编程结构
编程结构:
是指从程序员和使用者的角度看到的结构,亦可称为功能结构。
从功能上来看,8086CPU可分为两部分,即总线接口部件BIU(BusInterfaceUnit)和执行部件EU(ExecutionUnit)。
8086CPU的内部功能结构如图2-2所示:
图2-28086/8088CPU内部功能结构图
2.4.2执行部件(EU)
功能:
负责指令的执行。
组成:
包括①ALU(算术逻辑单元)、②通用寄存器组和③标志寄存器等,主要进行8位及16位的各种运算。
8086有14个16位寄存器,这14个寄存器按其用途可分为
(1)通用寄存器、
(2)指令指针、(3)标志寄存器和(4)段寄存器等4类。
(1)通用寄存器有8个,又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及变址寄存器(4个).数据寄存器分为:
AH&AL=AX(accumulator):
累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.BH&BL=BX(base):
基址寄存器,常用于地址索引;CH&CL=CX(count):
计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.DH&DL=DX(data):
数据寄存器,常用于数据传递。
他们的特点是,这4个16位的寄存器可以分为高8位:
AH,BH,CH,DH.以及低八位:
AL,BL,CL,DL。
这2组8位寄存器可以分别寻址,并单独使用。
另一组是指针寄存器和变址寄存器,包括:
SP(StackPointer):
堆栈指针,与SS配合使用,可指向目前的堆栈位置;BP(BasePointer):
基址指针寄存器,可用作SS的一个相对基址位置;SI(SourceIndex):
源变址寄存器可用来存放相对于DS段之源变址指针;DI(DestinationIndex):
目的变址寄存器,可用来存放相对于ES段之目的变址指针。
这4个16位寄存器只能按16位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数的有效地址。
2.4.3总线接口部件(BIU)
功能:
负责与存储器及I/O接口之间的数据传送操作。
具体来看,完成取指令送指令队列,配合执行部件的动作,从内存单元或I/O端口取操作数,或者将操作结果送内存单元或者I/O端口。
组成:
它由①段寄存器(DS、CS、ES、SS)、②16位指令指针寄存器IP(指向下一条要取出的指令代码)、③20位地址加法器(用来产生20位地址)和④6字节(8088为4字节)指令队列缓冲器组成。
其中4个段地址寄存器分别为:
CS:
16位的代码段寄存器;
DS:
16位的数据段寄存器;
ES:
16位的附加段寄存器;
SS:
16位的堆栈段寄存器。
3系统各部分功能模块介绍
3.1温度测量和控制部分
3.1.1温度测量部分
A\D590是AD公司生产的一种精度和线度较好的双端集成传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1uA最大电流的变化或1摄氏度等效误差。
图3-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中,二极管的作用是吸收继电器断开时产生的浪涌电压(电路在遭雷击和在接通、断开电感负载或大型负载时常常会产生很高的操作过电压,这种瞬时过电压称为浪涌电压)。
图3-2温度控制图
3.2ADC0809与8255的连接
模拟输入通道地址A,B,C直接接地,因此ADC0809只对通道IN0输入的电压进行模数转换。
为了减少输入噪声其他通道直接接地。
ADC0809的数据线D0-D7与8255的PB0-PB7相连接。
其片选CS与8086的地址/数据总线AD14相连接。
图3-3ADC0809与8255的连接图
3.38086的可编程外设接口电路
8255的数据口D0-D7与CPU的6根控制线相连接,控制8255A内部的各种操作。
控制线RESET用来使8255A复位。
CS和地址线A1及A0用于芯片选择和通道寻址。
图3-48086的可编程外设接口电路图
3.4数据显示部分
图3-4数据显示图
3.5系统硬件原理图
图3-5系统硬件原理图
4软件设计
设计的目的是以8086微处理器为控制器,将温度传感器输出的小信号经过放大和低通滤波后,送至A/D转换器;微控制器实时采集、显示温度值(要求以摄氏度显示),同时系统还应可设定、控制温度值,使系统工作在设定温度
5系统流程图
5.1主程序
通过开始界面,显示提示信息,调用温度子程序,设置温度。
通过模数转换器采集A\D值并求其平均值。
调用BCD码转换子程序将其转换为十进制温度值;调用显示子程序,如果温度高于实际温度,就加热,反之拨动开关关闭,停止加热。
在此过程中,还可以重复设置温度值。
其流程图如图5-1所示。
图5-1系统流程图
5.2BCD码转换子程序
设定温度为0摄氏度时变换放大电路送出的模拟量为0.0V,此时A/D输出的数字量为00H;温度为76.5℃时变换器送出对应电压4.98V,此时A/D输出的数字量为FFH,即每0.3℃对应1LSB的变化量,对应电压值为19.5mV。
报警温度设定为76.8℃,此时,输出电压约为5.0V左右。
其流程图如图5-2所示。
图5-2BCD码转换子程序流程图
5.3显示子程序
采用动态显示方式,其流程图如图5-3所示。
5.4温度值设置子程序
问了避免加热温度过高,在程序设计中加了一条,即设定值不能大于76.8℃,否则就认为有错系统报警。
其流程图如图5-4所示。
图5-3温度值设置子程序流程图
6系统调试
通过前一部分的介绍说明,我们对系统的工作情况有了大体的了解。
为了进一步了解系统的工作过程,这里介绍一下系统调试过程及调试过程中出现的一些具体的问题。
我们的实验调试软件运行于DOC环境下,其步骤如下:
一、根据硬件图和原理图连接好线路。
二、在PC机上敲入程序,并对其进行的查错,编译,连接,最后生成可执行文件。
三、接上电源,敲入可执行文件的文件名,系统就开始了工作过程。
1)这是DOC屏幕上会出现的一些提示信息,如
’ENTERANYKEYTOBEGIN!
’
’***LETPA0=0TOADJUSTTHETEMPERATUREVALUE!
***’
’***LETPA0=1TOINPUTA
NEWTEMPERATUREVALUE!
***’
这里后两条只作注释用。
2)然后敲任意一个键,系统就开始进行温度测量和显示,屏幕上就会显示
’INPUTTHETEMPERATURE:
’
在这一条信息之后敲入一温度值。
注意这里敲入的温度值不能大于76摄氏度,否则屏幕将会显示’INPUTVALUEERROR!
’并返回DOC。
(以后重新设定温度时也是如此)
3)在正常情况下,敲入设定温度后系统就开始进行控制调节,当实际温度小鱼设定值时,系统就开始进行加热,如果不加改变,它就会加热一直稳定到设定的温度值;如果这是想重新设置一温度,只要把8255的PA0读取拨动开关拨到1,屏幕上就会显示:
‘INPUTANEWTEMPERATURE:
’
这里又得注意一下,在敲入一个新的设定温度之前,得先把PA0读取拨动开关拨到0,否则,在敲完设定温度之后,屏幕上又会显示同样一条信息。
因为它是根据PA0是0还是1来决定是去重新输入设定温度还是去调节温度。
如果不先把PA0拨为0,它就是一直输入却不进行调节。
另外,这里温度值的设定的次数没有限制。
7结论
本系统有三部分组成:
1.温度数据采集部分,在模拟电子技术基础知识的基础上,设计了输出电流的基本温度敏感电路,A\D590输出的电流I=(273+T)uA(T为摄氏温度),当温度降低时,电流I会减小,测量电压V减小,通过电压跟随器输出到反相比例运算电路的正输入端,与负输入端参考电压共同作用输出电压信号的值,送入信号处理部分。
2.信号处理部分:
本部分由A\D转换器,8086CPU微处理器,可编程并行通信接口8255A
组成,上一部分输入的模拟信号通过A\D转换器转换成数字信号,通过74LS148和74LS138分别进行编码和译码,译码后的信号输入到8086微处理器中(本次设计采用的是8086微处理器,选择8255A可编程并行接口作为系统的扩展接口),信号经处理后再通过外设接口电路传输并控制外设的工作状态。
第三部分是执行控制信号部分:
本部分包括加热装置,报警装置,显示装置。
当温度降低时,加热装置启动加热是温度升高到标准值,
断开电加热器,如果在断开电加热器,温度仍然异常,报警器发出声音报警,提示采取相应的调整措施。
各时刻的温度值是通过译码器对微处理器输出的8进制数译码转化为16进制数显示在数码管上的。
同时该系统具有优点如下:
一、本系统本着简单可靠的原则完成了设计要求,尽量做到线路简单,充分利用软件编程,安装比较灵活而且价格较低。
二、在系统的硬件和软件设计中,都加有安全设计部分,避免加热过高造成设备的损坏。
同时,该系统在测量过程中会带来系统误差。
参考文献
[1]戴梅蕚《微型计算机技术及应用》2007清华大学出版社
[2]武锋《单片机应用系统设计---系统配置与接口技术》1998.8北京航空航天大学出版社
[3]何克忠《计算机控制系统》2002清华大学出版社
[4]朱善君《汇编语言程序设计》1998.3清华大学出版社
[5]颜永军《protel99电路设计与应用》2001.1国防工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 8086 微处理器 温度 测控 系统 设计