基于8086的多路温度测控系统---微机原理课程设计参考word

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

摘要

本文介绍了一种基于8086微处理器的温度测控系统,采用温度传感器

AD590采集温度数据,用CPU控制温度值稳定在预设温度。当温度低于预设温度值时系统启动电加热器,当这个温度高于预设温度值时断开电加热器。

第一章设计主要工作思路

方案一:

设计一种可控制的温度加热系统,实现温度的上升或下降。

其中,温度的传感和放大部分通过AD590温度传感器集成芯片和运算放大器来实现温度的上升或下降,通过给加热系统通断电来实现。当需要加热时,8255的PC6输出高电平;当需要降温时,8255的PC6输出低电平,关闭加热系统,让加热器自然冷却而起到降温效果。

加热或降温的控制信号通过8255的PA0读取拨动开关的状态来实现。

系统流程图如图1-1所示:

图 1-1

分析和讨论:

该方案达到了温度的上升或下降控制,但温度上升到多少或下降到多少都得由人来控制,为了让微机来自动控制,引入了方案二。 方案二:

设计一种温度控制方法将温度控制在某一设定值。

其硬件与方案一差不多,只是它的加热控制信号是直接通过软件来控制,而不是通过

PA0拨动开关来实现。

在该实验利用PC 机键盘输入设定温度值。当系统采集的温度值低于设定值时,开通加热系统,反之,当温度高于设定值时,关闭加热系统。仍然利用8255的PC6口控制加热系统。

其流程图如图1-2所示:

图 1-2分析和讨论:

该系统实现了将温度控制到一设定值,并保持稳定,但温度值只能设定一次。当在控制过程中,如果有时想将温度再调高点就办不到了,为此引入了第三方案。

方案三:

设计一种温度控制方法将温度控制到某一设定值,并保持稳定。同时还可以根据实际需要重新设置温度并进行重新控制调节,使温度达到一新的设定值,并保持稳定。这里的重新设置和控制可以进行无限多次,当然这个设置值得在某一最大值范围之内,这里把最大值设为76℃。当设置温度大于76℃时,系统就会报错并退出系统。

其流程图见第五章图 5-1。

经过对以上三方案得分析、比较,我觉得方案三比较完善些,于是我采用方案三作为本场次设计的总体方案。

第二章温度控制系统的总体概况

1.1 温度控制系统的总体结构

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

图 1-1 系统原理框图

1.2 系统硬件选择和设计

1、系统扩展接口的选择

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

2、温度传感器与A\D转换器的选择

本系统选用温度传感器AD590构成测温系统。AD590是一种电压输入、电流输出型集成

温度传感器,测温范围为-55℃~150℃,非线性误差在±0。30℃,其输出电流与温度成正比,温度没升高1K(K为开尔文温度),输出电流就增加1uA。其输出电流I=(273+T)uA。本设

计中串联电阻的阻值选用2KΩ,所以输出电压V

=(2730 + 10T)MV.另外,为满足系统输入

+

模拟量进行处理的功能,对其再扩展一片ADC0809,以进行模拟—数字量转化。

3、显示接口芯片

为满足本次设计温度显示的需要,我们选择了8279芯片,INTEL8279芯片是一种通用

的可编程的键盘、显示接口器件,单个芯片就能完成键盘键入和LED显示控制两种功能。

备注:系统硬件接线应尽量以插接形式连接,这样便于多用途使用和故障的检查和排除。

第三章系统主要元件功能与原理介绍

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所示:

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

1、执行部件(EU)

功能:负责指令的执行。

组成:包括①ALU(算术逻辑单元)、②通用寄存器组和③标志寄存器等,主要进行8位

及16位的各种运算。

2、总线接口部件(BIU)

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

者I/O端口。

组成:它由①段寄存器(DS、CS、ES、SS)、②16位指令指针寄存器IP(指向下一条

要取出的指令代码)、③20位地址加法器(用来产生20位地址)和④6字节(8088为4字节)指令队列缓冲器组成。

3、8086 BIU的特点

①8086的指令队列分别为6/4个字节,在执行指令的同时,可从内存中取出后续的指

令代码,放在指令队列中,可以提高CPU的工作效率。

②地址加法器用来产生20位物理地址。8086可用20位地址寻址1M字节的内存空间,

而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,

这个机构就是20位的地址加法器。

例如:CS=0FE00H,IP=0400H,则表示要取指令代码的物理地址为0FE400H。

4、BIU与EU的动作协调原则

总线接口部件(BIU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所

要求的信息处理任务:

①每当8086的指令队列中有两个空字节,或BIU就会自动把指令取到指令队列中。其

取指的顺序是按指令在程序中出现的前后顺序。

②每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然

后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者I/O端口,

那么EU就会请求BIU,进入总线周期,完成访问内存或者I/O端口的操作;如果此时BIU

正好处于空闲状态,会立即响应EU的总线请求。如BIU正将某个指令字节取到指令队列中,则BIU将首先完成这个取指令的总线周期,然后再去响应EU发出的访问总线的请求。

③当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。

相关文档
最新文档