Ds18b20有3根引脚,供电、接地、单总线。
在往单片机发送数据的时候18b20发送的是数字量,结构的优势让18b20可以避免进行手动的ADC转换。将模拟温度转换成数字。
采集的流程分为:
采集流程:
复位 //18b20的复位
主机发送0xcc; //从寄存器0xcc开始读取
主机发送0x44; //温度变化,内部ADC开始转换
延时,18b20将转换的值写入寄存器中
复位
发送0xcc;
发送0xBE //开始读取温度
读取2个字节
问题:由于P37接通之后,如果51和18b20一个想拉高电平,另外一个想拉低电平,会出现怎样的抉择
双方都要拉高时,上拉电阻的作用就体现了
在加上拉电阻,双方都拉高的时候,上拉电阻可以上高电平更准确,相当于再使一把劲。
如果有任何一方要拉低,那么就直接相当于接地,无论有没有上拉电阻,都会使该引脚成为低电平。
如何保证该总线是高电平
:通过在总线上添加上拉电阻。
51单片机的引脚的高电平很弱,所以需要上拉电阻来保证引脚的高电平。