基于单片机的温度采集系统的设计毕业论文管理资料.docx
- 文档编号:24535180
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:32
- 大小:165.22KB
基于单片机的温度采集系统的设计毕业论文管理资料.docx
《基于单片机的温度采集系统的设计毕业论文管理资料.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度采集系统的设计毕业论文管理资料.docx(32页珍藏版)》请在冰豆网上搜索。
基于单片机的温度采集系统的设计毕业论文管理资料
89C51单片机4
基于单片机的温度采集系统的设计
摘要
近年来,单片机以其功能强、体积小、使用方便、性能价格比高等优点,在实时控制、自动测试、智能仪表、计算机终端、遥测通讯、家用电器等许多方面得到了广泛的应用。
本设计采用单片机89C51作为控制核心,对多点温度进行采集。
通过集成温度传感器AD590将温度值转换为电量输出。
由ADC0809实现模拟信号的数字化。
同时,外接可编程键盘显示器接口芯片7279通过小键盘实现多点温度值的切换显示;可以利用小键盘设定温度的最大值和最小值,对于超过最大值或低于最小值的温度数据通过扬声器进行报警。
关键词:
单片机;温度采集;报警
TheDesignofTemperatureGatheringSystemBasedonSingleChipMicyoco
ElectronicsandInformationEngineeringGrad2003KongXiangheng
Abstract
Recently,SCM(SingleChipMicyoco)iswidelyusedinreal-timecontrol,automatismtesting,computerterminal,remotecommunication,homeappliancesbystrongfunction,smallbulk,usedconvenientandhighcapability-priceratio.
ThisdesignadoptsSCM89C51bywayofcontrollingcore;itcangatherseveraldifferenttemperaturesignals.ThroughtheintegrationtemperaturesensorA/D590,itconvertstemperaturevaluetoelectricitysignal;andthenswitchestheanalogsignalsfordigitalsignalsbyADC809.Atthesametime,theprogrammablekeyboard/displayportchip7279candisplaythedifferenttemperaturevalue.Italsocanenactmentthemaximandminimumtemperaturevaluebythesmallkeyboard.Whenthegatheredtemperaturevalueexceedsthemaximandminimumvalue,thesystemwillgiveanalarmthroughthespeaker.
Keywords:
SCM;temperaturegathering;alarm
1引言
自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。
单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。
单片机在国内的三大领域中应用得十分广泛:
第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括电话、手机和BP机等等;第三是仪器仪表和计算机外设制造,例如软盘、硬盘、收银机、电表。
除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。
它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。
单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。
单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。
同时,单片机具有较强的管理功能。
采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。
温度作为作物生长一个非常重要的参数,温度的变化影响作物的发芽、幼苗的成长、作物的开花、果实的成熟等等。
对于不同的作物,其适宜的生长温度总是在一个范围。
超过这个范围,作物或许会活着,但是其生长的规律将发生明显的变化。
这对于我们所希望的要求作物能够优质、高产的愿望相距甚远,所以我们必须实时获取作物生长的环境温度。
对于,超过作物生长适宜范围的温度能够报警。
同时,我们也希望作物的适宜温度范围可以由检测人员根据实际情况加以改变。
同时,由于作物分布空间的狭小,各点的温度在同一时间上可能存在差异,所以对于温室必须采取多点采集,以保证能够更准确的获知作物生长的实时温度。
本设计就是基于单片机89C51设计的实时温度采集仪。
采用ADC0809最多可以采集8路温度数据。
通过小键盘实现对不同路温度数据的切换显示。
同时,也可利用小键盘实现温度最大最小值的设定。
对于超过此限的温度数据将产生报警信号。
2
绪论
2.1问题的提出
我国农业正处于从传统农业向优质、高效、高产为目的的现代化农业转化的新阶段。
农业环境综合控制作为农作物速生、优质、高产的手段是农业现代化的重要标志。
农业设施的自动检测与控制是我国科研急待发展的项目。
温度是植物生长的重要环境条件,影响植物生命周期的各个发育阶段,从种子萌发、幼苗的生长、生殖直至成熟和休眠,包括了每一个酶反应、每一个代谢过程。
它也影响植物细胞结构的完整性,特别是影响膜的结构和性质,直接关系到植物的生存。
植物能生长的温度比能生存的温度范围要小得多,在某些温度条件下,植物也许能活着,但不一定能生长,故温室中对于温度的检测很重要。
此外,温室内的作物茂密形成群体时,温室的空间分布变得复杂。
室内平均温度显然不同于作物冠层下的气温,而冠层内气温的分布也不会是均匀的。
事实上温度的空间分布受室外气候因子、室内调控方式、植物群体的综合影响,以至于室内空气温度在水平方向和垂直方向上往往都不相同。
为此,本文设计了一个能多路采集、显示的温度采集系统,对于超出作物适宜生长范围的温度发出警报。
2.2设计目的及系统功能
本设计的目的是以单片机为核心设计出一个8路温度采集系统。
通过本课题设计,综合运用单片机及接口技术、微机原理、微电子技术,锻炼动手操作能力,综合运用能力,学习论文的写作方法和步骤。
设计的温度采集系统有以下功能:
1.测温范围:
0℃~50℃
2.测温分辨力:
≤℃
3.测温准确度:
≤℃
4.测温点数:
可以扩展到8点
5.温度显示:
采用4个7段数码管
6.温限可进行灵活设定
7.超限报警
3第二章硬件电路设计
3.1硬件设计思路
本设计用温度传感器将被测温度转换为电量,经过放大滤波电路处理后,由模数转换器将模拟量转换为数字量,再与单片机相连,通过可编程键盘显示接口芯片实现温度限值的设定。
最后通过小键盘控制数码管显示所需要的某路温度值。
3.2总体设计框图
总体设计框图如图1所示。
说明如下:
,再放大后送给A/D转换器。
,送给89C51单片机,89C51单片机根据设计目的完成相应的软件处理。
,送键盘显示处理芯片,然后再由数码管显示。
,转报警处理程序。
。
键盘
显示电路
89C51
A/D转换
A/D转换温度采
集及信号调理
图1总体设计框图
3.3单元电路设计
3.3.189C51单片机
89C51为字长8位的单片微型计算机,由中央处理器、内部RAM、内部ROM、两个16位的定时计数器、四个8位的I/O口(P0、P1、P2、P3)、一个全双工的串行口、五个中断源以及时钟等组成。
它具有速度快、功能强、功耗底、抗干扰性好、价格低廉等特点。
它是标准的40引脚双列直插封装(DIP)形式。
3.3.2温度采集及调理电路
常用的温度传感器有:
热电偶、热敏电阻、集成电路温度传感器及铂电阻。
温度传感器的选择
(1)传感器的比较:
热电偶灵敏度较低,但能在很宽广的范围内使用。
热敏电阻的工作温度范围较窄,但灵敏度高有利于检测微小温差,其输出特点是非线性,检测时需要线性化装置。
廉价的集成电路温度传感器性能离散度很大,用于高精度测量时必须进行校准。
测温铂电阻温度系数的离散度很小,精确度高灵敏度也较好,但价格昂贵。
集成电路温度传感器和热敏电阻、热电偶相比,最大特点是输出线性好,测温精度较高。
感温部分、传感器驱动电路、信号处理电路均集成化并封装在一个小型管壳内,使用方便。
AD590是一种两端集成电路温度传感器,由于具有高阻抗的电流输出,使它在长距离传输过程中对压降不敏感,作为电流输出型的温度传感器,具有很强的抗外界干扰能力,且价格适中。
其输出电流和绝对温度成正比。
基于以上优点,本设计采用AD590作为温度传感器。
(2)AD590的特点
仅需+4V到+30V的直流工作电压,不需要传送器、滤波器和线性化电路。
一致性非常好,(+25℃)时,,随温度升高或降低以1μA/,因而AD590很容易互换。
是电流输出而不是电压输出,具有良好的干扰抑制比,只需很小的功率()。
电源电压漂移和波纹不敏感。
电源电压+5V变到+10V仅引起1μA最大电流变化。
电气上耐用,可承受正向44V和反向20V的电压而不损坏,不必担心管脚接错。
测量电路设计
AD590将温度转换成相应的电流后,需要有电流电压转换电路(如图2),其中电容C起滤波作用。
该电路中,考虑到测温范围是0度到50度,而ADC0809输出电压范围为0~5V,,R3取15K,其中R2是可变电阻,精度高于R3。
R4取100K,R5取50K,R4是可变电阻,精度高于R5,电阻R6取33K。
运放是温度电压变换电路,为测试方便,设计时将0度时的输出电压定为0V,每升高100mV,与电压之间的关系为:
U=K(T-T0)V[1]
式中:
K为比例系数,K=℃,T为环境温度,单位为℃,T0为测温下限0℃
图2温度采集及调理电路
当T=+50℃和T=0℃时,变换电路输出电压上限为Umax=5V,电压下限Umin=0V时,实现的办法是:
首先调整R2,使得I1=,当温度为0℃时,通过AD590的电流I2=,此时I3=0μA,R4,R5上无压降,即输出电压为0V;当环境温度为50℃时,,此时I3=I2-I1=50μA,调整R4,使R4+R5=98K,有(R4+R5)I3=。
同样,可以计算出其余各温度所对应的输出电压。
系统对放大电流要求低失调、低漂移、高精度,可选用高精度集成运放。
OP07为低失调电压、低失调电流和低漂移的超低失调运算放大器,其增益和共模抑制比高,噪声小,是一种通用性强的运算放大器。
本设计采用它作为运放。
OP07电源电压范围为±3~±18V。
模—数转换电路
A/D转换用于实现模拟量到数字量的转换。
按转换原理可分为四种,即:
计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。
目前使用较多的为后三种。
双积分式A/D转换器具有高精度、抗干扰性好、价格低廉等特点,但速度较慢,经常应用于对速度要求不高的仪表中;逐次逼近式A/D转换器在精度、速度和价格上都适中,是目前最常用的A/D转换器;并行式A/D转换器是一种用编码技术实现的高速A/D转换器其速度最快,价格也最高,使用于要求较高的场合。
综上,本设计选用逐次逼近式8位A/D转换芯片ADC0809。
ADC0809的主要技术特性和指标:
·分辨率:
8位。
·转换时间:
取决于芯片时钟频率。
·单一电源:
+5V。
·模拟输入电压范围:
单极性0~5V,双极性+5V或+10V。
·具有可控三态输出锁存器。
·启动转换控制脉冲式(正脉冲),上升沿使内部所有寄存器清“0”,下降沿使A/D转换器开始。
ADC0809其片内有8路模拟开关,可输入八个模拟量,单极性,量程为0~5V,典型的转换度为100μS。
片内具有三态输出缓冲器,可直接与CPU总线接口。
设计中只使用了IN0一路模拟通道,可扩展到8路。
电路连接主要涉及两个问题。
一是八路模拟通道信号选择,二是A/D转换完成后转换数据的传送。
解决方案如下:
:
ADC0809有A、B、C三根地址线,分别接地址锁存器的低三位地址,只要把三位地址写入ADC0809中的地址锁存器,就实现了模拟通道选择。
对于系统来说,地址锁存器是一个输入口,为了把三位地址写入,还要提供口地址。
:
A/D转换后得到的是数字量的数据,这些数据应传送给单片机进行处理。
数据传送的关键问题是如何确认A/D转换的完成,因为只有确认数据转换完成后,才能进行传送。
解决此问题的方式有三种;定时传送方式、查询方式、中断方式。
设计中采用的是查询方式:
ADC0809由EOC端发出表明转换完成的信号,软件测试EOC的状态,即可确知转换是否完成,并接着进行数据传送。
(如图3):
图389C51和ADC0809的连接
3.3.3键盘及数码管显示电路
3.3.3.1LED显示器
显示器中的发光二极管共有两种接法:
共阴极接法和共阳极接法。
一般发红光的LED每段流过5mA的平均电流,就可以有比较满意的亮度,7mA电流会更亮些,10mA以上就不会更亮多少,但长期运行于10mA以上会缩短其寿命。
小尺寸的LED显示器每段只有一个发光二极管,,一般不大于2V。
在选择LED借口器件时需考虑器件的驱动能力和显示数据的设置方式。
对一般仪器仪表中使用的LED显示器而言,其驱动电流往往为5~15mA,因此选用普通的TTL器件即可满足要求。
对稍大电流的LED驱动,选择7407或75452等器件作为后续的驱动器件。
显示器有静态显示和动态显示两种方式。
所谓静态显示就是显示字符的各段连续通过电流,使所有的字段连续发光。
所谓动态显示就是所需显示字段断续通以电流,因而其发光是不连续的。
在需要多个字符同时显示时,可以轮流给每一个字符通以电流,逐次把所需显示的字符显示出来。
在每点亮一个字符后,必须持续通电一段时间,使之发光稳定,然后再点亮另一个字符,如此依次扫描所有的字符。
由于扫描显示速度较快,每秒可重复多次(为了不产生闪烁,可每秒扫描50次左右)。
虽然在同一时刻只有一个字符通电,由于人眼的视觉暂留现象和发光二极管的余辉效应,却感觉每个字符都在稳定地显示。
这种巡回扫描显示器的操作要靠程序控制。
动态显示的亮度随电流平均值的增大而增强,其亮度大体上等同于通过同样大的电流的静态显示亮度。
设计中由于有4个LED,采用动态扫描的方法进行显示,即逐个地循环地点亮各位显示器。
这样虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。
3.3.3.27279可编程键盘显示器接口芯片
7279芯片是一种专用于键盘显示器的接口器件,它能对显示器自动扫描、识别键盘上闭合键的键号,提高CPU的工作效率。
7279包括键盘输入和显示输出两个部分。
键盘部分提供的扫描方式,可以和具有64个按键和传感器的阵列相连,能自动消除开关抖动以及对n键同时按下采取保护。
7279芯片有40引脚,由单一+5V电源供电。
其功能有:
①对键盘进行管理控制;②对LED显示器的控制及对显示数据,显示方式的管理。
其主要有以下几部分组成:
I/O控制器和数据缓冲器、控制和定时寄存器及定时控制、扫描计数器、回复缓冲器及键盘去抖动和控制电路、FIFO/传感器RAM和状态电路、显示器地址寄存器及显示RAM。
利用7279芯片组成键盘接口时,平时并不需占用CPU时间,每当按下键后,即向CPU申请中断,在中断服务程序中查询哪个键按下,在转到相应键的处理程序,因此这种键盘接口得到了广泛的应用。
键盘及显示电路原理图(如图4):
图4键盘及显示电路原理图
4第三章软件设计
4.1程序流程图设计
由于本设计程序较为复杂,所以在设计过程中对一些使用较多的程序段采用子程序进行设计,这些子程序包括:
7279初始化子程序、A/D转换子程序、显示更新子程序、读键值子程序、读当前温度子程序、比较子程序、温限设定子程序、报警子程序、延时子程序等。
主程序流程图如图5所示。
图5主程序流程图
各子程序的流程图(如图6,7,8,9,10,11,12,13)所示:
Y
N
取显示数据首址
向7279送
显示数据
发送完?
返回
入口
N
N
Y
Y
转ALARM
返回
进位位清零
A,B相减
CY为1
CY为0
入口
图6显示子程序(DISP1)流程图
图7比较程序流程图
N
Y
保护现场数据
读取键值
键值处理
返回
入口
读完否?
恢复现场
(BE)*10+(BE+1)送A
A/16,商存于高位余数存于低位
返回
入口
图8十-十六进制转换子程序流程图
图9键中断处理显示子程序KEY2
获取当前温度
将当前温度给A,将温度最大值给B
调用比较子程序
将当前温度给B,将温度最小值给A
调用比较子程序
将当前温度送ADRES3
转移
返回
入口
保护现场和断点
报警并延时
时间到?
恢复现场
返回
入口
N
Y
图10温度比较子程序(COMP1)
图11报警中断子程序
将BE和BE+1清零
调用键处理子程序
将获取的键值存于A
调用十-十六进制转换子程序
输入是C则结束并将最值给A
返回
入口
N
将A/D端口地址送给数据指针
启动A/D
读取端口数据
数据处理
返回
入口
转换完?
Y
图12键值处理子程序流程图(SPEC)
图13温度采样及处理子程序(READTEMP、READAD)
4.2程序设计
4.2.1A/D转换
ADC0809的START端为A/D转换启动信号。
ALE端为通道选择地址的锁存信号。
开发系统中已将它们相连,这样同时锁存通道地址并开始A/D采样转换,故启动A/D转换需如下指令:
MOVDPTR,#PORT(通道的端口地址)
MOV@DPTR,A
第一条语句在本程序中是以分支程序的形式体现的。
第二条语句A中的内容为何是不重要的,这是一次虚拟写。
4.2.2键盘及数码管显示
在数码显示方面,需要由软件来置缓冲区和提供字型代码。
缓冲区在内部RAN中,用于存放显示的数字或字符,其单元个数与LED显示器位数相同。
本设计程序中,缓冲区单元与显示器的对应关系如下:
动态扫描是从左向右进行的,则缓冲区首址为40H。
在显示之前,是通过查表程序得到字型代码的。
表中的共阴极代码对应的字型如下:
字型共阴极代码字型共阴极代码
03FH67DH
106H707H
25BH87FH
34FH96FH
466HA77H
56DHB7CH
ADRES3:
存放待显示的字符的代码的首地址,ADRES3对应于最左边的显示器即LED0。
ADRES4:
按下键的键值存放首地址。
ADRES5:
字型码存放首地址。
7279初始化子程序包括:
把0D1H写入“清楚命令”积存器,以便把显示RAM全部清零,把程序时钟命令字34H(分频系数为10)写入“程序时钟命令字”积存器,以便7279对CLK分频后得到100Khz内部时钟,把00H写入“键盘、显示方式设置积存器”,用于规定7279工作于左输入、8位显示、编码扫描;双键互锁开中断、等待键盘中断。
设INTO为中断输入引脚。
程序如下:
INIT7279:
CLREA
CLR;7279CS选通
MOVDPTR,#100H
MOVA,#0D1H
MOVX@DPTR,A;清除命令字
MOVDPTR,#0;DPTR指向状态口
WAIT1:
MOVXA,@DPTR;查询当前状态
JB,WAIT1;清除RAM未结束则等待
MOVDPTR,#100H
MOVA,#2AH
MOVX@DPTR,A;对CLK进行10分频得到100KHZ
CLRA
MOVX@DPTR,A;置8位显示-左入-编码扫描-双键互锁
SETB;禁止访问7279
SETBEX0;允许INT0中断
SETBIT0;INT0为边沿触发
SETBEA;开中断
RET
这段程序先读取字符代码,把代码与字型码首地址相加得到将要显示的字型码地址,最后读出字型码送至7279显示。
程序如下:
DISP1:
MOVR2,#4;4位显示
MOVR0,#ADRES3;取显示代码首址
MOVDPTR,#100H
MOVA,#90H;从0单元写段码,地址自动加1
CLR;选通7279
MOVX@DPTR,A;向7279送"写显示RAM命令"
LOOP1:
MOVA,@R0;读显示代码
INCDPTR,#ADRES5
MOVCA,@A+DPTR;转换成字型码
MOVDPTR,#0
MOVX@DPTR,A;送出显示
DJNZR2,LOOP1;4个字符未显示完则继续
SETB;禁止访问7279
ADRES5:
DB3FH,06H,5BH,4FH,66H,7DH,07H
DB7FH,6FH,77H,7CH
RET
读键值子程序
这段程序采用查询方式,利用7279自动扫描识别键盘上闭合的键号,同时显示输入键的键值。
KEY2:
CLR
MOVDPTR,#PORT+1
MOVA,#0D1H
MOVX@DPTR,A
WREP:
LCALLDISP1
MOVDPTR,#PORT+1
MOVXA,@DPTR
ANLA,#07H
JZWREP
KEYN:
MOVDPTR,#PORT
MOVXA,@DPTR
MOVR1,A
ANLA,#07H
MOVR2,A
MOVA,R1
ANLA,#38H
RRA
RRA
RRA
MOVR3,A
CJNER3,#00H,LINE1
MOVA,R2
LJMPQUIT
LINE1:
CJNER3,#01H,LINE2
MOVA,R2
ADDA,#04H
LJMPQUIT
LINE2:
MOVA,R2
ADDA,#08H
QUIT:
RET
读当前温度子程序
本段程序对采集到的温度信号进行处理,获取当前温度值。
READTEMP:
MOVR1,#0
MOVR2,#0
MOVR0,#16
RLOOP:
CALLREADAD
ADDA,R2
MOVR2,A
JNCGN1
INCR1
GN1:
DJNZ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温度 采集 系统 设计 毕业论文 管理 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)