完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ds18b20数字温度传感器提供9-12位摄氏度温度测量数据,可编程非易失存储器设置温度监测的上限和下限,提供温度报警。ds18b20通过1-Wire®总线通信,只需要一条数据线 (和地线) 即可与处理器进行数据传输。器件可以工作在-55°C至+125°C范围,在-10°C至+85°C范围内测量精度为±0.5°C。此外,ds18b20还可以直接利用数据线供电 (寄生供电),无需外部电源。(精度的计算可以这样来表示即量程除以/2的n次位数)n 为精度 其外部连接的电路共有两种:一种是GND直接接地,GDD和DQ并联接到i/o口上适合单个ds18b20(DQ接上大电阻防止电流过大) 一种是采用寄生电源进行远距离的温度采集和多点的温度采集,其外部接法是靠将地端和VDD接地将DQ端口接io口,并接上上拉电阻,和MOS管,其中G极由io口控制。执行序列(通过单线总线端口访问 DS18B20 ) 步骤1. 初始化 步骤2. ROM 操作指令 步骤3. DS18B20 功能指令 每一次 DS18B20 的操作都必须满足以上步骤,若是缺少步骤或是顺序混乱,器件将不会返回值。 初始化 通过单总线的所有执行操作处理都从一个初始化序列开始。 初始化序列包括一个由总线控制器发出的复位脉冲和其后由从机发出的存在脉冲。 存在脉冲让总线控制器知道 DS18B20 在总线上且已准备好操作 两个读周期间至少 1us 的恢复时间 uchar Ds18b20Init() { uchar i; DSPORT = 0;//进行初值的初始化 i = 70; while(i--)/进行至少480us的延时 DSPORT = 1;//将总线拉高 i = 0; while(DSPORT) //等待系统在60到240us内做出反应 { Delay1ms(1); i++; if(i>5)//超过5ms,初始化失败 { return 0; } } return 1;}//成功 void Ds18b20WriteByte(uchar dat) { uint i, j; for(j=0; j<8; j++) { DSPORT = 0; //拉低总线 i++; //保证1us的等待时间 DSPORT = dat & 0x01; //读出一位的数据 i=6; while(i--); // DSPORT = 1; //等待60us秒将其拉高等待下一次的写操作 dat >>= 1;//进行移位 } } uchar Ds18b20ReadByte() { uchar byte, bi; uint i, j; for(j=8; j>0; j--) { DSPORT = 0;//初始状态 i++; DSPORT = 1;//释放总线 i++; i++;//6us bi = DSPORT; //读取数据 byte = (byte >> 1) | (bi << 7); //进行移位和补零 i = 4; //等待1us进行数据读出的操作 while(i--); } return byte; void Ds18b20ChangTemp() { Ds18b20Init(); Delay1ms(1); Ds18b20WriteByte(0xcc); //跳过rom的操作 Ds18b20WriteByte(0x44); //发送读取命令 void Ds18b20ReadTempCom() { Ds18b20Init(); Delay1ms(1); Ds18b20WriteByte(0xcc); Ds18b20WriteByte(0xbe);/进行温度转换 int Ds18b20ReadTemp() { int temp = 0; uchar tmh, tml; Ds18b20ChangTemp(); //要求转换 Ds18b20ReadTempCom(); //将读取的数据返回 tml = Ds18b20ReadByte(); //低四位的字节 tmh = Ds18b20ReadByte(); //读取高四位的字节 temp = tmh; temp <<= 8; temp |= tml; return temp; } |
|
|
|
277 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
368 浏览 0 评论
766 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
592 浏览 0 评论
879 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12039 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 11:59 , Processed in 0.480956 second(s), Total 64, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号