DS18B20温度传感器电路设计

上传人:鲁** 文档编号:499372858 上传时间:2023-12-20 格式:DOCX 页数:12 大小:109.11KB
返回 下载 相关 举报
DS18B20温度传感器电路设计_第1页
第1页 / 共12页
DS18B20温度传感器电路设计_第2页
第2页 / 共12页
DS18B20温度传感器电路设计_第3页
第3页 / 共12页
DS18B20温度传感器电路设计_第4页
第4页 / 共12页
DS18B20温度传感器电路设计_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《DS18B20温度传感器电路设计》由会员分享,可在线阅读,更多相关《DS18B20温度传感器电路设计(12页珍藏版)》请在金锄头文库上搜索。

1、关键词:单片机AT89C51 ;温度传感器DS18B20 ;数码显示实现功能:可以测得的温度范围0125度 并显示一位小数有报警功能当15度T30 度时红灯亮TXTAL1P0.0/ADXTAL2RSTP0.2/ADP0.3/ADP0.4/ADP0.5/ADP0.6/ADP0.7/ADU2vccn5|0DQGND 也DS18B20PSEN ALE EAP2.2/A1P2.3/A1P2.4/A1P2.5/A1P2.6/A1P2.7/A1P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P3.0/RXP3.1TXP3.24NTP3.3/INTP3.4/T(P3.5/TP3

2、.6/WIP3.7/R【AT89C51REEDI-RED源程序#include #define uint unsigned int#define uchar unsigned char/宏定义sbit p2_4=P2人4; sbit p2_5=P2A5; sbit p2_6=P2A6;sbit dp=P0A7; sbit p2_7=P2A7;sbit DQ=P2A2; sbit SET=P3A1;0 为上限)定义DS18B20总线I/O/定义选择调整报警温度上限和下限(1 为上限/*P3.2 和 P3.3 为调整温度报警增加键和减少键*/sbit H0NGDENG=P2T; sbitsigne

3、d char m;bit sign=0;signed char shangxian=30; signed char xiaxian=15;LVDENG=P2人1;定义亮灯/温度值全局变量/外部中断状态标志/上限报警温度,默认值为 30/下限报警温度,默认值为15uchar codeLEDData=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf; /*延时子程序*/ void Delay(uint i) while( i- ); /*初始化 DS18B20*/ void Init_DS18B20(void) unsigned

4、 char x=0;/稍作延时/单片机将 DQ 拉低/精确延时,大于 480us/拉高总线DQ=1;Delay(8);DQ=0;Delay(80);DQ=1;Delay(14);稍作延时后 如果X=0则初始化成功,X=1则x=DQ; 初始化失败Delay(20); /*读一个字节*/ unsigned char ReadOneChar(void) unsigned char i=0;unsigned char dat=0; for (i=8;i0;i-)DQ=0;/给脉冲信号dat=1;DQ=1;/给脉冲信号if(DQ)dat|=0x80;Delay(4); return(dat); void

5、 WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ=0;DQ=dat&0x01; Delay(5);DQ=1;dat=1;/发送温度转换命令/跳过读序号列号的操作/启动温度转换void Tmpchange(void)Init_DS18B20();WriteOneChar(0xCC);WriteOneChar(0x44);/跳过读序号列号的操作/读取温度寄存器/读低8位/读高8位/放大 10 倍输出并四舍五入unsigned int ReadTemperature(void) unsigned char

6、 a=0;unsigned char b=0;unsigned int t=0;float tt=0;Tmpchange();Init_DS18B20();WriteOneChar(0xCC); WriteOneChar(0xBE); a=ReadOneChar(); b=ReadOneChar(); t=b; tshangxian ) HONGDENG=1; else HONGDENG=0; if(mxiaxian) LVDENG=1;else LVDENG=0; p2_4=0;p2_5=0;p2_6=0;p2_7=0;P0 =LEDDatad; p2_4=1;p2_5=0;p2_6=0;p

7、2_7=0; Delay(300);p2_4=0;p2_5=0;p2_6=0;p2_7=0; P0 =LEDDatac;dp=0; p2_4=0;p2_5=1;p2_6=0;p2_7=0; Delay(300); p2_4=0;p2_5=0;p2_6=0;p2_7=0; P0 =LEDDatab;/ 温度高于范围红灯亮/温度低于范围绿灯亮/显示小数点后一位/显示个位/显示小数点/显示十位p2_4=0;p2_5=0;p2_6=1;p2_7=0;Delay(300);p2_4=0;p2_5=0;p2_6=0;p2_7=0;P0 =LEDDataa;/显示百位p2_4=0;p2_5=0;p2_6=0;p2_7=1;Delay(300);p2_4=0;p2_5=0;p2_6=0;p2_7=0; /关闭显示disptiaozheng() uchar f,g,j,k;f=shangxian/10; g=shangxian%10; j=xiaxian/10; k=xiaxian%10; p2_4=0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号