二、做好上面的我们写程序还是相比较简单的一项,在这里写一点核心代码,其他附加:
void Init_DS18B20(void) {
GPIO_ConfigOUT();
GPIO_SetBits (GPIOC,GPIO_Pin_7); //DQ复位
Delay_us(10); //稍做延时 10us
GPIO_ResetBits(GPIOC,GPIO_Pin_7); //
单片机将DQ拉低
Delay_us(550); //大于 480us 小于960us
GPIO_SetBits (GPIOC,GPIO_Pin_7); //拉高总线 GPIO_ConfigIN();
Delay_us(40); //15~60us 后 接收60-240us的存在脉冲 while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_7)); //如果x=0则初始化成功, x=1则初始化失败
Delay_us(300); //稍作延时返回 30x10 us
GPIO_ConfigOUT(); }
三、实物图:
由于我之前焊接了一个万能板,所以就将就这用了,LCD和18B20采用外部供电,采用稳定5、3.3v的标准去波
电路(嘿嘿)。
上面是LCD的显示,我得解释一下,由于小数部分没要,所以没显示,06是我家的温度(是不是看着就有点冷),那个不完全显示字符是C,摄氏度的表示,没办法只能这样显示了。
`