温度检测实训报告.docx

上传人:b****8 文档编号:27877214 上传时间:2023-07-05 格式:DOCX 页数:22 大小:1.01MB
下载 相关 举报
温度检测实训报告.docx_第1页
第1页 / 共22页
温度检测实训报告.docx_第2页
第2页 / 共22页
温度检测实训报告.docx_第3页
第3页 / 共22页
温度检测实训报告.docx_第4页
第4页 / 共22页
温度检测实训报告.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

温度检测实训报告.docx

《温度检测实训报告.docx》由会员分享,可在线阅读,更多相关《温度检测实训报告.docx(22页珍藏版)》请在冰豆网上搜索。

温度检测实训报告.docx

温度检测实训报告

电子系统综合设计报告

 

设计课题:

温敏电阻数字温度计的设计

 

专业班级:

15电气工程

(1)班

学生姓名:

傅XX

指导教师:

罗XX

设计时间:

2016.12.5-2016.12.14

物理与电子工程学院

温敏电阻数字温度计的设计

一、设计任务与要求

设备整机结构及硬件电路框图根据设计要求与设计思路,设计硬件电路框图如下图所示,按照系统设计功能的要求,确定系统由4个模块组成:

主控制器、测温电路、显示电路和报警电路。

AT89C51对LCD1602初始化、温度采集、温度转换、液晶显示屏显示、蜂鸣器的驱动。

本装置详细组成部分如下:

 a.主控模块:

AT89C51片机;

 b.测温电路:

103温敏电阻;

 c.显示电路:

LCD1602液晶显示屏;

d.报警电路:

无源蜂鸣器。

5.设计目标:

(1)搭建一个单片机最小系统;

(2)通过温敏电阻检测温度,拟合曲线频率和温度的关系,通过程序,将温度显示在LCD1602上。

二、方案设计与论证

1.单片机选择

采用STC89C52芯片,STC89C52是我们较为常用的一种单片机,对其烧写调试都比较熟悉,所以选之为本次使用的单片机,避免给本次设计带来新的设计压力。

2.测温电路:

103温敏电阻、555震荡电路

103温敏电阻的特点:

1)搭配555振荡电路即可产生一定频率的脉冲;

2)电气性能佳,可焊性好;

3)测量温度范围在-40℃到+125℃之间;

4)价钱合适,性价比高

热敏电阻与温度对照表:

已知条件

B常数

3380

单位

k

创建人:

LXF  日期:

2008-6-11

R值

10

计算公式:

Rt =R*EXP(B*(1/T1-1/T2)

说明:

1、Rt 是热敏电阻在T1温度下的阻值;        

         2、R是热敏电阻在T2常温下的标称阻值;   

         3、B值是热敏电阻的重要参数;

         4、EXP是e的n次方;                              

         5、这里T1和T2指的是K度即开尔文温度,K度=273.15(绝对温度)+摄氏度;

温度T1

阻值Rt 

温度T1

阻值Rt 

温度T1

阻值Rt 

温度T1

阻值Rt 

-40

235.83075593

2

25.795966881

44

5.070437823

86

1.4580779678

-39

221.67240981

3

24.673611964

45

4.9034011598

87

1.4204703156

-38

208.47382602

4

23.607666567

46

4.7428627464

88

1.3840329328

-37

196.16305694

5

22.594945784

47

4.5885344983

89

1.3487237721

-36

184.67403487

6

21.632463086

48

4.4401425688

90

1.314502486

-35

173.94605364

7

20.717416866

49

4.2974265762

91

1.2813303512

-34

163.92329912

8

19.847177965

50

4.1601388769

92

1.2491701959

-33

154.55442376

9

19.019278111

51

4.028043881

93

1.2179863314

-32

145.79216068

10

18.231399185

52

3.9009174074

94

1.1877444861

-31

137.59297352

11

17.481363273

53

3.7785460774

95

1.1584117439

-30

129.91673843

12

16.767123414

54

3.6607267421

96

1.1299564843

-29

122.72645506

13

16.086755023

55

3.5472659437

97

1.1023483265

-28

115.9879839

14

15.438447903

56

3.4379794071

98

1.075558075

-27

109.66980711

15

14.820498836

57

3.3326915609

99

1.0495576687

-26

103.74281093

16

14.231304683

58

3.2312350849

100

.024*******

-25

98.180087362

17

13.669355966

59

3.1334504839

101

0.99981952932

-24

92.956753436

18

13.133230897

60

3.0391856852

102

0.97603091812

-23

88.049786313

19

12.621589814

61

2.9482956581

103

0.95293030945

-22

83.437872835

20

12.133170007

62

2.8606420555

104

0.93049462625

-21

79.1012721

21

11.666780884

63

2.7760928748

105

0.90870166515

-20

75.021689902

22

11.221299475

64

2.6945221372

106

0.88753005982

-19

71.182163924

23

10.795666238

65

2.6158095855

107

0.86695924602

-18

67.566958717

24

10.388881138

66

2.539840398

108

0.84696942817

-17

64.161469566

25

10

67

2.4665049172

109

0.8275415475

-16

60.952134444

26

9.628131096

68

2.3956983947

110

0.80865725166

-15

57.926353332

27

9.2724319585

69

2.3273207488

111

0.79029886564

-14

55.072414241

28

8.9321064055

70

2.261276335

112

0.77244936406

-13

52.379425349

29

8.6064017588

71

2.19747373

113

0.75509234467

-12

49.837252709

30

8.2946062436

72

2.1358255255

114

0.73821200302

-11

47.436463044

31

7.9960465557

73

2.0762481341

115

0.72179310832

-10

45.168271181

32

7.710085586

74

2.0186616054

116

0.70582098028

-9

43.024491729

33

7.4361202907

75

1.9629894509

117

0.69028146703

-8

40.997494622

34

7.1735796969

76

1.9091584793

118

0.67516092404

-7

39.080164223

35

6.9219230346

77

1.8570986391

119

0.66044619385

-6

37.26586165

36

6.6806379874

78

1.8067428702

120

0.64612458683

-5

35.54839008

37

6.4492390516

79

1.7580269629

121

0.63218386263

-4

33.921962772

38

6.2272659994

80

1.7108894244

122

0.61861221257

-3

32.381173574

39

6.0142824362

81

1.6652713514

123

0.60539824268

-2

30.920969714

40

5.809874448

82

1.62111631

124

0.59253095752

-1

29.536626693

41

5.6136493318

83

1.5783702214

125

0.57999974472

0

28.223725086

42

5.4252344036

84

1.5369812533

126

0.56779436007

1

26.978129124

43

5.2442758792

85

1.4968997166

127

0.55590491342

555振荡电路的特点:

电源接通时,555的3脚输出高电平,接至单片机T0口。

同时电源通过R1R2向电容C充电,当C上的电压到达555集成电路6脚的阀值电压(2/3电源电压)时,555的7脚把电容里的电放掉,3脚由高电平变成低电平。

当电容的电压降到1/3电源电压时,3脚又变为高电平,同时电源再次经R1R2向电容充电。

这样周而复始,形成振荡。

电路简单并且稳定性好。

3.显示模块的选择:

LCD1602液晶显示

LCD1602特点:

a.耗电量较传统CRT相比较小

b.体积轻巧,不占地方

c.显示内容丰富

d.可以精简为四线传输

各个拐角作用如下表:

 

4.报警电路:

蜂鸣器

蜂鸣器优点:

1.程序控制方便

2.频率可调

三、单元电路设计与参数计算

1.振荡电路的设计

晶体和电容决定了单片机的工作时间精度为1微秒。

晶体可在1.2-12MHz

之间选择。

由于本次设计涉及到串口通信模块,考虑其波特率设置问题,所以本次设计采用12MHz的石英晶体片。

对电容无严格要求,但它的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一点影响。

C1和C2可在20-100PF之间取值,一般情况取20PF。

振荡电路的电路图如图1所示。

Y1为12MHz的晶振,C1与C2是22PF的普通电容。

C1、C2、Y1三者一起构成了石英振荡器。

图1:

晶振模块

2.显示电路的设计

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。

它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

具体电路如图3所示:

图2:

LCD1602

 

3.测温电路的设计

通过555定时器和103温敏电阻结合,设计测温电路。

具体电路如图3所示:

图3:

测温模块

4.报警电路的设计

连接一个无源蜂鸣器在设计需要的情况下进行报警。

其具体电路如图4所示:

图4:

报警电路模块

五、原理图、PCB、仿真运行图及元件清单(附录)

六、硬件设计调试

1.检测元器件

在领到元件后,我们必须首先确保所领的元件都是能正常工作的,从而能减少焊接后的许多调试的麻烦。

如何检测元器件是否能正常工作呢,我觉得最好的方法就是将器件放在成品的电路板上测试,以验证其是否能正常工作时最好的方法。

若没有成品电路,我们则只能做一些最基本的外科式的检测,如用电压表检测其引脚测试其阻抗,以及接上电源后其,各个引脚的电压是否正常。

2.焊接及调试

在单面板上涂一层助焊剂,对照原理图将元件合理安装在单面板上,检查元件位置是否正确。

检查无误后,用电烙铁将每个元件用焊锡焊牢,保证每个元件不虚焊。

在焊元件时根据不同元件耐热性能尽量减少焊接时间。

焊集成块时,先焊插槽。

焊接完毕后用万用表检查是否短路和断路。

通电后检测各个引脚上的电压是否与期望值相符或相近。

七、软件设计调试

1.程序流程图:

 

 

 

图8:

实物图

八、结论与心得

在做之前,我以为很简单,就像以前做物理实验一样,做完实验能够两下子就将实验报告做完。

直到板子做出来,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅。

做的时候一定要一步一步来,仿真要通过了才能进行下一步实物的制作。

期间学到了电容的读数,因为电容使用的不正确,所以一直无法达到预期效果。

程序部分我学到一个很方便的显示语句比原先书上的简单很多。

两周的实训让我学到了不少使用的知识,更重要的是,这个过程,还有思考问题的方法,这是通用的。

期间培养了良好的工程素质和科学道德,例如合作精神、交流能力、独立思考、测试前沿信息的捕获能力等;提高了自己动手能力,培养理论联系实际的作风,增强创新意识。

经过这次实训设计,我觉得自己学到了不少东西。

以前我们基本上是学习书本上的知识,只懂得理论,通过这次实际的操作和锻炼,学会了怎样查阅资料和利用工具书,怎样制作电路图。

当在设计过程中需要用一些不曾见过的东西或不曾学过的知识时,我就会去有针对性地进行查找资料,然后加以利用,把它搞清楚,以提高自己的应用能力,而且还能增长自己见识,补充最新的专业知识,并学会了用PROTEL软件画电路图。

通过本次设计,我觉得我还需要进一步的学习,特别在软件程序方面更要重视,以便在以后的学习或工作中,能够学有所用。

附录

附录1:

总原理图

附录2:

PCB图

附录3:

+LCD1602

元件清单

 

附录4:

仿真运行截图

附录5:

程序清单:

/****************************************************************

//频率检测,得到电阻,得到温度

#include

#include

#include

//#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitrs=P2^0;

sbitrw=P2^1;

sbitep=P2^2;

sbitbeep=P2^3;

uchardispcount,a;

//uchartem;

//ucharres;

//ucharm,n,l;

ucharT0count,timecount;

bitflag;

floatx,y;//频率x,温度y

//ucharcodedis1[]={"rate:

"};

//ucharcodedis1[]={"rate:

"};

//ucharcodedis2[]={"tem:

"};

voiddelay(uintms)

{

uinti;

while(ms--)

{

for(i=0;i<120;i++);

}

}

voidcmp()

{

if(flag==1)

{

flag=0;

x=T0count*65536+TH0*256+TL0;//频率x

//if(x>9999)dispcount=x/10;

//if(x>99999)dispcount=x/100;

TH0=0;

TL0=0;

//TH1=(65536-50000)/256;

//TL1=(65536-50000)%256;

timecount=0;

T0count=0;

TR0=1;

//TR1=1;

y=22.487*(log10(x))/(log10(exp

(1)))-121.44;

}

}

voidtimer0()interrupt1

{

T0count++;

}

voidtimer1()interrupt3

{

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

timecount++;

if(timecount==20)

{

TR0=0;

//TR1=0;

flag=1;

timecount=0;

}

}

voidTime_init()

{

TMOD=0x15;

TH0=0;

TL0=0;

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

ET0=1;

ET1=1;

EA=1;

TR1=1;

TR0=1;

}

ucharBusy_Check(void)

{

ucharLCD_Status;

rs=0;//忙检状态

rw=1;//忙检状态

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

LCD_Status=P0&0x80;//最高是0

ep=0;

returnLCD_Status;

}

voidlcd_wcmd(ucharcmd)

{

while(Busy_Check());

rs=0;

rw=0;

ep=0;

_nop_();

_nop_();

P0=cmd;

_nop_();

_nop_();

_nop_();

_nop_();

ep=1;//产生一个上升沿交换数据

_nop_();

_nop_();

_nop_();

_nop_();

ep=0;

}

voidlcd_wdat(uchardat)

{

while(Busy_Check());

rs=1;

rw=0;

ep=0;

P0=dat;

_nop_();

_nop_();

_nop_();

_nop_();

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

ep=0;

}

voidlcd_init(void)//初始化

{

lcd_wcmd(0x38);

delay

(1);

lcd_wcmd(0x0c);//光标不闪烁

delay

(1);

lcd_wcmd(0x06);//读写后指针加一!

delay

(1);

lcd_wcmd(0x01);//清屏

delay

(1);

}

voidlcd_string(ucharlin,uchark[])//lin是位置,k[]是字符数据

{

chari=0;

lcd_wcmd(lin+0x80);//显示位置

while(k[i])

{

lcd_wdat(k[i++]);//写字符数据

}

}

voidLCD_disp()

{

uchartab1[12]={0};

uchartab2[12]={0};

if((y<38)&(y>0))

{

sprintf(tab1,"pinlv:

%.2fHz",(float)x);//把数据写入某个字符串缓冲区,就是前面的tab1

lcd_string(0x00,tab1);

sprintf(tab2,"wendu:

%.2fC",((float)y));

lcd_string(0x40,tab2);

}

else

{

beep=0;

delay

(1);

beep=~beep;

delay

(1);

sprintf(tab1,"warning!

!

!

");

lcd_string(0x03,tab1);

delay(10);

lcd_wcmd(0x01);//清屏

delay

(1);

}

}

voidmain(void)

{

lcd_init();

delay(10);

Time_init();

delay(10);

while

(1)

{

cmp();

LCD_disp();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1