单片机课程设计之热敏电阻测温文档格式.docx
- 文档编号:22279563
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:16
- 大小:1.06MB
单片机课程设计之热敏电阻测温文档格式.docx
《单片机课程设计之热敏电阻测温文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计之热敏电阻测温文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
设计背景
在人类的生活环境中,温度扮演着极其重要的角色。
无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。
自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。
在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。
温度对于工业如此重要,由此推进了温度传感器的发展。
进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
在工农业生产中,温度检测及其控制占有举足轻重的地位,随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统已经应用于诸多领域。
要达到较高的测量精度需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差等问题,使温度检测复杂化。
模拟信号在长距离传输过程中,抗电磁干扰时令设计者伤脑筋的问题,对于多点温度检测的场合,各被检测点到监测装置之间引线距离往往不同,此外,各敏感元件参数的不一致,这些都是造成误差的原因,并且难以完全清除。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。
采用单片机对温度采集进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控数据的技术指标,从而能够大大提高产品的质量和数量。
第二部分
系统主要功能
本系统测量的温度范围为2-42摄氏度,可以通过数码管直观地显示出当前温度值。
第三部分
电路设计与参数选择
1、设计原理
图1
如图1所示,当外界温度变化时,热敏电阻的阻值随着发生变化,热敏电阻上分得的电压发生变化,通过单片机的IO口和集成AD可以获得热敏电阻的电压值为V,通过计算得出热敏电阻的阻值变化规律R=V*R1/(5-V)。
由于热敏电阻的阻值与温度有表1的对应关系,将各对应值用数组形式写入程序,通过查表便可以得到此时外界的温度值。
温度(摄氏度)
阻值(千欧姆)
2
25.7
17
12.6
32
7.7
3
24.6
18
12.1
33
7.4
4
23.6
19
11.6
34
7.1
5
25.5
20
11.2
35
6.9
6
21.6
21
10.7
36
6.6
7
20.7
22
10.3
37
6.4
8
19.8
23
10.0
38
6.2
9
19.0
24
9.6
39
6.0
10
18.2
25
9.2
40
5.8
11
17.4
26
8.9
41
5.6
12
16.7
27
8.8
42
5.4
13
16.0
28
8.7
43
5.2
14
15.4
29
8.6
44
5.0
15
14.8
30
8.5
45
4.8
16
14.2
31
8.4
46
4.6
表1
2、硬件电路
图2
3、元器件选用及连接
元件号
元件名称
元件说明
1
电源
5V
电阻R1
10K
热敏电阻R
电容C3
10uF
电阻R2
4.7K
电容C1
30pF
电容C2
晶振X1
12MHZ
排阻RP1
10KX8
数码管
8段共阴
单片机
STC12C5A60S2
表2
系统所用的元器件及说明如表2所示。
引脚连接安排为:
P1.1引脚接热敏电阻,RST引脚接复位电路,X1、X2连接用来起振,P2.7-P2.4引脚接数码管的1、2、3、4,P0.0-P0.7引脚接数码管的abcdefgh和10K的排阻。
4、硬件选用
⒈热敏电阻的选用
热敏电阻器的热敏电阻有电阻值随温度升高而升高的正温度系数(简称PTC)热敏电阻和电阻值随温度升高而降低的负温度系数(简称NTC)热敏电阻。
NTC热敏电阻器,是一种以过渡金属氧化物为主要原材料,采用电子陶瓷工艺制成的热敏半导体陶瓷组件。
这种组件的电阻值随温度升高而降低,利用这一特性可制成测温、温度补偿和控温组件,又可以制成功率型组件,抑制电路的浪涌电流。
电阻温度特性可以近似地用下式来表示:
R=R*EXP[B*(1/T-1/T)]式中:
RT、RN分别表示NTC在温度T(K)和额定额定温度TN(K)下的电阻值,单位Ω,T、TN为温度,单位K(TN(k)=273.15+TN(℃))。
B,称作B值,NTC热敏电阻特定的材料常数(Beta)。
由于B值同样是随温度而变化的,因此NTC热敏电阻的实际特性,只能粗略地用指数关系来描述,所以这种方法只能以一定的精度来描述额定温度或电阻值附近的有限的范围。
电阻-温度关系:
NTC热敏电阻器CWF2-502F3950各温度点的电阻值,即电阻-温度关系表。
NTC热敏电阻器CWF2-502F3950的测温范围为[-55℃,125℃],其电阻值的变化范围为[250062Ω,242.64Ω]。
如表1所示,列举了2-42摄氏度的电阻-温度关系。
⒉STC12C5A60S2单片机的选用及单片机资源安排
2.1STC12C5A60S2概述
本次课程设计核心元件是单片机STC12C5A60S2,下面对STC12C5A60S2做简单的概述。
2.1.1基本构造
STC12C5A60S2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储区(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振动器和外部晶振等模块。
STC12C5A60S2系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片内系统。
单片机STC12C5A60S2的基本构造如图3所示:
图3
2.1.2性能特点
60KB的Flash片内程序存储器、256字节的内部随机存取数据存储器(RAM)、1024字节的外部存储器、1K字节的数据Flash存储(EEPROM)、ISP(在系统可编程)/IAP(在应用可编程)、看门狗、内部集成MAX810专用复位电路、外部掉电检测电路、时钟源:
外部精度晶体/时钟,内部R/C振荡器、4个16位定时器、3个时钟输出口、7个外部中断I/O口、PWM(2路)/PCA(可编程计数器阵列,2路)、A/D转换,10位精度ADC,共8路.
2.1.3STC12C5A60S2单片机资源利用
本次课程设计,主要应用了STC12C5A60S2单片机中中央处理器(CPU)、高速A/D转换、外部晶振等模块。
第四部分
C语言程序流程图及代码
主函数流程图:
AD中断流程图:
图
数码管显示
系统C程序代码:
Config.h代码:
#ifndef_CONFIG_H_
#define_CONFIG_H_
#include<
STC.h>
#defineFOSC12000000L
#defineADC_POWER0x80
#defineADC_FLAG0x10
#defineADC_START0x08
#defineADC_SPEEDLL0x00
#defineADC_SPEEDL0x20
#defineADC_SPEEDH0x40
#defineADC_SPEEDHH0x60
#defineADC_POSITION1//AD通道位置0-7
#defineNUX_DATAP0//数码管段选
#defineNUX_SEGP2//数码管位选
voidDelay_ms(unsignedintms);
//延时函数
voidInitADC();
//初始化AD功能
#endif
Main.c代码:
#include"
config.h"
unsignedintcodeTtable[42][2]={2,257,3,246,4,236,5,225,6,216,7,2078,1989,19010,18211,17412,16713,16014,15415,14816,14217,13618,13119,12620,12121,11622,11223,10724,10325,10026,9627,9228,8929,8630,8231,8032,7733,7434,7135,6936,6637,6438,6239,6040,5841,5642,5443,52};
//此数组保存热敏电阻的温度值(从2-43摄氏度),超出无效
unsignedcharcodeTableDATA[13]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F/*0-9*/,0x00/*无*/,0x02,0x39,}
//数码管数字0-9
unsignedcharcodeTableSEG[4]={0xEF,0xDF,0xBF,0x7F};
//数码管位置0-3
unsignedcharshow[4];
//定义温度全局
/********************************************
**函数名称:
voidDelay_ms(unsignedintms)
**功能描述:
延时函数
**输 入:
unsignedintms延时时间
**输 出:
无
**全局变量:
**调用模块:
**********************************************/
voidDelay_ms(unsignedintms)
{
for(;
ms>
0;
ms--);
}
/*****************************************************
voidadc_isr()interrupt5
AD中断,获取AD数据
show
Delay_ms
********************************************************/
voidAdc_isr()interrupt5
unsignedchari;
unsignedintm;
m=ADC_RES;
//计算此时热敏电阻阻值
m=(100*m)/(255-m);
//计算此时的温度值
for(i=41;
i<
42;
i--)
{
if(m>
=Ttable[i][1]&
&
m<
Ttable[i-1][1])
{
show[0]=(Ttable[i][0]+1)/10;
show[1]=(Ttable[i][0]+1)%10;
show[2]=11;
show[3]=12;
break;
}
}
ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|ADC_POSITION;
//重新使能AD转换
/******************************************************
voidInitADC()
初始化AD功能
*********************************************************/
voidInitADC()
P1ASF=0xff;
ADC_RES=0;
ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|1;
//使能P11为AD输入
IE=0xa0;
Delay_ms(20);
main()
unsignedchari,j;
InitADC();
while
(1)
for(j=255;
j>
j--)
for(i=0;
4;
i++)
//数码管扫描
{
NUX_SEG=TableSEG[3-i];
NUX_DATA=TableDATA[show[i]];
Delay_ms(100);
NUX_DATA=0x00;
}
}
第五部分
系统调试与仪器使用
1、系统调试的仪器选用及其使用
如表3所示
仪器名称
仪器用途
万用表
检测电路的通断、短路、测量电阻、电压、电流
起子
撬下单片机
程序下载电路板
下载程序给单片机
电烙铁
修改电路板上的错误
电脑
用来编写程序、修改程序,仿真等
表3
2、系统调试及调试故障的检测与分析
第一步用下载程序的电路板和电脑给单片机下载编写好的程序
第二步将下载好的单片机安装在设计的电路板上,给电路板接上5V的电源(接上电源后,数码管没有显示。
分析:
电路出现短路或者断路或者连线有误;
检测:
用万用表测量单片机正负引脚有电压,测量各引脚之间的电阻,核对电路图及其电路板上的连线,一切正常。
电路板焊接无误,程序出现问题)
第三步在电脑上修改原有的程序,并且将程序下载到下载电路板上,用下载电路板上的热敏电阻测温系统进行检测(修改程序后,数码管有显示,但是没有规律分析:
程序出现错误)
第四步在电脑上继续修改原有的程序,并且将程序下载到下载电路板上,用下载电路板上的热敏电阻测温系统进行检测(修改程序后,数码管有显示,且运行正常)
第五步将修改好的程序用下载程序的电路板和电脑下载到单片机(数码管显示正常,但是与下载电路板上的热敏电阻测温系统有1摄氏度的温度差距,并且显示的温度数字不停地左右跳动分析:
实际电路使用的电阻和程序里给定的电阻有差距,A/D转换扫描的频率太快;
修改程序,将温度计算公式加1,减小A/D转换扫描的频率)
第六步将修改好的程序用下载程序的电路板和电脑下载到单片机(成功正确显示)
第六部分
测试数据与结果分析
1、测试数据
①让该热敏电阻测温系统处于空气中时,温度显示为12摄氏度左右
②当在该热敏电阻上用吹风机吹冷风时,温度显示9摄氏度左右
③当在该热敏电阻上用吹风机吹热风时,温度显示25摄氏度左右
④用手触摸该热敏电阻时,温度显示17摄氏度左右
2、结果分析
该热敏电阻测温系统能够正常工作,且灵敏度比较高,但是显示温度不太稳定,会有数据的稍微跳动,总体来说是合格的。
第七部分
使用说明书
1、使用说明
该热敏电阻测温系统测量温度在2-42摄氏度范围内,超出范围则无效,主要用于室内测温。
该热敏电阻测温系统能显示温度数据和温度单位符号,但是只能显示温度数据的整数部分,所以不能用于高精度的温度测量。
该热敏电阻测温系统所接电源为5V,切记不可接12V等电源,以免烧坏单片机。
2、系统软件和应用软件列表
主要用到的软件有ISPLAY,PROTEUS,KEIL4
3、参考资料
[1]杨路明.C语言程序设计教程.北京邮电大学出版社
[2]童诗白.
模拟电子技术基础.高等教育出版社
[3]阎石.数字技术基础第五版.高等教育出版社
4、小组成员及所做的工作
xxx:
负责电路焊接及电路调试与检测
负责程序编写及电路调试与检测
负责报告编写及电路调试与检测
第八部分
总结
这次课程设计将单片机与传感器进行了结合跟进一步想我展示了单片机得强大功能此外还接触了模数转换器件,了解了有关AD转换的知识,同时也温习了汇编知识。
以前学习总是依赖仿真软件,现在知道做出实物出来比仿真更有效,通过这次课程设计,我希望老师上课可以多给我们讲些理论外的知识来拓宽我们的视野。
总之这次课程设计让我收获很大。
附:
实物照
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 热敏电阻 测温