51单片机热敏电阻测温查表程序

51单片机热敏电阻测温查表程序
51单片机热敏电阻测温查表程序

1.#include

2.#include"LCD.h"

3.#define uchar unsigned char

4.#define uint unsigned int

5.#define N 10

6.uchar bai,ge,shi,n;

7.uint temp,tp;temph,templ;

8.uint code ad_date[]={

9. 1060,1060,1060,1100,1120,1140,1166,1180,1200,1220,

10. 1240,1320,1340,1360,1380,1400,1420,1440,1460,1480,

11. 1500,1520,1540,1560,1580,1600,1620,1640,1660,1680,

12. 1700,1720,1740,1760,1780,1800,1820,1840,1840,1860,

13. 1880,1900,1920,1940,1960,1980,2000,2020,2040,2060,

14. 2080,2100,2120,2140,2160,2180,2200,2220,2240,2260,

15. 2280,2300,2320,2340,2360,2380,2400,2420,2440,2460,

16. 2480,2500,2520,2540,2560,2580,2600,2620,2640,2660,

17. 2680,2700,2720,2740,2760,2780,2800,2820,2840,2860,

18. 2880,2900,2920,2920,2940,2960,2980,3000,3020,3040,

19. 3060,3080,3100,3120,3140,3160,3180,3200,3220,3240,

20. 3260,3280,3300,3320,3340,3360,3380,3400,3420,3440,

21. 3460,3480,3500,3520,3540,3560,3580,3600,3620,3640,

22. 3660,3680};

23.uint code temperiture[]={

24. 594,593,586,580,579,560,564,559,552,545,

25. 541,518,513,508,503,497,491,488,483,480,

26. 473,468,463,458,455,451,447,440,434,433,

27. 430,425,420,416,413,409,404,401,401,396,

28. 390,386,382,378,374,372,368,364,361,357,

29. 354,351,347,343,340,336,333,328,326,322,

30. 319,316,313,309,307,303,300,296,294,289,

31. 286,283,280,276,274,271,267,264,260,257,

32. 253,249,246,243,240,237,233,231,228,224,

33. 222,219,214,216,211,209,206,202,198,194,

34. 187,184,181,178,175,171,168,164,161,158,

35. 154,152,148,146,142,139,136,133,130,126,

36. 124,121,116,114,112,108,102,98,96,94,

37. 89,86};

38.uchar code table[]=" T:00.0`C";

39.uchar num=0;

40.uchar keynum,max=40,min=0;

41.uchar code Temp_max[]=" Max:40`C",Temp_min[]=" Min:00`C";

42.

43.sbit ad_wr=P3^6;

44.sbit ad_rd=P3^7;

45.sbit ad_cs=P3^5;

46.sbit ad_int=P3^2;

47.sbit key1=P0^5;

48.sbit key2=P0^6;

49.sbit key3=P0^7;

50.//sbit Beep=P0^0;

51.

52./*********函数表************/

53.void init(); //初始化

54.void ad_delay(uint t); //延时函数

55.void change(uchar tempture); //分离百位、十位、个位

56.uchar ad_getshuju(); //ad转换

57.char filter(); //滤波

58.uint convert(); //电压转换

59.void tempertur(); //度温度

60.void keyscan(); //键盘扫描

61.

62.//主函数

63.void main()

64.{

65. init();

66.while(1)

67. {

68. keyscan();

69. }

70.}

71.

72.void init()

73.{

74. LCD_init();

75.for(num=0;num<10;num++)

76. {

77. LCD_Write_add_data(num,0,table[num]);

78. }

79.}

80.

81.void ad_delay(uint t)

82.{

83. uchar j;

84. uint i;

85.for(i=0;i

86.for(j=0;j<110;j++);

87.}

88.

89.uchar ad_getshuju()

90.{

91. uchar date;

92. ad_cs=0;ad_wr=0;ad_rd=1;

93. ad_cs=1;ad_wr=1;ad_rd=1;

94.while(ad_int==1);

95. ad_cs=0;ad_wr=1;ad_rd=0;

96. date=P2;

97. ad_cs=1;ad_wr=1;ad_rd=1;

98.return date;

99.}

100.

101.c har filter() //滤波函数中位值滤波法

102.{

103. uint value_buf[N],temp_f;

104. uchar count,i,j;

105.for ( count=0;count

106. {

107. value_buf[count] = ad_getshuju();

108. delay(2);

109. }

110.for (j=0;j

111. {

112.for (i=0;i

113. {

114.if ( value_buf[i]>value_buf[i+1] )

115. {

116. temp_f = value_buf[i];

117. value_buf[i] = value_buf[i+1];

118. value_buf[i+1] = temp_f;

119. }

120. }

121. }

122.return value_buf[(N-1)/2];

123.}

124.

125.u int convert()

126.{

127. uint temph,templ; //用于存储读出数据的高字节和低字节128. uint tmp="0"; //存储最后处理完的结果注意数据类型129. tmp=filter()+tmp; //求滤波后ad值

130. temph=tmp&0xf0; //屏蔽低四位

131. temph=temph>>4; //右移四位取出高四位

132. templ=tmp&0x0f; //屏蔽高四位取出低四位

133. tmp=templ*20+temph*320; //最后的结果是一个四位数,便于显示电压值

134.return tmp; //返回最后处理结果

135.}

136.

137.v oid change(uchar tempture)

138.{

139. bai=tempture/100;

140. shi=tempture%100/10;

141. ge=tempture%10;

142.}

143.

144.v oid tempertur()

145.{

146.for(n=0;temp>=ad_date[n];n++);

147. tp=temperiture[n-1];

148. change(tp);

149. LCD_Write_add_data(4,0,0x30+bai);

150. LCD_Write_add_data(5,0,0x30+shi);

151. LCD_Write_add_data(7,0,0x30+ge);

152.}

153.

154.

155.v oid keyscan()

156.{

157.if(key1==0)

158. {

159. delay(5);

160.if(key1==0)

161. {

162.while(!key1);

163. keynum++;

164.if(keynum==1)

165. {

166. change(max);

167. LCD_Write_Com(0x01);

168. delay(10);

169. LCD_Write_add_str(0,0,10,Temp_max);

170. LCD_Write_add_data(6,0,0x30+shi);

171. LCD_Write_add_data(7,0,0x30+ge);

172. }

173.if(keynum==2)

174. {

175. change(min);

176. LCD_Write_Com(0x01);

177. min=min>0?min:0;

178. delay(10);

179. LCD_Write_add_str(0,0,10,Temp_min); 180. LCD_Write_add_data(6,0,0x30+shi); 181. LCD_Write_add_data(7,0,0x30+ge); 182. }

183.if(keynum==3)

184. {

185. keynum=0;

186. LCD_Write_Com(0x01);

187. delay(10);

188. LCD_Write_add_str(0,0,10,table); 189. }

190. }

191. }

192.if(keynum==0)

193. {

194. temp=convert();

195. tempertur();

196. delay(100);

197. }

198.else

199. {

200.if(keynum==1)

201. {

202.if(key2==0)

203. {

204. delay(5);

205.if(key2==0)

206. {

207.while(!key2);

208. max++;

209. change(max);

210. delay(1);

211. }

212. }

213.if(key3==0)

214. {

215. delay(5);

216.if(key3==0)

217. {

218.while(!key3);

219. max--;

220. change(max);

221. delay(1);

222. }

223. }

224.//LCD_Write_add_str(0,0,9,Temp_max); 225. LCD_Write_add_data(6,0,0x30+shi); 226. LCD_Write_add_data(7,0,0x30+ge); 227. }

228.if(keynum==2)

229. {

230.if(key2==0)

231. {

232. delay(5);

233.if(key2==0)

234. {

235.while(!key2);

236. min++;

237. change(min);

238. min=min>0?min:0;

239. delay(1);

240. }

241. }

242.if(key3==0)

243. {

244. delay(5);

245.if(key3==0)

246. {

247.while(!key3);

248. min--;

249. change(min);

250. delay(1);

251. }

252. }

253.//LCD_Write_add_str(0,0,9,Temp_min); 254. LCD_Write_add_data(6,0,0x30+shi); 255. LCD_Write_add_data(7,0,0x30+ge); 256. }

257. }

258.}

用热敏电阻测量温度

PB05210298 张晶晶 实验报告三 实验题目:用热敏电阻测量温度 实验原理: 1. 半导体热敏电阻的电阻——温度特性 某些金属氧化物半导体(如:Fe 3O 4、MgCr 2O 4等)的电阻与温度关系满足式(1): T B T e R R ∞= (1) 式中R T 是温度T 时的热敏电阻阻值,R ∞是T 趋于无穷时热敏电阻的阻值,B 是热敏电阻的材料常数,T 为热力学温度。 金属的电阻与温度的关系满足(2): )](1[1212t t a R R t t -+= (2) 式中a 是与金属材料温度特性有关的系数,R t1、R t2分别对应于温度t 1、t 2时的电阻值。 根据定义,电阻的温度系数可由式(3)来决定: dt dR R a t t 1= (3) R t 是在温度为t 时的电阻值,由图3.5.2-1(a )可知,在R-t 曲线某一特定点作切线,便可求出该温度时的半导体电阻温度系数a 。 2. 惠斯通电桥的工作原理 半导体热敏电阻和金属电阻的阻值范围,一般在1~106 Ω,需要较精确测量时常用电桥法,惠斯通电桥是应用很广泛的一种仪器。 惠斯通电桥的原理,如图3.5.2-2(a )所示。四个电阻R 0、R 1、R 2、R x 组成一个四边形,即电桥的四个臂,其中R x 就是待测电阻。在四边形的一对对角A 和C 之间连接电源E ,而在另一对对角B 和D 之间接入检流计G 。当B 和D 两点电位相等时,G 中无电流通过,电桥便达到了平衡。平衡时必有02 1 R R R R x = ,

R 1/R 2和R 0都已知,R x 即可求出。R 1/R 2称电桥的比例臂,由一个旋钮调节,它采用十进制固定值,共分0.001、0.01、0.1、1、10、100、1000 七挡。R 0为标准可变电阻,由有四个旋钮的电阻箱组成,最小改变量为1Ω,保证结构有四位有效数字。 02 1 R R R R x 是在电桥平衡的条件下推导出来的。电桥是否平衡是由检流计有无偏转来判断的,而检流计的灵敏度总是有限的。如实验中所用的张丝式检流计,其指针偏转一格所对应的电流约为10-6A ,当通过它的电流比10-7A 还小时,指针的偏转小于0.1格,就很难觉察出来。假设电桥在R 1/R 2=1时调到平衡,则有

接口实验报告-基于51单片机的脉搏温度测试系统-

摘要 接口实验报告 题目:脉搏波体温自动采集系统院(系):电子工程与自动化学院 专业:仪器仪表工程 学生姓名: 学号: 指导老师:李智 职称:教授 20 年8月28日 I

摘要 本文介绍了一种基于51单片机的心率体温采集系统。首先介绍了51系列单片机的内部相关配置、工作原理以及编程方法,其次介绍了温度传感器PT100的相关测温方法以及通过红外光电传感器TCRT5000对射的方法来抓取人体脉搏信号。此次设计的电路部分主要包括:传感测量电路、放大电路、滤波整形电路、AD转换电路、控制电路、电源供电电路等。上位机为通过VC编程界面。通过上位机按键控制,将PT100及TCRT5000输入的微弱信号进行放大整形,最后AD采集转换传送给单片机,在上位机界面上显示相关体温及心率信息。 本次硬件设计基于比较稳定可行、低成本的设计思想,软件设计采用模块化的设计方法,并且详细分析了红外传感器TCRT5000应用于心率测量上以及PT100应用于温度测量上的原理及优点,阐述了其他各配合电路的组成与工作特点,并且通过仿真进行电路的可行性验证,最后完成实物电路的设计,使得本次课题的预期结果得以实现。 关键词:51单片机;传感器;仿真;AD转换

Abstract Abstract This paper introduced a heart rate and body temperature acquisition system that based on 51 single chip microcomputer. First the internal configurations of 51 single chip microcomputer are introduced. And the paper also tell how 51 single chip microcomputer works and how can we program on it. Then the method of using temperature sensor PT100 to get body temperature is introduced, and we use infrared photoelectric sensor TCRT5000 to get the pulse signal of human body.The design of the circuit mainly comprises sensing circuit, amplifying circuit, filtering and shaping circuit, AD converting circuit, counting and displaying circuit, controlling circuit, power supplying circuit and so on. When the keyboard is pressed, the system starts to get signal. The small signal from PT100 and TCRT5000 will be amplified and shaped. Then ad converter will change the analog signal into digital signal and send to 51 single chip microcomputer. At last LCD1602 will display the information of body temperature and heart rate. Keywords: Piezoelectric sensors;control circuit;counters;Multisim2001 simulation software control circuit. III

基于51单片机的DS18B20数字温度计的实训报告

电子信息职业技术学院 暨国家示性软件职业技术学院 单片机实训 题目:用MCS-51单片机和 18B20实现数字温度计 姓名: 系别:网络系 专业:计算机控制技术 班级:计控 指导教师: * 伟 时间安排:2013年1月7日至 2013年1月11日

摘要 随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。 在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。温度控制在生产过程中占有相当大的比例。温度测量是温度控制的基础,技术已经比较成熟。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。 我们采用美国DALLAS半导体公司继DS18B20之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度围为-55~125 oC,最高分辨率可达0.0625 oC。DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。 本文介绍一种基于AT89C51单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量围0℃-~+100℃,使用LED模块显示,能设置温度报警上下限。正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C51单片机功能和应用。该电路设计新颖、功能强大、结构简单。 关键词:单片机,数字控制,温度计, DS18B20,AT89S51

基于NTC热敏电阻的温度测量与控制系统设计(论文)

题目名称:基于NTC热敏电阻的温度测量与控 制系统设计 摘要:本系统由TL431精密基准电压,NTC热敏电阻(MF-55)的温度采集,A/D和D/A转换,单片机STC89C51为核心的最小控制系统,LCD1602的显示电路等构成。温度值的线性转换通过软件的插值方法实现。该系统能够测量范围为0~100℃,测量精度±1℃,并且能够记录24小时内每间隔30分钟温度值,并能够回调选定时刻的温度值,能计算并实时显示24小时内的平均温度、温度最大值、最小值、最大温差,且有越限报警功能。由于采用两个水泥电阻作为控温元件,更有效的增加了温度控制功能。 关键词: NTC TL431 温度线性转换 Abstract: The system is composed of TL431 as precise voltage,the temperature acauisition circuit with NTC thermistors (MF-55), the transform circuit of A/D and D/A, the core of the minimum control system with STC89C51, 1the display circuit usingLCD1602, etc. Get the temperature of the linear transformation by the software method. The range of the measure system is 0 ~ 100 ℃, measurement accuracy + 1 ℃.It can record 24 hours of each interval temperature by per 30 minutes selected of temperature.The time can be calculated and real-time display within 24 hours of the average temperature, maximum temperature and minimum temperature, maximum value, and each temperature sensor has more all the way limit alarm function. Due to the two cement resistance as temperature control components, the more effective increase the temperature control function. Keyword: NTC TL431 temperature linear conversion

51单片机测温程序

#include #include #define uint unsigned int #define uchar unsigned char uinti,numone,numtwo,temp; ucharqian,bai,shi,ge,xiaoshu; sbitdq=P2^2; sbitdula=P2^6; sbitwela=P2^7; uchar code list[]={ 0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d ,0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c , 0x39 , 0x5e , 0x79 , 0x71,0x80 }; unsigned char code listone[] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; void delay(uint z) { uintx,y; for(x=100;x>0;x--) for(y=z;y>0;y--); } voiddelayone(unsigned char i)

{ while(--i); } /****************************************** 此延时函数针对的是12Mhz的晶振 delay(0):延时518us 误差:518-2*256=6 delay(1):延时7us (原帖写"5us"是错的)delay(10):延时25us 误差:25-20=5 delay(20):延时45us 误差:45-40=5 delay(100):延时205us 误差:205-200=5 delay(200):延时405us 误差:405-400=5*/ voidshuma(uchar temp) { shi=temp/100; ge=temp%100/10; xiaoshu=temp%10; dula=1; P0=list[shi]; dula=0; P0=0xff; wela=1; P0=0xfe;

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

电路实物图如下图所示: C 语言程序如下所示: /******************************************************************** zicreate ----------------------------- Copyright (C) https://www.360docs.net/doc/fb15620801.html, -------------------------- * 程序名; 基于DS18B20的测温系统 * 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来 * 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限 * 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s 左右自动 * 退出;按一下K3进入查看下限温度模式,显示1s 左右自动退出;按一下K4消除 * 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能, * K1是实现减1功能,K3是用来设定上下限温度正负的。 * 编程者:Jason * 编程时间:2009/10/2 *********************************************************************/ #include //将AT89X52.h 头文件包含到主程序 #include //将intrins.h 头文件包含到主程序(调用其中的_nop_()空操作函数延时) #define uint unsigned int //变量类型宏定义,用uint 表示无符号整形(16位) #define uchar unsigned char //变量类型宏定义,用uchar 表示无符号字符型(8位) uchar max=0x00,min=0x00; //max 是上限报警温度,min 是下限报警温度 bit s=0; //s 是调整上下限温度时温度闪烁的标志位,s=0不显示200ms ,s=1显示1s 左右 bit s1=0; //s1标志位用于上下限查看时的显示 void display1(uint z); //声明display1()函数 #include"ds18b20.h" //将ds18b20.h 头文件包含到主程序 #include"keyscan.h" //将keyscan.h 头文件包含到主程序 #include"display.h" //将display.h 头文件包含到主程序

热敏电阻测温电路设计

电子设计大赛论文 (B组) 热敏电阻测温电路设计 第三十组 K3队 组队成员:顾代辉黄龑罗程 2010年5月23日

摘要:科技发展,很多工业化的生产都需要温度测量,这使得温度测量仪器变成一个 很重要的东西。下面我们将题目所给的温度测量电路进行分析和改动设计。题目所给图是一个在工业场合的温度测量系统,采用RTD 电阻温度检测器。通过分析可知,ref R 两端分到的电压即为ref V ,Vo3输出的电压即为NTC 两段分到的电压。而要求我们设计的电路所用的是NTC 负温度系数热敏电阻器。题目要求我们将电流产生电路的电流控制在0.1m A 。这里我们简 单的将 ref R 改成25k 。对于滤波电路,我们设计各个参数使得其截至频率在100Hz 左右,就 能滤掉1000HZ 的干扰信号;对于基准源,我们都用基本的连接方法,输出电压为2.5V ;对于稳压管,输出电压为恒定的5V ;对于串口连接,我们用到MAX232芯片其中一个接口,与单片机的RXD/TXD 连接传输数据。 关键词:温度传感器 AVR 串口显示 I .电路分析 (1) 电流产生电路分析: 首先对于运放A1,由虚短和虚断,可知 111211 120 V V I I === 有: 1121221 O V V V R R --= 可解得:1121122=O V V V = 即第一个运放功能为将信号放大两倍。 对于运放A2,同理,有 212221 220 V V I I === 有:221O V V =可见,运放A2是一个电压跟随器。

又:24211234( )2 REF O REF O O V V R V V V V R R -?+=+=+ 11122O REF O V V V V ==+ 故: REF R 两端分到的电压为 122R O REF REF O O REF V V V V V V V =-=+-= 由此可见: REF R 两端分压恒为基准电压 REF V ,只要基准电压和 REF R 的值不变,则 通过 REF R 的电流REF REF V I R = 2.5 12.5mA k ==为恒定值,该电路的作用为产生恒定电流。 由于3233p n V V V ==,故Rline 和R6相当于并联, 66'1001R R I I Rline ==,故100'101 I I I =≈ 故可认为恒定电流I 都通过热敏电阻RTD 。 运放A3以及NTD 分析: 由叠加法分析,当31V 接地时,033131317100'6100R k V V V V R k =- =-=- 当32V 接地时,03323276100100''26100R R k k V V V R k ++= == 故0303033231'''2V V V V V =+=- …………………… ① 而32()'RTD V Rline R I =+? …………………… ② 31(2)'RTD V Rline R I =+? …………………… ③

基于热敏电阻的数字温度计

电子信息工程学院电子设计应用软件训练任务 【训练任务】: 1、熟练掌握PROTEUS软件的使用; 2、按照设计要求绘制电路原理图; 3、能够按要求对所设计的电路进行仿真; 【基本要求及说明】: 1、按照设计要求自行定义电路图纸尺寸; 2、设计任务如下: 基于热敏电阻的数字温度计 设计要求 使用热敏电阻类的温度传感器件利用其感温效应,将随被测温度变化的电压或电流用单片机采集下来,将被测温度在显示器上显示出来: ●测量温度范围?50℃~110℃。 ●精度误差小于0.5℃。 ●LED数码直读显示。 本题目使用铂热电阻PT100,其阻值会随着温度的变化而改变。PT后的100即表示它在0℃时阻值为100欧姆,在100℃时它的阻值约为138.5欧姆。厂家提供有PT100在各温度下电阻值值的分度表,在此可以近似取电阻变化率为 0.385Ω/℃。向PT100输入稳恒电流,再通过A/D转换后测PT100两端电压,即得到PT100的电阻值,进而算出当前的温度值。 采用2.55mA的电流源对PT100进行供电,然后用运算放大器LM324搭建的同相放大电路将其电压信号放大10倍后输入到AD0804中。利用电阻变化率0.385Ω/℃的特性,计算出当前温度值。 3、按照设计任务在Proteus 6 Professional中绘制电路原理图; 4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。【按照要求撰写总结报告】 成绩:_____

一、任务说明 使用热敏电阻类的温度传感器件利用其感温效应,将随被测温度变化的电压或电流用单片机采集下来,将被测温度在显示器上显示出来: ●测量温度范围?50℃~110℃。 ●精度误差小于0.5℃。 ●LED数码直读显示。 本题目使用铂热电阻PT100,其阻值会随着温度的变化而改变。PT后的100即表示它在0℃时阻值为100欧姆,在100℃时它的阻值约为138.5欧姆。厂家提供有PT100在各温度下电阻值值的分度表,在此可以近似取电阻变化率为 0.385Ω/℃。向PT100输入稳恒电流,再通过A/D转换后测PT100两端电压,即得到PT100的电阻值,进而算出当前的温度值。 采用2.55mA的电流源对PT100进行供电,然后用运算放大器LM324搭建的同相放大电路将其电压信号放大10倍后输入到AD0804中。利用电阻变化率0.385Ω/℃的特性,计算出当前温度值。 二、元器件简介 1、AT89C51简介 AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS,8位微处理器,俗称单片机。AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。其引脚图如图一所示。 图一 AT89C51引脚图

基于AT89C51单片机的测温系统

引言 本文主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程,并介绍了利用C语言编程对DS18B20的访问,该系统可以方便的实现实现温度采集和显示,使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点。DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量。数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC89C52单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管实现温度值显示。 .

一、设计要求 通过基于MCS-51系列单片机AT89C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,C语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。 以MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为0.5摄氏度。温度显示采用3位LED数码管显示,两位整数,一位小数。具有键盘输入上下限功能,超过上下限温度时,进行声音报警。 二、基本原理 原理简述:数字温度传感器DS1820把温度信息转换为数字格式;通过“1-线协议”,单片机获取指定传感器的数字温度信息,并显示到显示设备上。通过键盘,单片机可根据程序指令实现更灵活的功能,如单点检测、轮转检测、越数字温度传感器的温度检测及显示的系统原理图如图DS1820限检测等。基于 图 2.1 基于DS1820的温度检测系统框图 三:主要器件介绍(时序图及各命令序列,温度如何计算等) 系统总体设计框图 由于DS18B20数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用DS18B20数字温度传感器测量温度。 测温电路设计总体设计框图如图所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,显示采用4位LED数码管,报警采用蜂鸣器、LED灯实现,键盘用来设定报警上下限温度。 .. . 测温电路设计总体设计框图图3.11.控制模块 AT89S52单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含有8kb的可系统编程的Flash只读程序存储器,器件采用ATMEL公

51单片机热敏电阻测温程序

//本程序是通过热敏电阻测温度(30c-50c),采用六位串行数码管显示,前三位显示ds18b20测得数据,后三位是热敏电阻测得数据 #include #include #include #define uchar unsigned char #define uint unsigned int uchar smg[]={0x88,0xeb,0x4c,0x49,0x2b,0x19,0x18,0xcb,0x08,0x09}; uchar b,d; uint shuju; int a,temp; sbit start=P2^7; sbit ale=P2^7; sbit addc=P2^6; sbit addb=P2^5; sbit adda=P2^4; sbit eoc=P2^3; sbit oe=P2^2; sbit clk=P3^2;//0809时钟脚 sbit dat=P3^0; //串行数码管数据端 sbit clock=P3^1; //串行数码管时钟端 sbit DQ=P2^0; /******************delay**************************/ void delay(uint x) { while(x--); } void delay1(uint x) { uint i,j; for(i=0;i

基于51单片机的温度警报器的设计

西安文理学院物理与机械电子工程学院课程设计任务书

目录 摘要 (3) 1 引言 (3) 1.1课题背景 (3) 1.2研究内容和意义 (5) 2 芯片介绍 (5) 2.1 DS18B20概述 (5) 2.1.1 DS18B20封装形式及引脚功能 (6) 2.1.2 DS18B20内部结构 (6) 2.1.3 DS18B20供电方式 (9) 2.1.4 DS18B20的测温原理 (10) 2.1.5 DS18B20的ROM命令 (11) 2.2 AT89C52概述 (13) 2.2.1单片机AT89C52介绍 (13) 2.2.2功能特性概述 (13) 3 系统硬件设计 (13) 3.1 单片机最小系统的设计 (13) 3.2 温度采集电路的设计 (14) 3.3 LED显示报警电路的设计 (15) 4 系统软件设计...................................................15 4.1 流程图........................................................15 4.2 温度报警器程序.................................................16 4.3 总电路图..................................................... 19 5总结 (20)

摘要 随着时代的进步和发展,温度的测试已经影响到我们的生活、工作、科研、各个领域,已经成为了一种非常重要的事情,因此设计一个温度测试的系统势在必行。 本文主要介绍了一个基于AT89C52单片机的数字温度报警器系统。详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度的采集和报警,并可以根据需要任意上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当做温度处理模块潜入其他系统中,作为其他主系统的辅助扩展。DS18B20与AT89C52结合实现最简温度报警系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 关键词:单片机;温度检测;AT89C52;DS18B20; 1 引言 1.1课题背景 温度是工业对象中主要的被控参数之一,如冶金、机械、食品、化工各类工业生产中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的温度处理要求严格控制。随着科学技术的发展,要求温度测量的范围向深度和广度发展,以满足工业生产和科学技术的要求。 基于AT89C51单片机提高了系统的可移植性、扩展性,利于现代测控、自动化、电气技术等专业实训要求。以单片机为核心设计的温度报警器,具有安全可靠、操作简单方便、智能控制等优点。 温度对于工业生产如此重要,由此推进了温度传感器的发展。温度传感器主要经过了三个发展阶段[1]: (1)模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、

基于单片机的数字温度计设计开题报告

****大学综合性设计实验 开题报告 ?实验题目:数字温度计的设计 ?学生专业10电气工程与自动化 ?同组人:———————— ?指导老师: 2013年4月

1.国内外现状及研究意义 随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。 测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段: ①传统的分立式温度传感器 ②模拟集成温度传感器 ③智能集成温度传感器。 目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,AT89S51单片机为控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。该设计控制器使用ATMEL公司的AT89S51单片机,测温传感器使用DALLAS公司DS18B20,用液晶来实现温度显示。 2.方案设计及内容 (一)、方案一 采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,

基于热敏电阻的数字温度计设计

目录 1 课程设计的目的 (1) 2 课程设计的任务和要求 (1) 3 设计方案与论证 (1) 4 电路设计 (2) 4.1 温度测量电路 (3) 4.2 单片机最小系统 (6) 4.3 LED数码显示电路 (8) 5 系统软件设计 (9) 6 系统调试 (9) 7 总结 (11) 参考文献 (13) 附录1:总体电路原理图 (14) 附录2:元器件清单 (15) 附录3:实物图 (16) 附录4:源程序 (17)

1 课程设计的目的 (1)掌握单片机原理及应用课程所学的理论知识; (2)了解使用单片机设计的基本思想和方法,学会科学分析和解决问题; (3)学习单片机仿真、调试、测试、故障查找和排除的方法、技巧; (4)培养认真严谨的工作作风和实事求是的工作态度; (5)锻炼自己的动手动脑能力,以提高理论联系实际的能力。 2 课程设计的任务和要求 (1)采用LED 数码管显示温度; (2)测量温度范围为-10℃~110℃; (3)测量精度误差小于0.5℃。 3 设计方案与论证 方案一:本方案主要是在温度检测部分利用了一款新型的温度检测芯片DS18B20,这个芯片大大简化了温度检测模块的设计,它无需A/D 转换,可直接将测得的温度值以二进制形式输出。该方案的原理框图如图3-1所示。 DS18B20是美国达拉斯半导体公司生产的新型温度检测器件,它是单片结构,无需外加A/D 即可输出数字量,通讯采用单线制,同时该通讯线还可兼作电源线,即具有寄生电源模式。它具有体积小、精度易保证、无需标定等特点,特别适合与单片机合用构成智能温度检测及控 制系统。 图3-1 方案一系统框图 单片机 最小系统 数码 显示 温度传感器 DS18B20

基于单片机热敏电阻温度采集

毕业设计说明书 第一章序论 1.1课题研究的意义 温度是工业生产中主要的参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。单片机在工业生产中的应用尤其广泛,温度采集系统则是单片机在工业生产中的一个典型的应用。采用单片机对温度进行采集不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。 随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,单片机已经以其体积小、功能强、价格低、使用灵活等特点显示出了明显的优势和广泛的应用前景。作为一名测控技术与仪器专业的学生,理应对单片机有更深的了解,此次针对89C51型单片机在温度控制方面的应用,对温度恒定系统进行了分析并给出了具体的解决方案。 1.2课题研究的背景和当今发展趋势 数据采集系统始于20世纪50年代,1965年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非熟练人员操作,并且测试任务由测试设备高速自动控制完成。由于该种数据采集系统具有高速属性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。 20世纪70年代中后期,随着微型机的发展,诞生了采集器、仪表同计算机融为一体的数据采集系统。由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了惊人的发展。从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,另一类是工业现场数据采集系统。 20世纪80年代随着计算机的普及应用,数据采集系统得到了极大的发展,开始出现了,通用的数据采集与自动化测试系统。该阶段的数据采集系统主要有两类,一类以仪器仪表和采集器、通用接口总线和计算机等构成。例如:国际标准ICE625(GPIB)接口总线系统就是一个典型的代表。这类系统主要用于实验室,在工业生产现场也有一定的应用。 时至今日,由于集成电路制造技术的不断提高,出现了高性能、高可靠性的数据采集系统。现代的数据采集系统,在系统初始化、编程、修改、扩充等方面,变得比过去更加容易。A/D变换器的技术发展,允许以更高的分辨率,更快的采集速度和更低的成本,实现更精密的测量。目前,数据采集系统的一种较为肯定的发展趋势是:把个人计算机同数据采集系统结合起来,实现测量和控制任务的自动化 随着科学技术的发展和数据采集技术的广泛应用,对数据采集系统的各项指标,如采样率、分辨率、存储深度、数字信号处理的、抗干扰能力等方面提出了越来越高的要求,这时超高速数据采集系统应运而生。

温度监测及报警电路(热敏电阻+LM324)

温度监测及报警电路(热敏电阻+LM324)姓名:_____孔亮______ 学号:____0928401116____ 一、元件介绍: 1、热敏电阻MF53-1:

2、LM324: LM324是四运放集成电路,它采用14脚双列直插塑料封装,lm324原理图如图所示。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。 每一组运算放大器可用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。lm324引脚图见图2。 图一图二由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。 3、LED——发光二极管 LED(Light-Emitting-Diode中文意思为发光二极管,是一种能够将电能转化为可见光的半导体,它改变了白炽灯钨丝发光与节能灯三基色粉发光的原理,而采用电场发光。据分析,LED的特点非常明显,寿命长、光效高、无辐射与低功耗。LED的光谱几乎全部集中于可见光频段,其发光效率可超过150lm/W(2010年)。 一般LED工作时,加10mA足以使之正常工作,故电阻值为V o/10mA,即为外加电阻的值,如+5V的电压下可以使用500欧姆的电阻。 二、设计原理: 检测电路采用热敏电阻RT(MF53-1)作为测温元件;采用LM324作比较电路;用发光二极管实现自动报警。 报警分三级:温度>20O C,一个灯亮; 温度>40O C,二个灯亮; 温度>60O C,三个灯亮。

基于AT89C51单片机的温度传感器

基于AT89C51单片机的温度传感器 目录 摘要.............................................................. I ABSTRACT........................................................... I I 第一章绪论 (1) 1.1 课题背景 (1) 1.2本课题研究意义 (2) 1.3本课题的任务 (2) 1.4系统整体目标 (2) 第二章方案论证比较与选择 (3) 2.1引言 (3) 2.2方案设计 (3) 2.2.1 设计方案一 (3) 2.2.2 设计方案二 (3) 2.2.3 设计方案三 (3) 2.3方案的比较与选择 (4) 2.4方案的阐述与论证 (4) 第三章硬件设计 (6) 3.1 温度传感器 (6) 3.1.1 温度传感器选用细则 (6) 3.1.2 温度传感器DS18B20 (7) 3.2.单片机系统设计 (13)

3.3显示电路设计.................................错误!未定义书签。 3.4键盘电路设计................................错误!未定义书签。 3.5报警电路设计.................................错误!未定义书签。 3.6通信模块设计.................................错误!未定义书签。 3.6.1 RS-232接口简介..............................错误!未定义书签。 3.6.2 MAX232芯片简介.............................错误!未定义书签。 3.6.3 PC机与单片机的串行通信接口电路.............错误!未定义书签。 第四章软件设计..................................错误!未定义书签。 4.1 软件开发工具的选择..........................错误!未定义书签。 4.2系统软件设计的一般原则.......................错误!未定义书签。 4..3系统软件设计的一般步骤......................错误!未定义书签。 4.4软件实现....................................错误!未定义书签。 4.4.1系统主程序流程图.........................错误!未定义书签。 4.4.2 传感器程序设计...........................错误!未定义书签。 4.4.3 显示程序设计.............................错误!未定义书签。 4.4.4 键盘程序设计.............................错误!未定义书签。 4.4.5 报警程序设计.............................错误!未定义书签。 4.4.6 通信模块程序设计.........................错误!未定义书签。 第五章调试与小结..................................错误!未定义书签。致谢...............................................错误!未定义书签。参考文献...........................................错误!未定义书签。附录...............................................错误!未定义书签。系统电路图.......................................错误!未定义书签。系统程序.........................................错误!未定义书签。

相关文档
最新文档