温度传感器的设计报告.docx

上传人:b****1 文档编号:2927057 上传时间:2023-05-05 格式:DOCX 页数:14 大小:185.97KB
下载 相关 举报
温度传感器的设计报告.docx_第1页
第1页 / 共14页
温度传感器的设计报告.docx_第2页
第2页 / 共14页
温度传感器的设计报告.docx_第3页
第3页 / 共14页
温度传感器的设计报告.docx_第4页
第4页 / 共14页
温度传感器的设计报告.docx_第5页
第5页 / 共14页
温度传感器的设计报告.docx_第6页
第6页 / 共14页
温度传感器的设计报告.docx_第7页
第7页 / 共14页
温度传感器的设计报告.docx_第8页
第8页 / 共14页
温度传感器的设计报告.docx_第9页
第9页 / 共14页
温度传感器的设计报告.docx_第10页
第10页 / 共14页
温度传感器的设计报告.docx_第11页
第11页 / 共14页
温度传感器的设计报告.docx_第12页
第12页 / 共14页
温度传感器的设计报告.docx_第13页
第13页 / 共14页
温度传感器的设计报告.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

温度传感器的设计报告.docx

《温度传感器的设计报告.docx》由会员分享,可在线阅读,更多相关《温度传感器的设计报告.docx(14页珍藏版)》请在冰点文库上搜索。

温度传感器的设计报告.docx

温度传感器的设计报告

 

温度传感器的设计

一、设计方案

1.1设计要求

1)通过DS18B20能够显示坏镜温度

2)通过设定的温度能够报警

1.2方案比较

方案一:

用热敏电阻103结合单片机作温度控制系统。

热敏电阻103测温的精度为0.5℃,温度测量范围-200℃~260℃,可与单片机结合,构成测温电路,且性能温定,易测.

方案二:

用DS18B20结合单片机控制温度。

DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

以上特点使DS18B20非常适用于远距离多点温度检测系统。

与方案一相比,方案二的测量范围大,而且价格便宜,而且更适应生活的温度测量要求.固选方案二比较适合.

1.3主要技术参数

1)DS18B20的封装是SIP3

2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

3)测温范围-55℃~+125℃,固有测温分辨率0.5℃。

4)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温

5)工作电源:

3~5V/DC

6)在使用中不需要任何外围元件

7)测量结果以9~12位数字量方式串行传送

8)不锈钢保护管直径Φ6

 

二、单元电路分析

2.1下载模块

2.2电源指示灯模块和报警模块

2.3单片机及外围电路

STC125410AD系列单片机是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8~12倍。

内部集成MAX810专用复位电路,4路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合.STC12C5410AD具有在系统可编程功能,可以省去价格较高的专门编程器,开发环境的搭建非常容易。

时钟电路:

单片机片内有一个高增益反相放大器,其输入端XTAL1和XTAL2用于外接石英晶体和微调电容,构成振荡器.振荡频率选择11.0592MHZ.

复位:

为了保证CPU在需要时从已知的起点和状态开始工作,单片机安排了复位功能。

2.4传感器测温模块

2.5温度显示模块

数码管A,B,C,D,E,F,G,7个断码,分别与单片机的P1.0,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7相接。

四个数码管的位选分别是单片机的P2.0,P2.1,P2.2,P2.3,通过这三个数码管可显示,温度值.

2.6系统框图

三、器件选择

3.1DS18B20的工作原理

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。

DS18B20测温原理如图1所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

图1DS18B20测温原理框图

四、原理图

 

五、软件设计

5.1主程序设计框图

六、总结

这份温度传感的设计报告里许多的内容都来自于网络上的资料。

通过资料的查询,我初步了解了传感器设计的一些基本要求及传感器设计的流程。

对温度传感器的工作原理有了大致的了解。

传感器这门课程涉及的知识面非常的广泛。

不仅要求我们对传感器本身的原理了解,而且我还从中回顾的单片机的知识以及对元器件的封装处理知识。

这就是我在这次温度传感器设计中的最大收获。

 

参考文献

[1]清华大学电子学教研组编.杨素行主编.模拟电子技术基础简明教程.3版.

北京:

高等教育出版社,2006.

[2]清华大学电子学教研组编.余孟尝主编.数字电子技术基础简明教程.3版.

北京:

高等教育出版社,2006.

[3]黄智伟主编.全国大学生电子设计竞赛电路设计.北京航空航天大学出版社,2006

[4]高吉祥主编.全国大学生电子设计竞赛培训系列教程模拟电子线路设计.电子工业出版社,2007

[5]陈永真主编.全国大学生电子设计竞赛试题精解选.电子工业出版社,2007

[6]高吉祥主编.全国大学生电子设计竞赛培训系列教程电子仪器仪表设计.电子工业出版社,2007

[7]黄智伟主编.全国大学生电子设计竞赛系统设计.北京航空航天大学出版社,2006

[8]周兴华主编.手把手教你学单片机C程序设计.北京航空航天大学出版社,2007

 

附录一:

PCB图

附录二:

程序

#include

#include"intrins.h"//_nop_();延时函数用

#defineDisdataP1//段码输出口

#definediscanP2//动态扫描口

sbitDQ=P3^7;//温度输入口

unsignedchardatatemp_data[2]={0x00,0x00};//读出温度暂放

codeunsignedcharseg_tab[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};

charcodescan_con[4]={0xfe,0xfd,0xfb,0xf7};

//*****************1us延时函数*************************//

voiddelay_ds(unsignedintt)

{

for(;t>0;t--);

}

/****************DS18B20复位函数************************/

voidow_reset(void)

{

unsignedcharpresence=1;

while(presence)

{

while(presence)

{

DQ=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//从高拉倒低

DQ=0;

delay_ds(600);//550us

DQ=1;

delay_ds(66);//66us

presence=DQ;//presence=0复位成功,继续下一步

}

delay_ds(600);//延时500us

presence=~DQ;

}

DQ=1;//拉高电平

}

//

//

/****************DS18B20写命令函数************************/

//向1-WIRE总线上写1个字节

voidwrite_byte(unsignedcharval)

{

unsignedchari;

for(i=8;i>0;i--)

{

DQ=1;_nop_();_nop_();_nop_();_nop_();//从高拉倒低

DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//5us

DQ=val&0x01;//最低位移出

delay_ds(65);//66us

val=val/2;//右移1位

}

DQ=1;

delay_ds(10);

}

//

/****************DS18B20读1字节函数************************/

//从总线上取1个字节

unsignedcharread_byte(void)

{

unsignedchari;

unsignedcharvalue=0;

for(i=8;i>0;i--)

{

DQ=1;_nop_();_nop_();

value>>=1;

DQ=0;_nop_();_nop_();_nop_();_nop_();//4us

DQ=1;_nop_();_nop_();_nop_();_nop_();//4us

if(DQ)value|=0x80;

delay_ds(65);//66us

}

DQ=1;

return(value);

}

//

/****************读出温度函数************************/

//

unsignedintread_temp()

{

unsignedinttemp;

ow_reset();//总线复位

delay_ds(2000);

write_byte(0xcc);//发命令

write_byte(0x44);//发转换命令

ow_reset();

delay_ds

(1);

write_byte(0xcc);//发命令

write_byte(0xbe);

temp_data[0]=read_byte();//读温度值的第字节

temp_data[1]=read_byte();//读温度值的高字节

temp=temp_data[1];

temp<<=8;

temp=temp|temp_data[0];//两字节合成一个整型变量。

temp=(temp*25)/400;

returntemp;//返回温度值

}

//

/****************主程序************************/

//

main()

{

unsignedcharwendu;

wendu=read_temp();

P2=0xfe;

P1=seg_tab[(wendu/1000)];

delay_ds(2000);

P2=0xfd;

P1=seg_tab[(wendu%1000)/100];

delay_ds(2000);

P2=0xfb;

P1=seg_tab[(wendu%100)/10];

delay_ds(2000);

P2=0xf7;

P1=seg_tab[(wendu%10)];

delay_ds(2000);

}

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2