程序设计再谈DS18B20驱动程序--工作电压为3.3V 之前讨论过DS18B20的驱动,都是工作在5V电压下的,经过改良过的程序,直接移过来就可以用,不需要再调时序。由于项目需要,这次用的DS18B20的工作电压是3.3V,程序移过去之后运行,取得的温度值一直都是16,改变外界环境时,这个值也不会变,这肯定是不正常的。 网上也有人遇到类似的情况,解决办法无非就是换上拉电阻值,或是直接把工作电压改成5V,然后数据口直接与单片机相连。我测试的情况是,换上拉电阻没有任何作用,改电压的有点反应,就是器件时不时会取85这个值,也就是说取到值在...
实用案例基于STC15单片机及DS18B20的测温实操 对于DS18B20,之前在AT89C51上有一次调试经历,后面没再接触过了。这次由于实际需要,又用到了DS18B20。当把旧程序移过去之后,傻眼了,不成功!于是开始了漫长的调试过程!之前有一篇文章也分享过DS18B20的驱动程序了,关于DS18B20的时,大家可以自己查阅手册,只需要记住,这个片子,对时序要求还是高的。这是旨在分享自己真实可用的程序,对于时序部分的控制,为便于大家移植,已经做成固定函数,到时大家把对应的函数改一下就行了。电路图2.驱动程序--以个人经验,初始化程序很重要#...
程序设计基于AT89C51的DS18B20温度传感器读写程序 #include <intrins.h> sbit DQ=P1^0; //温度传感器数据线接口 //DS18B20初始化 bit DS18B20Init(void) { unsigned int i,j; DQ=1; //(1) 先将数据线置高电平“1”。 _nop_(); //(2) 延时(该时间要求的不是很严格,但是尽可能的短一点) DQ=0; //(3) 数据线拉到低电平“0”。 for(i=0;i<750;i++...