void delay(unsigned int x)  //1.5us左右   
{   
     while(x)   
    {   
       x--;   
    }   
}   
void init_1820(void)   
{   
    DS18B20_SET;      
    DS18B20_CRL;   
    delay(400);    //480us以上   
DDRC|=(1<<PC0);  
    DS18B20_SET;   
    DDRC&=~(1<<PC0);   
    delay(40);     //15~60us   
    while(PINC&(1<<PC0))      //<<<<---------1  
    {    
   ;  
    }   
    DDRC|=(1<<PC0);   
    DS18B20_SET;   
    delay(150);   //60~240us   
}   
执行到1的位置过不去了,是不是哪段时序没弄对?  
我用的MEGA128,晶振是7.多M的 
大家帮帮忙 |   
     
  
 |