温度采集系统设计.docx
《温度采集系统设计.docx》由会员分享,可在线阅读,更多相关《温度采集系统设计.docx(20页珍藏版)》请在冰点文库上搜索。
温度采集系统设计
目录
1引言1
2温度采集系统设计要求1
3设计的意义和方案1
4硬件设计2
4.1硬件设计概要2
4.2芯片列表及其功能说明3
4.2.1芯片列表3
4.2.2主控芯片简介3
4.2.3可编程并行接口芯片简介5
4.2.4A/D转换器简介7
4.3硬件电路设计系统原理图及其说明8
5程序流程图及其说明13
6源程序及说明16
7总结22
参考文献23
1引言
在现代的多种行业中,温度采集系统成为了不可或缺的应用。
温度是生产与科学研究必须要考虑的环境参数,多种企业在生产过程中,存在着许多需要采集相应的温度信息的场合与器械。
为了提高产品质量与生产效率,厂家需对产品及生产环境的温度、压力、速度等因素进行监测和控制。
本设计包括确定控制任务、系统总体方案设计、硬件系统设计、软件程序的设计等,使学生进一步学习与理解计算机控制系统的构成原理、接口电路与应用程序,巩固与综合专业基础知识和相关专业课程知识,提高学生运用理论知识解决实际问题的实践技能。
2温度采集系统的设计要求
设计一个温度采集系统,系统可以实现一路温度的采集,在3位LED显示器上显示当前温度。
温度检测显示范围为00~99℃,精确度为±0.1℃。
本设计所用器件主要有传感器,A/D转换器,8088CPU,可编程并行接口8255,LED显示器等。
首先传感器把所测的温度转换为电压,输入A/D转换器中进行转换,然后再把得到的二进制数经过CPU在LED上显示出来。
3设计的意义和方案
该课程设计所要实现的正是设计一个以8088cpu为核心的温度监测系统,(A/D采用ADC0809)。
系统可实现温度信号的采集,在3位LED显示器上显示当前的温度。
当温度信号改变时,LED显示的值也随之改变。
图3.1系统整体框图
4硬件设计
4.1硬件设计概要
本温度采集系统硬件用8088CPU主控,温度传感器用LM335系列电压输出型传感器,用3位共阴LED数码管以动态扫描法实现温度显示。
本设计所选的温度传感器为LM335系列电压输出集成温度传感器,此传感器的工作温度范围为-10~100摄氏度,作为一个电压源,当工作电流在0.4~5mA范围内变化时,并不影响传感器的性能,因为它的动态电阻小于1欧姆,如果在25摄氏度下标定,在100度宽的温度范围内误差小于1摄氏度,具有良好的输出线性。
它工作原理图如下:
图4.1电压型集成温度传感器原理图
图4.2八段共阴极数码显示管
4.2芯片列表及其功能说明
4.2.1芯片列表
主控芯片8088CPU,A/D转换器0809,可编程并行接口芯片8255,LED显示器
4.2.28088CPU简介
8088CPU是双列直插40脚封装。
部分引脚采用分时复用方式,即在不同时间传送不同的信息;还有一些引脚的功能因CPU的工作方式(最小最大方式)的不同而不同。
地址总线和数据总线
地址和数据分时使用引脚,共占20根引脚。
20根地址总线,用于输出CPU要访问的内存单元(或I/O端口)的地址,为三态输出信号;(与数据和状态线复用)
16根数据总线,用来在CPU与内存(或I/O端口)之间传送数据,为三态双向信号。
(与低16位地址线复用)
AD15~AD0——地址/数据总线
A19/S6~A16/S3——地址/状态线
控制总线
MN/MX——工作方式选择控制线,用来控制8088的工作方式。
MN/MX接+5V,最小方式,由8088提供系统所需要的全部控制信号,用来构成单处理机系统;MN/MX接地,最大方式,系统部分总线控制信号由专用的总线控制器8288提供,该方式用于多处理机系统。
与工作方式无关的控制线
RD——读控制信号
READY——准备好信号
RESET——复位信号
INTR——可屏蔽中断请求
NMI——不可屏蔽中断请求
TEST——测试信号
BHE/S7——数据总线高8位允许/状态S7信号
MN/MX——工作方式选择
ALE——地址锁存允许
DEN——数据传送允许
DT/R——数据发送/接收信号
M/IO——存储器/输入输出选择信号
WR——写控制信号
INTA——中断响应信号
HOLD——总线请求信号
HLDA——总线响应信号
LOCK——总线锁定信号
RQ/GT1和RQ/GT0——总线请求响应
CLK——时钟信号
VCC——电源(输入)接+5V电源。
GND——地线
图4.38088引脚图
4.2.3可编程并行接口芯片简介
可编程接口芯片选择8255A芯片
①8255A内部结构
8255A芯片是一个采用NMOS工艺制造的40引脚双列直插式(DIP)封装组件。
8255A有3个8位数据端口,即A口、B口及C口,它们都可以分别作为输入口或输出口使用;A组控制与B组控制;读/写控制逻辑;数据总路线缓冲器。
②8255A的引脚
图4.48255A引脚图
PA7~PA0:
A口的8条I/O线。
8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有A口允许这样做。
PB7~PB0:
B口的8条I/O线。
不可以设置成双向口,其它和A口一样。
PC7~PC0:
C口的8条I/O线。
不可以设置成双向口,但它可以分拆为两组即高4位和低4位,这两组可以任意设置为输入或输出。
除了作为独立的I/O线外,C口还经常为A口、B口服务,配合A口、B口作联络线使用。
A1、A0:
端口地址选择信号。
用于选择8255A的3个数据端口和一个控制口。
当A1A0=00时,选择端口A;为01时,选择端口B;为10,选择端口C;为11时,选择控制口。
③8255A工作方式
方式0:
基本的输入/输出方式。
A口、B口、C口都可以工作在些方式下。
方式1:
选通输入/输出方式(应答方式)。
A口、B口工作在此方式下。
方式2:
双向传输方式。
只有A口可以工作在此方式下。
④8255A方式控制字格式
D7
D6、D5
D4
D3
D2
D1
D0
1
A口
A口
C口高4位
B口
B口
C口低4位
00方式0
01方式1
1x方式2
0输出
1输入
0输出
1输入
0方式0
1方式1
0输出
1输入
0输出
1输入
表4.18255A方式控制字格式表
为一种简单的输入/输出方式,没有规定固定的应答联络信号,可用A,B,C三个口的任一位充当查询信号,其余I/O口仍可作为独立的端口和外设相连。
即:
PA0—PA7,PB0—PB7,PC0—PC7均可作为I/O线使用,没有限制一定传送什么信号;口A、口B、口C高4位和口C低4位可以分别设定为输入口或输出口。
方式0的应用场合有两种:
一种是同步传送;一种是查询传送。
方式控制字
方式控制字决定了8255的工作方式。
8255工作之前软件上必须初始化,即将方式控制字写入控制字寄存器中,以指定端口的工作方式。
4.2.4A/D转换器简介
A/D转换器选择ADC0809芯片
ADC0809包括一个8位的逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑。
用它可直接输入8个单端的模拟信号,分时进行A/D转换,再多点巡回监测、过程控制等领域中使用非常广泛。
ADC0809的主要技术指标为:
·分辨率:
8位
·单电源:
+5V
·总的不可调误差:
±1LSB
·转换时间:
取决于时钟频率
·模拟输入范围:
单极性0~5V
·时钟频率范围:
10KHZ~1280KHZ
图4.5ADC0809引脚图
4.3硬件电路设计系统原理图及其说明
图4.6硬件电路设计原理图
图4.7A/D转换模块原理图
图4.8主控模块原理图
图4.9并行接口模块原理图
图4.10显示模块原理图
5程序流程图及其说明
总流程图
数据采集系统流程图
温度显示子程序流程图
6源程序
DATASEGMENT
BUF1DB?
BUF2DW?
BUF3DW?
LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DATAENDS
STACKSEGMENGT
STA1DW?
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA,SS:
STACK
EN_8255PROCNEAR;以下是数据采集部分
MOVDX,37BH
MOVAL,91H
OUTDX,AL
RET
EN_8255ENDP
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAX,STACK
MOVSS,AX
LEASI,BUF1
CALLEN_8255;调用初始化8255程序
MOVBL,0;通道号,初始指向第0路
MOVCX,1;共采集1次
AGAIN:
MOVAL,BL
MOVDX,379H;送通道地址
OUTAX,AL
ORAL,10H
OUTDX,AL;送ALE信号(上升沿)
ANDAL,0EFH
OUTDX,AL;输出START信号(下降沿)
NOP;空操作等待转换
MOVDX,37AH
WAIT1:
INTAL,DX;读EOC状态
ANDAL,20H
JZWAIT1;若EOC为地电平则等待
MOVDX,379H
MOVAL,BL
ORAL,20H
OUTDX,AL;EOC端为高电平则输出读允许信号OE=1
MOVDX,378H
INAL,DX;读入转换结果
MOV[SI],AL;把转换的数字量送存储器
MOVDX,379H
MOVAL,0
OUTDX,AL;若完成数据采集则回到初始状态
START2:
MOVAX,[SI];以下程序是把二进制转化为压缩BCD码
LEASI,BUF2
LEADI,BUF3
XORDX,DX
MOVCX,OAH;基数10
DIVCX
CMPAL,0;商=0?
JNZNEXT1;不等则跳到NEXT1
MOV[DI],AL;等就存结果
NEXT1:
MOV[DI],DL
DIVCX
CMPAL,0
JNZNEXT2
INCDI
MOV[DI],AL
NEXT2:
MOVDL,O
DIVCX
INCDI
MOV[DI],DL
INCDI
MOV[DI],AL
DON:
MOVAX,[DI+1];这小段是把扩展二进制转化为压缩BCD码
MOVCF,0
MOVCL,4
ROLAX,[DI]
ADCAX,[DI]
ADDDI,2
MOVDX,[DI]
SALDX,CL
MULDX,10H
ADCDX,AX
MOV[DI],DX
RET
DISP1:
PROCNEAR;这段是显示子程序
LEABL,LED
MOVAL,[DI]
LEABX,TAB
XLATTAB
CMPAL,BL
JNZDISP3
OUT0FF01H
DISP3:
INCDI
JMPDISP1
TAB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,40H
REP
START3:
MOVDX,0FF03H;以下是温度实时显示部分
MOVAL,91H
OUTDX,AL
DON:
MOVDX.,FF00H
INTAL,DX
JNZDON
MOVDX,0FF01H
CALLDISP1;调用显示子程序
OUTDX.,AL
CALLDELAY;调用延时子程序
EXIT:
MOCAH,4CH
INT21H
DELAY:
PROCNEAR;延时子程序
MOVCX,150000
DELAY1:
LOOPDELAY1
REP
CODEENDS
ENDSTART
7心得体会
通过本次课程设计,我们巩固了课本学习的一些知识点,尤其是该课程设计中用到的几个芯片的功能和特点,培养了收集相关资料和整理资料的能力,尤其是熟悉了protel软件的设计和仿真操作。
学会了用所学得的相关知识来解决实际操作中遇到的困难,很有收获感。
在为期一周的设计过程中,我们小组成员相互讨论共同完善,终于在规定的时间内完成了设计任务。
感谢指导老师给我们的无私帮助和热情讲解。
这样的机会很难得,我们会继续努力,争取做好每一个需要的设计任务。
参考文献
[1]周耿烈.微机原理与接口技术实验指导书,2001年3月
[2]雷丽文.微机原理与接口技术.电子工业出版社,1999年第一版
[3]沈美明.IBMPC机汇编语言程序设计.清华大学出版社,1991年第一版
[4]周荷琴.微型计算机原理与接口技术.中国科学技术大学出版社,2004.12
[5]刘全忠.汇编语言实用程序.天津大学出版社,1991.6
[6]李朝青.单片机DSP外围数字IC技术手册.北京航空航天大学出版社,2003.
[7]刘乐善.微型计算机接口技术及应用.华中科技大学出版社,2004
[8]刘书明.高性能数模与模数转换器件.西安电子科技大学出版社,2000