基于单片机的热敏电阻测温系统设计Word文件下载.docx
《基于单片机的热敏电阻测温系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的热敏电阻测温系统设计Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
温度升高,体内载流子数目增加,自然电阻值降低。
负温度系数热敏电阻类型很多,使用区分低温(-60~300℃)、中温(300~600℃)、高温(>
600℃)三种。
1.3热敏电阻的特点
1.灵敏度较高,其电阻温度系数要比金属大10~100倍以上,能检测出10-6℃的温度变化;
2.工作温度范围宽,常温器件适用于-55℃~315℃,高温器件适用温度高于315℃(目前最高可达到2000℃),低温器件适用于-273℃~55℃;
3.体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度;
4.使用方便,电阻值可在0.1~100kΩ间任意选择;
5.易加工成复杂的形状,可大批量生产;
6.稳定性好、过载能力强。
第2章单片机介绍
2.1单片机
单片机(Singlechipmicrocomputer)微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
2.2STC单片机
STC单片机的供应商是以51内核为主的系列单片机,STC单片机是宏晶生产的单时钟/机器周期的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机的供应商,指令代码完全兼容传统8051,但速度快8—12倍,内部集成MAX810专用复位电路。
4路PWM8路高速10位A、D转换,针对电机控制,强干扰场合。
2.2.1STC单片机特点
1.I/O口经过特殊处理
2.轻松过2KV/4KV快速脉冲干扰(EFT测试)
3.宽电压,不怕电源抖动
4.宽温度范围,-40℃~85℃
5.高抗静电(ESD保护)
6.单片机内部的时钟电路经过特殊处理
7.单片机内部的电源供电系统经过特殊处理
8.单片机内部的看门狗电路经过特殊处理
9.单片机内部的复位电路经过特殊处理
第3章硬件设计
3.1总设计框图
温度测量模块主要为温度测量电桥。
首先通过热敏电阻进行温度采集,然后利用模数转换器进行模数转换,再经过单片机进行处理,最后通过LED数码管显示温度。
图3-1系统总设计框图
3.2温度测量
基于热敏电阻设计的电路原理图如图3-2所示,其工作原理为:
(1)将P1.0设为低电平,P1.1、P1.2为低电平,Q1导通,J1、J2截止,使C4放电至完全,P3.2为高电平
(2)将P1.0设为高电平、P1.1为高电平,P1.2为低电平,Q1截止,J1导通,J2截止,通过R4电阻对C4充电,单片机内部计时器清零并开始计时,检测P3.2口状态,当P3.2口检测为低电平时,即C4上的电压充至完全,单片机计时器记录下从开始充电到P3.2口转变为低电平的时间TSC
(3)将P1.0设为低电平,P1.1、P1.2为低电平,Q1导通,J1、J2截止,使C4放电至完全,P3.2为高电平
(4)将P1.0设为高电平、P1.1为低电平,P1.2为高电平,Q1截止,J2导通,J1截止,通过RT电阻对C4充电,单片机内部计时器清零并开始计时,检测P3.2口状态,当P3.2口检测为低电平时,即C4上的电压充至完全,单片机计时器记录下从开始放电到P3.2口转变为低电平的时间TEC
可以得到:
TSC/R4=TEC/RT,即RT=TEC×
R4/TSC
通过单片机计算得到热敏电阻RT的阻值。
并通过执行程序可以得到温度值。
从上面所述可以看出,该测温电路的误差来源于这几个方面:
单片机的定时器精度、R4电阻的精度、热敏电阻RT的精度,而与单片机的输出电压值、门限电压值、电容精度无关。
因此,适当选取热敏电阻和精密电阻的精度,单片机的工作频率够高,
就可以得到较好的测温精度。
当单片机选用12MHz频率,R4、RT均为1%精度的电阻时,温度误差可以做到小于1℃。
图3-2测温电路原理图
3.2STC89C51介绍
STC89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器,俗称单片机。
由于将多功能8位CPU和闪速存储器组合在单个芯片中STC89C51是一种高效微控制器,STC89C2051是它的一种精简版本。
STC89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图3-3所示。
图3-3管脚图
在操作过程中,运用到几个重要的引脚接口VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.4LED数码管
LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a,b,c,d,e,f,g,h来表示。
当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。
LED显示器有共阴极和共阳极两种,以共阴极为例,要显示数字0,需要满足两个条件,一是公共端子COM接地,二是a、b、c、d、e、f段亮,g段不亮,即a、b、c、d、e、f段加高电平1,g段加低电平0。
例如,将KEY/LEDCS接到CS0上,则段码地址为08004H,位码地址为08002H七段数码管的字型显示表如下:
表3-1数码管字型显示
图3-4LED显示
显示过程如下:
经过单片机P0输出的八位二进制码,变换成BCD码,在数码管上显示,经过段选信号和位选信号的控制,最后在相应数码管上显示出相应的温度值。
程序框图如下:
第4章软件设计
本设计中采用的处理器是STC单片机,由此可采用面向MCS-51的程序设计语言,包括ASM51汇编语言和C51高级语言,这两种语言各有特点。
汇编语言更接近机器语言,常用来编制与系统硬件相关的程序,如访问I/O端口、中断处理程序、实时控制程序、实时通信程序等;
而数学运算程序则适合用C51高级语言编写,因为用高级语言编写运算程序可提高编程效率和应用程序的可靠性。
考虑到设计中要用到乘除运算,在智能测控装置的基本功能软件开发中,全部程序均采用C51高级语言编写
4.1程序设计
程序主要由主程序和子程序两部分构成。
1.主程序主要实现系统的初始化,温度信号采集。
系统的初始化包括寄存器的初始化(控制寄存器、堆栈、中断寄存器等),通信的初始化,LED显示的初始化,输出端口的初始化,采集、累计数据的初始化。
2.子程序主要有延时程序和显示程序等。
显示程序包括数据转换(主要实现将各类参数、测量数据、计算累计值等转换成LED显示所需的数据类型)。
4.2测量设计
在本次设计中,针对不同电阻对电容的充放电过程是测量温度的关键所在。
其原理是先让C4放电,接着通过延时电路让标准电阻对C4充电,当P3.2为0时,记录下时间TSC,接着继续使C4放电,让热敏电阻对C4充电,记录下时间TEC,最后通过得出线性插值,求出温度。
总结
通过一段时间学习,最后完成了我的设计任务——热敏电阻测温系统设计。
本次设计课不仅仅培养了我们实际操作能力,更重要的是,在实验课上,我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践,让同学们学以致用通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法