步遥情感网
您的当前位置:首页微机原理 压力测控系统设计

微机原理 压力测控系统设计

来源:步遥情感网


目 录

一、 设计目的 ............................................................................................................................................... 2 二、设计主要工作思路 ................................................................................................................................. 2 三 、 系统各部分功能模块介绍 ................................................................................................................. 2 3.1 8086的可编程外设接口电路 ............................................................................................................... 2

3.2 ADC0809与8255的连接 ............................................................................................................. 2 3.3压力测量和控制部分 ....................................................................................................................... 3 3-4 8086微处理器及其体系结构 ....................................................................................................... 3

3.4.1 8086微处理器的一般性能特点 ........................................................................................... 3 3.5ADC0809概述 ................................................................................................................................... 4

3.5.1 ADC0809的主要特性 ........................................................................................................... 4 3.5.2 内部结构 ............................................................................................................................... 4 3.5.3外部特性(引脚功能) ........................................................................................................ 5 3.6.2芯片8255 A在本设计中的功能作用................................................................................... 6 3.6.3芯片8255的功能分析 .......................................................................................................... 7

四、 压力测控系统的总体概况 ................................................................................................................... 8

4.1压力测控系统的总体结构 ............................................................................................................... 8 4.2系统硬件选择和设计 ....................................................................................................................... 8

4.2.1系统扩展口的选择 ................................................................................................................ 8 4.2.2压力传感器与A/D转换器的选择 ....................................................................................... 8 4.3LED显示器工作原理 ....................................................................................................................... 8 五、 系统软件设计及系统程序 ................................................................................................................... 9

5.1系统软件设计 ................................................................................................................................... 9 5.2系统流程图 ..................................................................................................................................... 11 系统程序 ....................................................................................................................................................... 12 小 结 ......................................................................................................................................................... 16 参考文献 ....................................................................................................................................................... 17

1

一、 设计目的

本设计的目的是以8086微处理器为控制器,将压力传感器输出的小信号经过放大

器后,送至A/D转换器;微控制器实时采集、显示压力值。

二、设计主要工作思路

2.1. 利用压力传感器和ADC0809采用延时方式设计一个压力测试系统,并将测试结果(十进制)在LED上显示出来,LED的显示内容为XXX,X为测试值. 2.2.当压力低于30Kpa,黄灯亮,当压力高于150Kpa时,红灯亮。

三 、 系统各部分功能模块介绍

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

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

3.2 ADC0809与8255的连接

模拟输入通道地址A,B,C直接接地,因此ADC0809只对通道的电压进行模数转换。

为了减少输入噪声其他通道直接接地。ADC0809的数据线DO-D7与8255的PB0-PB7相连接。其片选CS与8086的地址/数据总线AD14相连接。

2

3.3压力测量和控制部分

我们采用了MPX4080D型号压力传感器构成压力测控系统。另外,为满足系统输入模拟量进行处理的功能,对其在扩展一片ADC0808,以进行模拟——数字量转换。

3-4 8086微处理器及其体系结构 3.4.1 8086微处理器的一般性能特点

8086是Intel系列的16位微处理器,它采用HMOS工艺技术制造,芯片采用40系列线封装,单一的+5V电源,时钟频率为5~10MHz。

8086有16根数据线和20根地址线,可以处理8位和16位数据,寻址1MB的储存单元和KB的I/O端口。(见图3-1)

118119120121122GNDAD14AD13AD12AD11VCCAD15A16A17A18A19BHEMN/MX159158157156155154153152151150123AD10124AD9125AD8126AD7127AD6128AD5129AD4130AD3131AD2132AD1133AD0134NMI135INTR136CLK137GND8086RDHOLDHLDA140149WR148M/IO147DT/R146DEN145ALE144INTA143TESTREADY142141RESET

图(3-1)8086引线图

3

3.5ADC0809概述

ADC0809是采用分辨率为8位的、以逐次逼近原理进行模——数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

3.5.1 ADC0809的主要特性

1)8路输入通道,8位A/D转换器,即分辨率为8位。 2)具有转换起停控制端。 3)转换时间为100μs 4)单个+5V电源供电。 5)模拟输入电压范围0~+5V

,不需要零点和满刻度校准。

6)工作温度范围为-40~+85摄氏度。 7)低功耗,约15mW.

3.5.2 内部结构

(1)ADC0809的内部逻辑结构

由下图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三台输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三台输出锁存器取走转换完的数据。

4

IN0IN1IN2IN3IN4IN5IN6IN7ABCALE8路模拟量开关地 址锁 存与 译码 器STCLK8路A/D转换器三态输出锁存器EOCDOD1D2D3D4D5D6D7VREF(+)VREF(-)OE

图3-4 ADC0809的内部逻辑结构

3.5.3外部特性(引脚功能)

VCCIN3IN4IN5IN6IN7D0D1D2D4D5D6D7D8IN2IN1IN0ADD1ADD2ADD3ADCREF(-)0809EOCOEVCCCLKSTARTALEGND

图3-5 ADC0809引脚图

ADC0809芯片有2引脚,采用双列直插式封装,如图所示。下面说明各引脚功能。IN0~IN7:8路模拟量输入端。2-1~2-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。ALE:地址锁存允许信号,输入,高电平有效。START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其

5

启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于0KHZ。REF(+)、REF(-):基准电压。Vcc:电源,单一+5V。 GND:地。

3.6 8255并行I/O接口

3.6.1 并行接口芯片8255A(见图3-3)

8255A是Intel系列的并行接口芯片,常作为微机系统与外部设备接口。由于它是

可编程的,可以通过软件来设置芯片的工作方式,因此,用它连接外部设备时,一般不需要在附加外部电路,给使用带来很大方便。如图下图3-3

343332313029282753698356D0D1D2D3D4D5D6D7RDWRA0A1RESETCS4PA03PA12PA21PA340PA4PA539PA638PA737PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7181920212223242514151617131211108255A

图3-3

3.6.2芯片8255 A在本设计中的功能作用

8255是并行的I/0接口芯片,内部有三个相互的8位数据端口。8255实现了外设与8086之间的数据传输。8255的B口工作于方式0,作为输出口,其PB0~PB7分别与LED数码管显示器的显示器的八段a,b,c,d,e,f,g,dp相连,C口作为输出口,其

6

PC7~PC0与LED数码管显示器的LED0~LED7相连,作为位选。

3.6.3芯片8255的功能分析

1、8255A是可编程并行接口,内部有3个相互的8位数据端口,即A口、B口和C口。三个端口都可以作为输入端口或输出端口。A口有三种工作方式:方式0、方式1和方式2;B口可以工作在方式0或方式1下;C口通常作为联络信号使用。8255的工作只有当片选CS有效时才能进行工作,而控制逻辑端口实现对其他端口的控制。当8255工作在方式0时,即基本输入输出方式时,可将三个数据端口划分为四个的部分:A口和B口作为两个8位端口,C口的高4位和低4位可以用作两个4位的输入输出口,各个端口都可地用作输入或输出。

2、数据总线缓冲器是一个8位双向三态缓冲器,三态是由读/写控制逻辑控制的,它可与系统的DB直接相连,实现CPU和8255A之间的信息传送;读写控制器用于管理数据、控制字或状态字的传送,接收来自CPU的地址信息及一些控制信号,然后向A组、B组控制电路发送命令,控制端口数据的传送方向。

3、8255引脚:RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0控制字写入8255。 D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。

PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。'

A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器. 当A0=0,A1=0时,PA口被选择; 当A0=0,A1=1时,PB口被选择; 当A0=1,A1=0时,PC口被选择; 当A0=1.A1=1时,控制寄存器被选择.

7

四、 压力测控系统的总体概况

4.1压力测控系统的总体结构

8086微处理器8255 接口A/D转换器压力传感器报警灯译码LED显示

4.2系统硬件选择和设计 4.2.1系统扩展口的选择

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

4.2.2压力传感器与A/D转换器的选择

为使设计工作简单可靠,我们采用了MPX4080D型号压力传感器构成压力测控系统。另外,为满足系统输入模拟量进行处理的功能,对其在扩展一片ADC0808,以进行模拟——数字量转换。

4.3LED显示器工作原理

它由若干个发光二极管按一定的规律排列而成。当某一个发光二极管导通时,相应的一个点或一个笔画被点亮,控制不同组合的二极管导通,就能显示出多种字符。常见的LED数码管的外形内部结构如图1所示,图2属于共阳极结构,图3属于共阴极结构。通过控制管脚a、b、c、d、e、f、g、dp的电平即可获得所需的符号显示。显示器的工作方式有两种,一种是静态显示:当显示器显示某一个字符时,相应的发光二极管恒定

8

的导通或截止。另一种是动态显示方式:所谓的动态显示即一位一位轮流的点亮各显示器,对于每一位显示器来说,每隔一段时间点亮一次。但由于时间间隔很小,我们就可以看到完整的显示了。

-gf+ab12345afbgcedpd6710.cdped+-abcdefgdp+abcdefgdp-

图3-5LED显示器工作原理

五、 系统软件设计及系统程序

5.1系统软件设计

本设计的目的是以8086微处理器为控制器,将压力传感器输出的小信号经过放大器后,送至A/D转换器;微控制器实时采集、显示压力值, 压力测控系统原理图:

9

AD0D0RESET21AD0~15D6PA7PA0PB0PA1PB2PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC76CS1415161713AD7U325ADD A24ADD B23ADD C22ALE2-1MSBADC08092-8LSB13GND28IN0 MPX 4080D +5V8086DT/RRDA0A1WRIO/MAD0 9AD1 85368255A6STARTEOC79OE10CLOCK11VCCVREF(+)12VREF(-)16U7IORORU8L1黄红ORAD 15LOWU4≥1AD 10AD 7AD 2AD9AD8AD6AD5AD4AD34078I1I2U574LS00U6ABCDEFGDPPC0PB7PB6PB5PB4PB3PB2PB1PB0123AND

10

PC2PC1 开始初始化采集A/D值用BCD码转化程序转化成十进制LED显示压力值延时实际压力低于30 NPC4口=1YY黄灯亮实际压力高于150 NPC5口=1Y红灯亮PC5=0返回结束11

5.2系统流程图

系统程序

DATA SEGMENT DATA1: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H, DB 0AH, 86H,8EH ;0~ 9段码 ADPORT EQU 0FFF0H ;定义AD口󰀀

PCW EQU 372BH ; 定义8255控制口 PA EQU 3728H ; 定义8255A口 PB EQU 3729H ; 定义8255B口 PC EQU 372AH ; 定义8255C口 DATA ENDS

CODE SEGMENT ;代码段󰀀

ASSUME CS:CODE,DS:DATA ;段分配󰀀 START:

MOV AX,DATA ;初始化󰀀 MOV DS,AX DISP0:

MOV CX,00FFH

MOV BX,077FH

MOV BL,DS:[BX]

MOV BH,0H

PUSH DX

MOV DX,0FF22H

MOV AL,CS:[BX+OFFSET DATA1]

OUT DX,AL

MOV DX,0FF21H

MOV AL,AH

OUT DX,AL DISP1:

12

POP DX

DEC DX

SHR AH,01H

JNZ DISP0 ;不为0转移至DISP0󰀀

MOV DX,0FF22H

MOV AL,0FFH

OUT DX,AL ;这里DISP、DISP0、DISP1的作用是为了显示三位数值,从左至右依次的输出各位至。高三位不变,低三位进行显示󰀀 ADCON1:MOV AX,00H ;启动A/D󰀀 MOV AX, 0FFF0H MOV DX,AX

OUT DX, AL

MOV CX,0500H

DELAY1:

MOV AX,0 ;将通道0地址写入DX󰀀 MOV DX,AX ;读取A/D转化值󰀀

IN AL,DX ;读取A/D转化值

PUSH AX ;输入AX 即将A/D转化数据存入AX中󰀀 RET IO:

MOV DX,372BH

MOV AL,10010010B

OUT DX,AL

MOV DX,3729H

IN AL,DX ;从DX中读入AL,读出A/D转化值󰀀 MOV BL,AL ;存AL到BL󰀀 AND AL,0F0H ;屏蔽AL的低四位 󰀀 MOV CL,04H󰀀

SHR AL,CL ;将AL的高四位右移到低四位󰀀

13

SAL AL,1 ;(AL)*2󰀀

MOV CL,AL ;(AL)*2暂存CL󰀀 SAL AL,1 ;(AL)*4󰀀 SAL AL,1 ;(AL)*8󰀀 ADD AL,CL ;(AL)*10󰀀

AND BL,0FH ;屏蔽AL的高四位󰀀 ADD AL,BL ;(AL)*10+低四位

LESS:POP AX

MOV DX,372AH

CMP AX,30 ; 比较提取8255PPC口 JB YLL1 ;若小于30跳到LL1 MOV AL,10H

OUT DX,AL ;输出PC5口

CALL YLL1 ;显示黄灯YLL1 GREATER:POP AX

MOV DX,PC

CMP AX,150 ;实际压力与150比较 JA RLL1 MOV AL,08H

OUT DX,AL ;输出PC4值

CALL RLL1 ;显示红灯LL1 YLL1:

CALL CONVERS

JMP ADCON1

TEST AL,10H ;测试提取8255PC5口 JNZ YLL1

RLL1:CALL CONVERS

JMP ADCON1

TEST AL,08H ;测试提取8255PC4口

JNZ RLL1

CONVERS: MOV BL,AL

14

MOV BX,077DH

MOV DS:[BX],AL

MOV AL,AH INC BX

MOV DS:[BX],AL INC BX

MOV DS:[BX],AH

RET ;通过两次校验将显示的三位数值分开进行存贮

FOREVER: MOV BX,0

MOV WORD PTR DS:[BX+077AH],0000H

ADD BX,2

MOV WORD PTR DS:[BX+077AH],0009H

ADD BX,2

MOV WORD PTR DS:[BX+077AH],0008H ;初始化,定义六段存储空间 CODE ENDS END START HLT

15

小 结

通过课程设计,我们要学会综合应用所学的各种理论知识和技能,对<<微机原理和

接口技术>>课程一种总结性的实践环节,系统,严格的技术及基本能力的训练。

在这次课程设计中,我感受很深,学到了很多东西,巩固了以前所学的知识。并且体会了理论和实践相结合的重要性,只有理论和实践相结合,才能更好的应用知识为社会服务。

在这次课程设计中,各位老师半年来对我这门课程的每个环节的悉心教导,严格要求,给我们创造了很多锻炼的机会,在这次课程设计过程中进一步提升了所学的知识。学习中老师严谨的态度,敏锐的学术洞察能力是我学习的模范,我衷心的感谢老师这半年来对我的教导。

16

参考文献

【1】冯博琴 《微机原理与接口技术》 2007 清华大学出版社 【2】何克忠 《计算机控制系统》 2002 清华大学出版社

【3】戴梅萼 《微型计算机技术及应用》 2007 清华大学出版社

【4】沈美明 温冬婵 《IBM-PC汇编语言程序设计》 2001 清华大学出版社【5】何小海 严华 《微机原理与接口技术》 2006 科学出版社 【6】楼顺天 周佳社《微机原理与接口技术》 2006 科学出版社 【7】严永军 《prote 199 电路设计与应用》 2001 国防工业出版社 【8】朱善君 《汇编语言程序设计》 1988 清华大学出版社

17

因篇幅问题不能全部显示,请点此查看更多更全内容