温度采集系统课程设计.docx
《温度采集系统课程设计.docx》由会员分享,可在线阅读,更多相关《温度采集系统课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
温度采集系统课程设计
1引言
1.1单片机概述
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。
它又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
1.2温度采集设计背景
随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。
在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技构中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域己经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:
①传统的分立式温度传感器
②模拟集成温度传感器
③智能温度传感器
目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。
社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍AD590的结构特征及控制方法,它是美国ANALOGDEVICES公司的单片集成两端感温电流源,并对以此传感器,AT89C51单片机为控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。
与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。
该设计控制器使用ATMBL公司的AT89C51单片机,测温传感器使用AD590,最终用LED来实现温度显示。
2设计目的任务和要求
2.1设计目的
本设计包括确定控制任务、系统总体方案设计、硬件系统设计、软件程序的设计等,使学生进一步学习与理解计算机控制系统的构成原理、接口电路与应用程序,巩固与综合专业基础知识和相关专业课程知识,提高学生运用理论知识解决实际问题的实践技能;
2.2设计任务
以8086CPU(或单片机)为核心设计一个温度采集系统,系统可以实现一路温度的采集,在3位LED显示器上显示当前温度。
2.3设计内容
本设计所用器件主要有传感器,A/D转换器,8086CPU(或单片机),可编程并行接口8255(或不用),LED显示器等。
首先传感器把所测的温度转换为电压,输入A/D转换器中进行转换,然后再把得到的二进制数经过CPU在LED上显示出来。
3系统总体方案设计
3.1方案设计
该系统主要有温度测量和数据采集两部分电路组成,在温度测量中用电测法测量温度时,首先要通过温度传感器将温度转换成电量,温度传感器有好多种方式,这里选择AD590,它是一种半导体感受式的,由测温电阻、二极管和集成电路器件组成。
利用温度传感器测出温度后,在将随被测温度变化的电压或电流采集过来,利用A/D转换器即ADC0809转换后,就可以用单片机进行数据的处理,在显示电路上,将被测温度显示出来。
3.2总体设计框图
4系统器件的选择和性能介绍
4.1温度传感器
AD590是一种单片集成的两端式温度敏感电流源,它有金属壳,小型的扁平封装芯片和不锈钢等几种封装形式,实验平台利用IC温度传感器AD590作为测温器,AD590是一种精度和线性度较好的双端集成温度传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1A最大电流的变化或1摄氏度等效误差。
图
(2)传感器工作原理图
上图给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路,当温度有10℃的变化时输出电压变化为20mV,即该电路M点电压随温度变化为2mV/℃。
将温度传感器输出的小信号跟随放大19.2倍左右后,送至8位A/D转换器转换成数字量。
4.2A/D转换器
模数转换采用ADC0809,它是芯片输出端具有可控的三态门,这种芯片的输出端可以直接和系统总线相连,由读信号控制三态门,转换结束后,CPU执行一条输入指令,从而产生读信号,将数据从A/D转换器取出。
ADC0809是典型的8位8通道逐次逼近式A/D转换器,CMOS工艺,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存译码电路,其转换时间为100µs左右。
ADC0809内部结构如图所示,图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换,地址锁存与译码电路完成对A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择。
8位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。
输出器用于存放和输出转换得到的数字量。
图(3)A/D转换器工作原理图
因为所选的AD0809所转换的电压范围不大,这样一来,当所采集的温度是0时,转换的电压量是0V,通过A/D转换后所对应的数字量是00000000。
当采集的温度是255℃时,所转换的电压量是10V,通过A/D转换后所对应的数字量是11111111。
这样看来,从A/D输出的数字量和显示的温度是一一对应的。
假如数字量是00000011时,通过8255A编程就可在显示器上显示3℃。
4.48255并行接口
当温度通过AD590后,连续的物理量转换为连续的电压量,电压信号输入到A/D
模拟信号输入端。
当工作时,CPU用输出指令将PC0置零,使B/C端得到一个低电平从而启动转换。
此后用输入指令不断读端口PC4~PC7测试并判断PC4是否为零。
如果PC4为零则说明完成一次A/D转换。
此时在CPU的读周期作用下它向8255A发出个读信号。
之后便从A端口读数据;在写周期的作用下CPU向8255A发出写信号,此后数据就会从B端口输出。
B端口连接着LED,它们在PC3~PC1的控制下显示当前温度。
8255A方式0的工作特点:
方式0也叫基本输入输出方式。
在这种方式下,端口A和端口B可以通过方式择字规定为输入口或者输出口,端口C分为两个4位端口,高4位一个端口,低4一个端口。
这两个四位端口也可由方式选择字规定为输入口或输出口。
方式0的使用场合有两种,一种是同步传送,另一种是查询式传送。
这里采用查方式。
查询式传输时,需要有应答信号。
但是,在方式0情况下,没有规定固定的答信号,所以,这时将端口A和端口B作为数据端口,把端口C的4个数位(高或低4均可)一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入设的状态。
这样,就利用端口C配合了端口A和端口B的输入输出操作。
4.5LED介绍
由于输出的电压量范围是0~5V即转换为数字量后为0~FF之间。
所以,要使温
度表范围为0~85℃,需把0~FF除以3。
经过CPU未经处理过的数值是以ASCII码的方显示在电脑屏幕上的,还需将ASCII码转换成十进制显示。
为了便于读数。
在LE灯上的显示将设计为8421码的方式显示。
转换方法在程序中有所注明。
5系统整体硬件电路
5.1主板电路
系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单机板电路等,见附录。
其中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同LED数码管将没有被测温度值显示。
5.2显示电路
显示电路是使用74HC373锁存器和74LS138译码器分别控制段选和位选,利用动态显示。
处是LED数码管数量大时,电路简单。
图(5)LED电路显示图
5.3分频电路
ADC0809需要提供时钟信号,单片机在工作时ALE引脚输出2MHZ时钟信号,需要分频后供0809做时钟信号使用。
图(6)ADC0809芯片的分频电路
5.4时钟电路设计
晶振的频率决定了微控制器的时钟频率,8051晶振的频率范围,0Hz~33MHz。
电容器C1、C2起稳定振荡频率、快速起振的作用。
电容值一般为20~40pf。
微控制器内部有一个高增益运算放大器和一个反馈电阻器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
图(7)晶振电路原理图
5.5温度报警电路
本设计的发挥部分,是加入了报警,如果我们所设计的系统是监控某一设备,当设备的温度达到我们所设定的温度值时,系统会产生报警.报警时由单片机产生一定频率的脉冲,由P2.7引脚输出,P2.7外接一只PNP的三极管来驱动杨声器发出声音,以便操作员来维护,从而达到报警的目的。
图(8)温度报警电路
6系统流程图
图(9)系统流程图
7软件程序设计
PORTAEQU020H;定义端口地址
PORTBEQU021H
PORTCEQU022H
PORTDEQU023H
DATASEGMENT
TABLEDB40H
DB4FH
DB24H
DB30H
DB19H
DB12H
DB02H
DB78H
DB00H
DB10H
BUFDA1DB?
BUFDA2DB?
BUFDA3DB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,98H
OUTPORTD,AL;8255的初始化
;*****************************
MOVAL,01
OUTPORTC,AL
MOVAL,00
OUTPORTC,AL;PC0为0,启动A/D转换
FIND:
INAL,PORTC
TESTAL,010H
JNZFIND;读PC4的值,如为1则继续查询
MOVAL,01
OUTPORTC,AL;使PC0为1,撤消启动信号
INAL,PORTA;读取转换数据
;******************************
MOVCL,100;计算百位,十位,个位
DIVCL
MOVBUFDA1,AL
XORAL,AL
MOVCL,10
MOVBL,AH
MOVAL,BL
MOVAH,0
DIVCL
MOVBUFDA2,AL
MOVBUFDA3,AH
;****************