使用DS18B20温度传感器设计温度控制系统设计_第1页
使用DS18B20温度传感器设计温度控制系统设计_第2页
使用DS18B20温度传感器设计温度控制系统设计_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用DS18B20温度传感器设计温度控制系统设计设计说明:1.1使用DS18B20温度传感器设计温度控制系统1. 在数码管上可显示采集到的温度(099.9°C)2. 当温度低于27°C时,蜂鸣器开始以慢地“滴”声报警,P1.0 口发光二极管闪 烁,当温度继续降低并低于25°C时,蜂鸣器开始以快地“滴”声报警,P1.0和 P1.1 口发光二极管闪烁。3. 当温度高于30°C时,蜂鸣器开始以慢地“滴”声报警,P1.2 口发光二极管闪 烁,当温度继续升高并高于32°C时,蜂鸣器开始以快地“滴”声报警,P1.2和 P1.3 口发光二极管闪烁。1.2元件

2、说明:(1)使用的元器件器件数量(件)AT89C521DS18B20174HC5732排阻1小功率扬声器1二极管4数码管310K电阻1导线若干VCC电源1(2)DS18B20器件说明DS18B20:电压范围3.05.5V ;温度可测范围-55十125;可编程分辨率为 912位,对应的可分辨温度为:0.5°C、025°C、0.125°C和0.0625°C;测量结果 直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校 验码,具有极强的抗干扰纠错能力。其引脚定义图如下图:引脚定义GND电源负极DQ信号输入输出%电源正极硬件连接图aer.5

3、 aw”rZDTAS 2«rzjfii rx.«*xir rzjAxia pskaxu PS.TAK1P口 </TQyXTAL2C3Q£L5P1AT2 pi.trrsMP12P13P1.IpyPU6F1.1RP1not/oa 0QVA>1 »aA>2 oqa»3 W.Q“>3QFX>-XL -XL-H< c C :工亠!<7r»M2«1 硬件连接图如上图:1.3工作原理首先看控制DS18B20的指令,只列举此设计用到的,如下表:CCH跳过ROM44H温度转换BEH读暂存器原理:DS1

4、8B20测量外部温度,经过温度转换,将温度物理量转换成数字 信号,再传送数据到AT89C52, AT89C52控制数码管显示及二极管、扬声器的 工作,从而实现了温度在数码管上显示,还有温度范围的亮灯与报警。1.4 C语言编程见附录1.5实验结果可将环境温度经过DS18B20温度传感器,在数码管上显示,显示准确。附录# iiiclude<reg51 .h># mclude<stdio.h>frdefine uchai unsigned charfrdefine umt unsigned mtsbit ds=P2A2;For personal use only in stu

5、dy and research; not for conmieicial usesbit dula=P2A6;sbit wela=P2A7;sbit beep=P2z 3;umt temp;float f.temp;uiiit warn1=270;uiiit wam_12=250;uiiit wain_hl=300;umt wain_h2=320;sbit ledO=PlAO;sbit ledl=PlAl;sbit led2=PlA2;sbit led3=PlA3;unsigned char code table=0x3f,0x06,0x5b,0x4£0x66.0x6d.0x7d,0

6、x07,0x7f.0x6f0xbf,0x86,0xdb,0xcf, 0xe6.0xed.0xfd,0x87,0xff,0xef; void delay(uint z)uiiit x,y;fbi(x=z;x>0;x)fbr(y=110;y>0;y-);void dsreset()uiiit i;ds=O;1=103;wliile(i>0) i;ds=l;1=4;wliile(i>0) i;bit tempreadbit()uiiit i;bit dat;ds=O;i+;ds=l;i+;i+;dat=ds;i=8; while(i>0) i-; retuin(dat)

7、;uchar tempread()uchai ij,dat;dat=O:fbr(i=l;i<=8;i-H-)j=tempreadbit(); dat=(j«7)|(dat»l);return(dat);tempwiitebyte(uchar dat)umt i;uchar j;bit testb;for(j=lJ<=8j +)testb=dat&0x01; dat=dat»l;if(testb)ds=O;i+;i+;ds=l;i=8;while(i>0) i;elseds=O;i=8;while(i>0) i;ds=l;i+;i+;

8、tempchaiige()dsreset();delay(l);tempwritebyte(Oxcc); tempwritebyte(0x44); umt get_tempQuchai a.b; dsreset(); delay(l); tempwritebyte(Oxcc); tempwritebyte(Oxbe); a=tempread(); b=tempread(); temp=b;temp«=8; temp=tenip|a; f_temp=temp *0.0625; temp=f.temp * 10+0.5; Ctemp=fltemp+0.0 5; return temp;

9、display(uchar numaichai- dat) uchai i;dula=O;PO=tabledat;dula=l;dula=O;wela=0;i=Oxff;1=1& (-(0x0 l)«(num);PO=i;wela=l;wela=0;delay(50);dis_temp(umt t)uchai i; i=t/100; display(Oj); i=t%100/10; display(l j+10); i=t%100%10; displayed);warn(umt s.uchar led)uchai- i;i=s;beep=O:Pl(led);while(i-)

10、dis_temp(gectemp();beep=l;Pl=Oxff;1=S;while(i-) dis_temp(get_temp();deal(umt t)uchai- i;if(t>wain_12)&&(t<=wain_ll)wain(40,0x01);else if(t<=warn_12)wain( 10,0x03);else if(t<wain_li2)&&(t>=wam_hl)warn(40.0x04);else if(t>=warnji2)wain(10,0x0c);else1=40; wliile(i)dis_t

11、emp(get_tempO);TMOD=0x20; PCON=OxOO; SCON=0x50;THl=0xfd;TLl=0xfd;TR1=1;coimn(chai- *pair)SBUF=*pan+; wlule(!TI); TI=0; while(*pair);uchai buffl4j; dula=0;wela=0; uiit_com();wlule(l)tempchangeQ;fbr(i=10;i>0:i) dis_temp(get_temp();deal(temp); spnntf(bufi?%f;fLt 亡 mp); fbr(i=10;i>0;i) dis_temp(ge

12、t_temp();conun(buff); for(i=10;i>0;i-) dis_temp(get_temp();IIIIII使用DS18B20温度传感器设计温度控制系统设计班级:电082班姓名:于川洋学号:33号时间:2011-11.-11仅供个人用于学习、研究;不得用于商业用途。For personal use only in study and research; not for commercial use.Nur fur den person lichen fur Studie n, Forsch ung, zu kommerzielle n Zwecke n verwe ndet werde n.Pour I 'etude et la recherche unique

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论