void interrupt main_int()
{
// t0_int(&data) ;
uchar tl ,th ;
uint temp ;
if(T0IF)
{
T0IF=0 ;
(ds.count)++ ;
if(ds.count==80)
{
ds.count=0 ;
switch(ds.state)
{
case 0 :
ds.state=1 ;
init_ds18b20() ;
write_ds18b20(ROM_SKIP) ;
write_ds18b20(MEM_CONVERT) ;
break ;
case 1 :
init_ds18b20() ;
write_ds18b20(ROM_SKIP) ;
write_ds18b20(MEM_READ) ;
tl=read_ds18b20() ;
th=read_ds18b20() ;
if(!(th&0xf0))
{
th=th&0x07 ;
temp=th*256+tl ;
ds.data=temp/16 ;
}
else
{ th=th&0x07 ;
temp=th*256 +tl ;
ds.data=temp/16 ;
}
ds.state=0 ;
break ;
default :
ds.state=0 ;
break ;
}
}
int_
display1(ds.data) ;
TMR0=210 ;
}
}