单片机课程设计报告
void delay_1820(unsigned char i) {
while(i--); }
//初始化函数
Init_DS18B20(void) {
unsigned char x=0; DQ = 1; //DQ复位
delay_1820(8); //稍做延时
DQ = 0; //单片机将DQ拉低
delay_1820(80); //精确延时 大于 480us DQ = 1; //拉高总线 delay_1820(14);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay_1820(20); }
//读一个字节
ReadOneChar(void) {
unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) {
DQ = 0; // 给脉冲信号 dat>>=1;
DQ = 1; // 给脉冲信号 if(DQ)
dat|=0x80; delay_1820(4); }
return(dat); }
//写一个字节
WriteOneChar(unsigned char dat) {
unsigned char i=0; for (i=8; i>0; i--) {