压力测控系统设计.docx
《压力测控系统设计.docx》由会员分享,可在线阅读,更多相关《压力测控系统设计.docx(18页珍藏版)》请在冰豆网上搜索。
压力测控系统设计
学号
《微型计算机原理与接口技术》
课程设计
(2008级本科)
题目:
压力测控系统设计
系(部)院:
机电工程学院
专业:
电气工程及其自动化
作者姓名:
指导教师:
职称:
副教授
完成日期:
2011年6月30日
-----学院本科生课程设计任务书
论文题目
压力测控系统设计
作者姓名
所属系专业年级
电气工程及其自动化专业
指导教师姓名、职称
副教授
任务下达日期
2011年6月20日
设计的主要内容
一.设计内容:
1.利用压力传感器和ADC0809采用中断方式设计一个压力测试系统,并将测试结果(十进制)在LED上显示出来,LED的显示内容为XXX,X为测试值.
2.当压力低于30Kpa,黄灯亮,当压力高于150Kpa时,红灯亮。
二.设计报告要求
1,选用8086CPU和适当的存储器芯片,接口芯片完成相应的功能。
2,设置键盘和LED完成输入和显示功能。
3,画出详细的硬件连接图。
4给出程序设计思路,画出各程序流程图。
5.给出RAM地址分配表。
6.给出所有程序清单并加上必要注释。
7.完成设计说明书,(包括封面,目录,设计任务书,硬件设计思路,硬件原理图,软件设计思路,程序流程图,程序清单,所有器件型号,总结体会,参考文献)
三.设计进度
1.讨论设计题目2011年6月20日
2.查资料2011年6月20日
3.完成对硬件电路的基本设计2011年6月21日-----------2011年6月24日
4.完成软件流程图及软件设计2011年6月25日----------2011年6月26日
5.软硬件统调,写说明书,画图2011年6月27日----------2011年6月28日
6.答辩2011年7月1日
指导教师签字:
摘要
压力测控系统是工业生产过程自动化中的重要测量设备,可以用来测量压力、液位等工程参数。
本文介绍了一种基于8086微处理器的压力测控系统,系统操作简便、自动化程度高、扩展方便且具有良好的人机交互能力。
该系统通过实验,取得了较为满意的控制效果。
可应用在一些精度要求不太高的系统中。
为了降低成本,在满足性能的要求下,选择低成本器件,简化系统设计。
关键字:
8086处理器8255接口A/D转换器
压力传感器LED
目录
第一章设计主要工作思路-1-
第二章压力测控系统的总体概况-2-
2.1压力测控系统的总体结构-2-
2.2系统硬件选择和设计-2-
2.2.1系统扩展口的选择-2-
2.2.2压力传感器与A/D转换器的选择-2-
第三章系统主要原件功能与原理介绍-3-
3-18086微处理器及其体系结构-3-
3.1.18086微处理器的一般性能特点-3-
3.1.28086CPU的变成结构-3-
3.28255并行I/O接口-4-
3.2.1并行接口芯片8255A(见图3-3)-4-
3.2.2芯片8255A在本设计中的功能作用-5-
3.2.3芯片8255的功能分析-5-
3.3ADC0809概述-7-
3.3.1ADC0809的主要特性-7-
3.3.2内部结构-7-
3.3.3外部特性(引脚功能)-8-
3.4LED显示器工作原理-9-
第四章系统各部分功能模块介绍-10-
4.1压力测量和控制部分-10-
4.2ADC0809与8255的连接-10-
4.38086的可编程外设接口电路-10-
第五章系统软件设计及系统程序-10-
5.1系统软件设计-10-
5.2系统流程图-12-
5.3系统程序-13-
第一章设计主要工作思路
1.1.利用压力传感器和ADC0809采用中断方式设计一个压力测试系统,并将测试结果(十进制)在LED上显示出来,LED的显示内容为XXX,X为测试值.
1.2.当压力低于30Kpa,黄灯亮,当压力高于150Kpa时,红灯亮。
第二章压力测控系统的总体概况
2.1压力测控系统的总体结构
2.2系统硬件选择和设计
2.2.1系统扩展口的选择
本次设计采用的是8086微处理器,选择8255A可编程并行接口作为系统的扩展接口,8255A的通用性强,适应灵活,通过它CPU可直接与外设相连接。
2.2.2压力传感器与A/D转换器的选择
为使设计工作简单可靠,我们采用了MPX4080D型号压力传感器构成压力测控系统。
另外,为满足系统输入模拟量进行处理的功能,对其在扩展一片ADC0808,以进行模拟——数字量转换。
第三章系统主要原件功能与原理介绍
3-18086微处理器及其体系结构
3.1.18086微处理器的一般性能特点
8086是Intel系列的16位微处理器,它采用HMOS工艺技术制造,芯片采用40系列线封装,单一的+5V电源,时钟频率为5~10MHz。
8086有16根数据线和20根地址线,可以处理8位和16位数据,寻址1MB的储存单元和64KB的I/O端口。
(见图3-1)
3.1.28086CPU的变成结构
编程结构:
是指从程序员和使用者的角度看到的结构,亦可称为功能结构。
从功能上来看,8086CPU可分为两部分,即总线接口部件BIU(BusInterfaceUnit)和执行部件EU(ExecutionUnit)。
8086CPU的内部功能结构如图3-2所示:
图3-28086/8088内部功能结构图
3.28255并行I/O接口
3.2.1并行接口芯片8255A(见图3-3)
8255A是Intel系列的并行接口芯片,常作为微机系统与外部设备接口。
由于它是可编程的,可以通过软件来设置芯片的工作方式,因此,用它连接外部设备时,一般不需要在附加外部电路,给使用带来很大方便。
如图下图3-3所示
图3-3
3.2.2芯片8255A在本设计中的功能作用
8255是并行的I/0接口芯片,内部有三个相互独立的8位数据端口。
8255实现了外设与8086之间的数据传输。
8255的B口工作于方式0,作为输出口,其PB0~PB7分别与LED数码管显示器的显示器的八段a,b,c,d,e,f,g,dp相连,C口作为输出口,其PC7~PC0与LED数码管显示器的LED0~LED7相连,作为位选。
3.2.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与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
RD:
读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入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时,控制寄存器被选择.
3.3ADC0809概述
ADC0809是采用分辨率为8位的、以逐次逼近原理进行模——数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
3.3.1ADC0809的主要特性
1)8路输入通道,8位A/D转换器,即分辨率为8位。
2)具有转换起停控制端。
3)转换时间为100μs
4)单个+5V电源供电。
5)模拟输入电压范围0~+5V,不需要零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度。
7)低功耗,约15mW.
3.3.2内部结构
(1)ADC0809的内部逻辑结构
由下图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三台输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三台输出锁存器取走转换完的数据。
图3-4ADC0809的内部逻辑结构
3.3.3外部特性(引脚功能)
图3-5ADC0809引脚图
ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。
下面说明各引脚功能。
IN0~IN7:
8路模拟量输入端。
2-1~2-8:
8位数字量输出端。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路。
ALE:
地址锁存允许信号,输入,高电平有效。
START:
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):
基准电压。
Vcc:
电源,单一+5V。
GND:
地。
3.4LED显示器工作原理
它由若干个发光二极管按一定的规律排列而成。
当某一个发光二极管导通时,相应的一个点或一个笔画被点亮,控制不同组合的二极管导通,就能显示出多种字符。
常见的LED数码管的外形内部结构如图1所示,图2属于共阳极结构,图3属于共阴极结构。
通过控制管脚a、b、c、d、e、f、g、dp的电平即可获得所需的符号显示。
显示器的工作方式有两种,一种是静态显示:
当显示器显示某一个字符时,相应的发光二极管恒定的导通或截止。
另一种是动态显示方式:
所谓的动态显示即一位一位轮流的点亮各显示器,对于每一位显示器来说,每隔一段时间点亮一次。
但由于时间间隔很小,我们就可以看到完整的显示了。
图3-5LED显示器工作原理
第四章系统各部分功能模块介绍
4.1压力测量和控制部分
我们采用了MPX4080D型号压力传感器构成压力测控系统。
另外,为满足系统输入模拟量进行处理的功能,对其在扩展一片ADC0808,以进行模拟——数字量转换。
4.2ADC0809与8255的连接
模拟输入通道地址A,B,C直接接地,因此ADC0809只对通道的电压进行模数转换。
为了减少输入噪声其他通道直接接地。
ADC0809的数据线DO-D7与8255的PB0-PB7相连接。
其片选CS与8086的地址/数据总线AD14相连接。
4.38086的可编程外设接口电路
8255的数据口D0-D7与CPU的6根控制线相连接,控制8255A内部的各种操作。
控制线RESET用来试8255A复位。
CS和地址线A1及A0用于芯片选择和通道寻址。
分别于8086的高位地址线A19,A1,A0相连接。
第五章系统软件设计及系统程序
5.1系统软件设计
本设计的目的是以8086微处理器为控制器,将压力传感器输出的小信号经过放大器后,送至A/D转换器;微控制器实时采集、显示压力值,
压力测控系统原理图:
5.2系统流程图
5.3系统程序
DATASEGMENT
data1:
db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0ah
db86h,8eh
ADPORTEQU0FFF0H
IOCONPTEQU372BH
IOAPTEQU372AH
IOBPTEQU3729H
IOCPTEQU3728H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
disp0:
movcx,00ffh
movbx,077FH
movbl,ds:
[bx]
movbh,0h
pushdx
movdx,0ff22h
moval,cs:
[bx+OFFSETDATA1]
OUTDX,AL
movdx,0ff21h
moval,ah
OUTDX,AL
disp1:
popdx
decdx
shrah,01h
jnzdisp0
movdx,0ff22h
moval,0ffh
OUTDX,AL
ADCON1:
MOVAX,00H
MOVAX,0FFF0H
MOVDX,AX
OUTDX,AL
MOVCX,0500H
DELAY1:
MOVAX,0
MOVDX,AX
INAL,DX
PUSHAX
ret
IO:
MOVDX,372BH
MOVAL,10010010B
OUTDX,AL
MOVDX,3729H
INAL,DX
LESS:
POPAX
MOVDX,3728H
CMPAX,30
JBYLL1
MOVAL,10H
OUTDX,AL
CALLYLL1
GREATER:
POPAX
MOVDX,IOCPT
CMPAX,150
JARLL1
MOVAL,08H
OUTDX,AL
CALLRLL1
YLL1:
CALLCONVERS
JMPADCON1
TESTAL,10H
JNZYLL1
RLL1:
CALLCONVERS
JMPADCON1
TESTAL,08H
JNZRLL1
CONVERS:
MOVBL,AL
MOVBX,077DH
movDS:
[BX],al
moval,ah
INCbx
movDS:
[Bx],al
INCbx
movDS:
[Bx],ah
RET
FOREVER:
MOVBX,0
MOVWORDPTRDS:
[BX+077AH],0000H
ADDBX,2
MOVWORDPTRDS:
[BX+077AH],0009H
ADDBX,2
MOVWORDPTRDS:
[BX+077AH],0008H
CODEENDS
ENDSTART
小结
通过两周的努力,课程设计终于完成了。
期间发现了自己的很多不足,比如,专业知识学的漏洞百出,不能自如的应用画图软件等,通过这次课程设计,使我对专业知识有了更深层次的认识及巩固,进一步的掌握了程序的编程,了解了微机原理在实际中的应用以及与实际生活的联系,并且学会了Visio画图软件的使用。
最后,感谢我们的指导老师在百忙中抽出时间,耐心的指导我们,才使我们的课程设计得以顺利的完成。
请允许我向你们致以崇高的敬意,同时,也感谢同学们在设计中给予我的帮助和支持。
参考文献
【1】冯博琴《微机原理与接口技术》2007清华大学出版社
【2】何克忠《计算机控制系统》2002清华大学出版社
【3】戴梅萼《微型计算机技术及应用》2007清华大学出版社
【4】沈美明温冬婵《IBM-PC汇编语言程序设计》2001清华大学出版社
【5】何小海严华《微机原理与接口技术》2006科学出版社
【6】楼顺天周佳社《微机原理与接口技术》2006科学出版社
【7】严永军《prote199电路设计与应用》2001国防工业出版社
【8】朱善君《汇编语言程序设计》1988清华大学出版社
微机原理与接口技术课程设计成绩评定表
姓名
学号
专业班级
电气工程及其自动化08级1班
课程设计题目:
压力测控系统设计
课程设计答辩或质疑记录:
成绩评定依据:
评定项目
评分成绩
1.选题合理、目的明确(10分)
2.设计方案可行性、创新性(20分)
3.设计结果(系统原理图、源程序、调试运行结果)(30分)
4.平时成绩(态度认真、遵守纪律)(10分)
5.设计报告的规范性、参考文献充分(不少于5篇)(10分)
6.答辩(20分)
总分
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日