基于51单片机的温度测量仪的设计【毕业设计论文】.doc
《基于51单片机的温度测量仪的设计【毕业设计论文】.doc》由会员分享,可在线阅读,更多相关《基于51单片机的温度测量仪的设计【毕业设计论文】.doc(20页珍藏版)》请在冰点文库上搜索。
基于51单片机的温度测量仪
摘要:
单片微型计算机(SingleChipMicrocomputer)简称单片机,又称MCU(MicroControllerUnit),是将计算机的基本部分微型化,使之集成在一块芯片上的微机.片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。
随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。
单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。
本文所涉及的是市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。
生产MCS—51系列单片机的厂家如美国AMD公司、ATMEL公司、INTEL公司、WINBOND公司、PHILIPS公司、ISSI公司、TEMIC公司及南韩的LG公司、日本NEC、西门子公司等。
到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。
关键字:
单片机A/D温度测控MCS-80C51
目录
一.选题背景………………………………………………………………1
1.单片机的历史………………………………………………………1
2.MCS-51单片机应用…………………………………………………4
3.芯片的介绍…………………………………………………………4
二.方案论证………………………………………………………………6
1A/D转换原理………………………………………………………6
(1)逐次逼近式转换原理………………………………………6
(2)积分转换原理………………………………………………6
2A/D转换器的主要性能指标和参数………………………………8
(1)分辨率(Resolution)………………………………………8
(2)量化误差(QuantizingError)……………………………8
(3)线性度(Linearity)…………………………………………9
(4)绝对精度(AbsoluteAccuracy)……………………………9
(5)转换时间(ConversionTime)………………………………9
3A/D转换器的基本工作原理及器件介绍…………………………9
三.过程论述……………………………………………………………11
1.数据定标………………………………………………………………11
2.信号放大………………………………………………………………13
四.结果分析……………………………………………………………14
五.总结……………………………………………………………………15
六.致谢……………………………………………………………………16
七.附录…………………………………………………………………17
八.参考文献……………………………………………………………..20
一背景
1单片机的历史
自1971年美国INTEL公司制造出第一块4位微处理器以来,其发展十分迅猛,到目前为止,大致可分为以下五个阶段:
(1) 4位单片机(1971-1974)
(2) 低档8位单片机(1974-1978)
(3) 高档8位单片机(1978-1982)
(4) 16位单片机(1982-1990)
(5) 新一代单片机(90年代以来)
2单片机的应用
因单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,故在国民经济建设、军事及家用电器等领域均得到广泛的应用。
按照单片机的特点,单片机可分为单机应用和多机应用。
在一个应用系统中,只用一个单片机,这是目前应用最多的方式,主要应用领域有:
(1)单机应用:
①测控系统。
用单片机可构成各种工业控制系统、自适应系统、数据采集系统等。
例如,温室人工气候控制、水闸自动控制、电镀生产线自动控制、汽轮机电液调节系统、车辆检测系统、机器人轴处理器等[2]。
②智能仪表。
用单片机改造原有的测量、控制仪表,能迥数字化、智能化、多功能化、综合化、柔性化发展。
如温度、压力、流量、浓度等的测量、显示及仪表控制。
通过采用单片机软件编程技术,使测量仪表中长期存在的误差修正、线性化处理等难题迎刃而解。
③机电一体化产品。
单片机与传统的机械产品结合,使传统机械产品结构简化,控制智能化。
这类产品如:
简易数控机床,电脑绣花机,医疗器械等。
④智能接口。
在计算机控制系统(特别是较大型的工业测控系统)中,普遍采用单片机进行接口的控制与管理,因单片机与主机是并行工作,故能大大提高了系统的运行速度。
例如:
在大型数据采集系统中,用单片机对ADC接口进行控制不仅可提高采集速度,而且还能对数据进行预处理,如数字滤波、线性化处理、误差修正等。
⑤智能民用产品。
在家用电器、玩具、游戏机、声像设备、电子秤、收银机、办公设备、厨房设备等产品中引入单片机,不仅使产品的功能大大增强,而且获得了良好的使用效果。
(2)多机应用:
单片机的多机应用系统可分为功能集散系统、并行多机处理及局部网络系统。
①功能集散系统。
多功能集散系统是为了满足工程系统多种外围功能的要求而设置的多机系统。
例如:
一个加工中心的计算机系统除完成机床加工运行控制外,还要控制对刀系统、坐标系统、刀库管理、状态监视、伺服驱动等结构。
②并行多控制系统。
并行多控制系统主要解决工程应用系统的快速问题,以便构成大型实时工程应用系统。
典型的有快速并行数据采集、处理系统、实时图像处理系统等。
③局部网络系统。
单片机网络系统的出现,使单片机应用进入了一个新的水平。
目前该网络系统主要是分布式测控系统,单片机主要用于系统中的通信控制,以及构成各种测控子级系统。
典型的分布式测控系统有两种类型:
树状网络系统与位总线网络系统。
单片机是现代计算机、电子技术的新兴领域,无论是单片机本身还是单片机应用系统设计方法都会随时代不断发生变化。
综上所述,单片机已成为计算机发展和应有的一个重要方面。
另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。
3设计的各种芯片介绍
先对本次设计需要用到的芯片进行大致介绍。
第一块芯片:
图180C51的内部结构
图280C51芯片
P0RTO:
P0.0-P0.7(39~32)端口0是一个8位宽的漏极开路双向输入输出端口,共有8位,P0.0表示位0,P0.1表示位1。
(1)其他三个I/O端口(Pl、P2、P3)则不具有此电路结构,而是内部有一提升电路,P0在当作y0用时可以推动8个LS的ITL负载。
如果当EA引脚为低电位时(即取用外部程序代码或随机存储器),P0就以多工作方式提供地址总线(A0—A7)及数据总线(DO-D7)。
设计者必须外加一个锁存器将端口O送出的地址锁存为AM,再配合端口
(2)所送出的A8-A15合成一个完整的16位地址总线.而寻址到64K的外部内存空间。
P1.0-P1.7(1-8):
P1是一个带有内部上拉电阻的8位双向I/O口。
对EPROM编程和程序验证时,它接收低8位地址。
P1能驱动4个LSTTL输入。
P2.0-P2.7(21-28):
P2是一个带内部上拉电阻的8位双向I/O口。
在访问外部存贮器时,它送出高8位双向地址。
在对EPROM编程和程序验证期间,它接收高位地址。
P2可以驱动4个LSTTL输入。
P3.0-P3.7(10-17):
P3是一个带有内部上拉电阻的8位双向I/O口。
在MCS-51中,这8个引脚还用于专门功能。
这些功能见表1-4。
P3能驱动4个LSTTL输入。
(如图3)
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RxD,串行通信输入。
TxD,串行通信输出。
INTO外部中断o输入。
INT1,外部中断1输入。
T0,计时计数器0输入。
T1,计时计数器I输入。
WR,外部随机存储器的写入信号。
RD,外部随机存储器的读取信号。
图3
第二块芯片74LS138:
对于74LS138译码器来说,A.B.C口是用来控制Y0~Y7等8个口的输出的,而E1E2等都必须在低电频下才有效的。
图4
第三块芯片74LS373:
图5
用于连接MS-80C51和数码管的,在本设计中的实际作用是起到连通的作用的。
二方案论证
由于这个实验显示的是个电压值,而最终设计要求是测量人的体温。
不是温度的变化量。
所以要把这里电压的变化转化成温度的变化。
所以对转化的参数进行介绍。
要知道AD转换是把模拟量信号转化成与其大小成正比的数字量信号。
A/D转换电路的种类很多,根据转换原理,目前常用的AD转换电路主要分成逐次逼近式和双积分式。
1A/D转换原理
(1)逐次逼近式转换原理
逐次逼近式转换的基本原理是用一个计量单元使连续量整量化(简称量化),即用计量单位与连续量比较,把连续量变为计量单位的整数倍,略去小于计量单位的连续量部分。
这样所得到的整数量即数字量。
显然,计量单位越小,量化的误差也越小。
可见,逐次逼近式的转换原理即“逐位比较”。
常用的逐次逼近式A/D器件有ADC0809、AD574A等。
(2)积分转换原理
双积分A/D转换采用了间接测量原理,即将被测电压值Vx转换成时间常数,通过测量时间常数得到未知电压值。
所谓双积分就是进行一次A/D转换需要二次积分。
转换时,控制门通过电子开关把被测电压Vx加到积分器的输入端,积分器从零开始,在固定的时间T0内对Vx积分(称定时积分),积分输出终值与Vx成正比。
接着控制门将电子开关切换到极性与Vx相反的基准电压VR上,进行反向积分,由于基准电压VR恒定,所以积分输出将按T0期间积分的值以恒定的斜率下降,当比较器检测积分输出过零时,积分器停止工作。
反相积分时间T1与定值积分的初值(即定时积分的终值)成比例关系,故可以通过测量反相积分时间T1计算出Vx,即:
Vx=(T1/T0)·VR
反相积分时间T1由计数器对时钟脉冲计数得到。
由于双积分方法的二次积分时间比较长,因此A/D转换速度慢,而精度可以做得比较高。
对周期变化的干扰信号积分为零,抗干扰性能也比较好。
为了得倒得结果准确性,我们在程序里也加了16进制到10进制转换,中断,保护现场等一系列得安全措施。
其程序流程图如下:
中断查询
采集数据
16进制转换十进制
数据分别存储在寄存器
送入显示缓存
上次采集数据
显示结果
开中断
中断初始化
开启中断地址7FF8H
保护现场
查询八路端口
送显存
中断子程序
中断子返回
恢复现场
关中断
中断返回
图6
2A/D转换器的主要性能指标和参数
(1)分辨率(Resolution)
对于A/D转换器来说,分辨率反映了输出数字量变化一个相邻数码所需输入的模拟电压的变化量。
分辨率定义为:
分辨率=满刻度电压/2n—1
其中:
n是A/D转换器中对应的二进制代码的位数。
(如图7)
位数
分辨率
N
分数
%满刻度电压(近似)
8
1/255
0.4
9
1/511
0.2
10
1/1023
0.1
11
1/2047
0.05
12
1/4095
0.024
13
1/8191
0.012
14
1/16383
0.006
15
1/32767
0.003
16
1/65535
0.0015
图7
表中列出了不同位数与分辨率之间的关系。
从表中可以看出,一个12位的转换器能分辨出满刻度电压的1/(212—1)或满刻度电压的0.024%。
因此,一个满刻度电压为10V的12位A/D转换器能够分辨输入电压变化的最小值为2.4Mv。
位数越多,分辨率越高。
(2)量化误差(QuantizingError)
当一个分辨率有限的A/D转换器在进行A/D转换时,必须把采样电压化为某个规定的最小数量单位(即量化单位,记为ULSB)的整数倍,这就是量化。
实际上,ULSB是A/D转换后的数字信号最低有效位1所能代表的数量。
由于模拟电压在幅值上是连续的,因此它不一定能被ULSB整除,这样在量化过程中不可避免地会引入误差。
对于有限分辨率的A/D转换器,在不考虑其他误差因素的情况下,其转换特性曲线与具有无限分辨率的A/D转换器的转换特性曲线之间的最大偏差,定义为量化误差。
(3)线性度(Linearity)
线性度有时又称为非线性度(Non-linearity)。
它是实际的转换特性曲线与理想的转换特性曲线之间的最大偏移量。
(4)绝对精度(AbsoluteAccuracy)
在一个转换器中,任何数码所对应的实际模拟电压与其理想的电压值之差不是一个常数。
把这个差值的最大值定义为绝对精度。
对于A/D转换器,可以在每一阶梯的水平中心点进行测量。
绝对精度描述了在整个工作区间内实际的输出电压与理想的输出电压之间的最大偏差。
(5)转换时间(ConversionTime)
转换时间定义为A/D转换器完成一次从模拟量的采样到数字量的编码所需的建立时间,显然,它反应了A/D转换的快慢,实际应用中,只要满足微机系统的要求,并不一定要用时间快的转换器。
3A/D转换器的基本工作原理及器件介绍
A/D转换器是一种将模拟电压转换为数字量的转换电路。
A/D转换器,按其输出代码有效位数的不同可以分为8位、10位、12位、16位和BCD码输出的7/2位、9/2位、11/2位等多种;按其转换速度的不同可以分为超高速(转换时间≤300μs),高速(转换时间330μs~33μs)、中速(转换时间33~333μs)、低速(转换时间>333μs)等几种。
为适应系统集成的需要,有些转换芯片内还包括多路转换的开关、时钟电路、基准电压源和二、十进制译码器等,大大超越了原来的A/D转换功能,为用户提供了方便。
大部分A/D转换器包括采样保持和量化编码电路。
采样保持电路能把一个时间连续的信号转换为时间离散的信号,并将采样信号保持一段时间。
量化编码电路是A/D转换的核心组成部分,依其形式不同,A/D转换器可分为直接A/D转换器和间接A/D转换器。
直接A/D转换器能将输入的模拟电压直接转换为输出的数字代码(无中间变量)。
其典型电路有并行A/D转换器和逐次逼近型A/D转换器。
间接A/D转换器在A/D转换过程中,首先将输入的模拟信号转换成与之成正比的时间或频率,然后通过计数的方式转换成数字量输出。
目前,间接A/D转换器有电压/时间变换型和电压/频率变换型两种。
温度传感器:
(图8)
图8
图(8)
三过程论述
本试验分两步,先做的是显示,后做的采集。
显示这部分我们组借鉴的是静态的显示,经过改动而成。
随后做采集,就是通过ADC0809进行模拟收集。
在通过74LS373进行译码。
这样一来又有个问题了。
实验出来的室温和人的体温的变化太小(4月-5月)。
所以才有了输入的放大。
数据是放大了。
但是还要面对的是:
这样以后显示的却可以随着温度的变化而改变,但实质不是显示的温度,只能显示出电压值,因为手的温度作用于热敏电阻是通过模拟电压传给数码管显示的,显示的数值都很大,这时就存在一个问题-----怎样将电压值精确地反映为温度值。
1数据定标
下面对数据进行分析定标[12]:
(1)用数字万用表和温度计采集温度传感器的温度与阻值
温度℃
25
30
36
37
40
阻值kΩ
10
9.145
7.531
7.022
6.873
最后根据二次线性拟合,又名最小二乘法,它的原理如下:
a11x1+a12x2+……+a1nxn=b1
a21x1+a22x2+……+a2nxn=b2
┋
am1x1+am2x2+……+amnxn=bn
(1)
由于其精确解不存在,因为要寻求它在某种意义下的近似解,令
f(x1,x2,……xn)=(a11x1+a12x2+……+a1nxn-b1)2+
(a21x1+a22x2+……+a2nxn-b2)2+……+
(am1x1+am2x2+…+amnxn-bm)2
(2)
显然,f(x1,x2,……xn)>0,如果x1,x2,……,xn的一组取值使f(x1,x2,……xn)达到最小值,则称这组值是矛盾方程组
(1)的最小二乘解,而求矛盾方程组最小二乘解的方法称为最小二乘法。
由高等数学可知,函数f(x1,x2,……xn)的最小值(即极小值)必须满足条件αf/αxk=0(k=1,2,……,n)(3)
但是αf/αxk=2a1k(a11x1+a12x2+……+a1nxn-b1)+
2a2k(a21x1+a22x2+……+a2nxn-b2)+……+
2amk(am1x1+am2x2+……+amnxn=bm)
于是由式(3)得:
a11a21……am1a11x1+a12x2+……+a1nxn-b1=0
a12a22……am2a21x1+a22x2+……+a2nxn-b2=0
┋┋┋┋=┋
a1na2n……amnam1x1+am2x2+……+amnxn=bm0
(4)
称(4)式为矛盾方程组
(1)的正规方程组或法方程组,可以证明正规方程组总是有解的,如果令A=(aij)m*n,
x=(x1,x2,……,xn)T,b=(b1,b2,……,bm)T,则矛盾方程组
(1)可写为AX=b,而f(x1,x2,……xn)=‖AX-b‖2,又正规方程组(4)可写为:
AT(AX-b)=0或ATAX=ATb
可见矛盾方程组AX=b的最小二乘解使得‖AX-b‖2取得最小值,且AX=b的最小二乘解是正规方程组ATAX=AT的解。
最小二乘法是一种在工程技术,商业与经济等方面常用的求经验公式的方法。
将理想情况下的温度曲线图和实际测的温度曲线图进行最小二乘法运算,进行二次拟合,就能得到我们最后想要的结果。
虽然没有用软件实现得到的值准确,硬件也可实现温度的精确测量。
可以在先前的电路中加入放大电路,后来我们发现这样做后还解决了另外一个问题-----我们的室温和人的体温其实相差不是很大,这样,当我们用手去触摸热敏电阻时,由于温度的变化太小,数码管上根本就没什么变化,当加入放大后,变化就看的很明显了。
在连接放大电路时,由于接入的电阻值不能确定,我们用到了定位器(是一个加了电源的滑动变阻器),利用放大电路,我们很好地控制了电压值和人的体温的比值。
我们的放大很明显,而且非常的简单,可以通过两个定位器,随时改变放大倍数。
2信号的放大
为了得到容易观察的数据,便如采集和计算,如是选择了这个简单又实用的电路作为采集模拟信号的放大器。
放大电路图如下:
图9
上图9电路就是这样就是这个电路改装来的,原理一样。
这种放大是最基本的而又容易控制的。
效果也很好。
四.结果分析
随着毕业设计初步告一段落,其中也进行了大量的数据计算。
因为A/D转换器的主要性能指标有:
分辨率,转换时间,转换精度,输入电压范围,输入电阻(阻抗),供电电源,数字输出特征,工作环境(周围的温度,湿度)等。
影响A/D转换的主要因素有:
外接时钟频率和电源电压的稳定性,环境温度,外界有无干扰等。
所以我们的计算一定会有误差。
还有个失真的问题,在大功率放大时为了得到需要的输出功率,要把相应的直流输入功率供给集电极.而且,为了在晶体管的允许损耗范围内获得最大输出,必须使电源的利用率成为最大.为此,工作范围要融入非线性区,失真当然增加,即最大功率和失真是互为制约的条件,但通过选择线性非常好的晶体管,并且适当地选择工作点以及信号源和负载的阻抗关系,可以找到最佳的妥协点.晶体管特性中,决定失真系数主要是hFE的线性,在推挽方式中,是两个晶体管的特性一致性如何,即配对特性.加负反馈对改善失真系数相当有效,特别是以高保真度为目的的SEPP,OTL,互补OEL和OCL电路是必不可少的不能对其他的因素进行误差分析,代以后进行更精确的计算分析,望体谅!
五总结
通过这次设计,也学到了很多知识,从刚进实验室的什么都不懂、觉得很简单的单片机,到现在对其有了初步了解,自己是感慨万千。
液晶显示屏也不过如此,但在单片机的世界里是最简单的东西,而且自己还在实验台上实现出来了。
相反自己觉得很简单的单片机,其中还有很多知识值得我学习。
我现在对“活到老,学到老”这句话,有了一定的了解。
我就实验过程过的几点体会和不足提出,希望大家以后遇到类似问题,能给予大家一定的帮助。
(1)由于开始对整个实验的硬件部分没有充分了解,就盲目的动手,使得后来用到什么功能时,就在面包板上插什么芯片,导致面包板上的连线很杂乱,以至后来出现问题很不好检查,最终使得我们对面包板进行重新的规划,布线,耽误了不少时间.
(2)现在所做出来真对最多24线的检测,比起现实生活中几百线,上千线的检测来说,可能是微呼其微的,但是我们掌握起中的思想,在做那些几百,上千的设计来说,就简单多了,所以说做什么事,都要掌握起实质思想。
(3)因为经验尚浅,在程序方面,可能编的不是很简洁,并且延时没做到比较好的状态.
(4)由于水平问题,所选用的方案可能不是最佳的,而且自己在做实验觉得方案存在问题,但就是说不出来问题究竟存在那里,希望在做类似课题同学,能做的比我们更好。
.
六致谢
在此,对所有给予我关怀和帮助,支持的老师,同学表示感谢。
本次毕业设计的成功完成,要特别感谢陈主任,高伟霞老师在这段时间给予我的帮助、支持,正是有他们这段时间和我一起面对、克服困难,我的毕业设计才得以完成。
还记得当初一开毕业设计的时候,老师就对我们说,要好好学啊,这是一次很难得的机会,要好好把握,是你大学的果实,是你们一生的留恋,也是对你们在大学的最后考验和锻炼,更重要的是对你们自己对读完大学后的一种自我鉴定……还有我的父母,正是他们的在我背后对我默默的支持,才使我取得今天的硕果。
在本文完成时,谨以此文献给他们!