18B20温度传感器程序

18B20温度传感器程序

ID:47864604

大小:28.00 KB

页数:4页

时间:2019-08-05

18B20温度传感器程序_第1页
18B20温度传感器程序_第2页
18B20温度传感器程序_第3页
18B20温度传感器程序_第4页
资源描述:

《18B20温度传感器程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、18b20温度传感器例子程序 51单片机这段程序我测试过,可以使用。硬件连接只要在DS18B20信号线上拉4.7k的电阻。如果是使用AVR单片机,这段程序移植起来也非常方便。只要修改端口操作和演示,其他保持不变。如果需要18B20返回12位的分辨率也就显示最小温度值为0.0625℃,只要将unsignedchar ReadTemperature(void)函数中的a_a和b_b移位处理部分去掉,增加:unsignedinttemperature;temperature=b_b*0xFF+a_a;实际的温度值为temperature*0.0625其实DS18B20的精度是0.5℃

2、,0.5后面的小数没有实际意义,不过能显示那么多位确实看着也比较酷!程序中没有显示部分,你可以直接在main函数中添加P1=temp;在P1口接上发光二极管,也能指示温度值。以下是程序,如有需要帮助的地方可以留言或加我QQ:515967751#include#defineDQP0_0voiddelay(unsignedinti){    while(i--); }//初始化函数voidInit_DS18B20(void){unsignedcharx=0;DQ=1;   delay(8);DQ=0;   delay(80);DQ=1;  delay(14);x=

3、DQ;     //稍做延时后如果x=0则初始化成功x=1则初始化失败delay(20);}unsignedcharReadOneChar(void)//读一个字节{unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){DQ=0;  dat>>=1;  DQ=1;if(DQ)  dat

4、=0x80;delay(4);}return(dat);}voidWriteOneChar(unsignedchardat)//写一个字节{unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;dela

5、y(5);DQ=1;dat>>=1;}delay(4);}unsignedchar ReadTemperature(void)//读取温度{unsignedchara_a=0;unsignedcharb_b=0;unsignedchart_t=0;Init_DS18B20();WriteOneChar(0xCC);WriteOneChar(0x44);Init_DS18B20();WriteOneChar(0xCC);WriteOneChar(0xBE);a_a=ReadOneChar();  b_b=ReadOneChar();  a_a=a_a>>4;          t

6、_t=b_b<<4;           t_t=t_t

7、a_a;            return(t_t);}voidmain(void){inttemp;                            //存放返回的温度值temp=ReadTemperature();}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。