#define one_wire_pin pin_c3
int1 one_wire_reset(void)
{
int1 sonuc;//sonuç adında 1 bitlik değişken tanımlandı.
output_low(one_wire_pin);
delay_us(0);//0 us
output_low(one_wire_pin);//mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
delay_us(480);
output_float(one_wire_pin);
delay_us(70);
sonuc=input(one_wire_pin);
delay_us(410);
return (sonuc);
}
void one_yaz_bit(int bit)
{
if(bit==1)
{
output_low(one_wire_pin);
delay_us(6);
output_float(one_wire_pin);
delay_us(64);
}
else
{
output_low(one_wire_pin);
delay_us(60);
output_float(one_wire_pin);
delay_us(10);
}
}
int1 one_oku_bit(void)
{
int1 bit;
output_low(one_wire_pin);
delay_us(6);
//output_float(one_wire_pin);
delay_us(9);
bit=input(one_wire_pin);
delay_us(55);
return bit;
}
void one_yaz_byte(unsigned int data)
{
int i;
for(i=0;i<8;i++)
{
one_yaz_bit(bit_test(data,i));
}}
int one_oku_byte(void)
{
int i,sonuc=0;
for(i=0;i<8;i++)
{
shift_right(&sonuc,1,one_oku_bit());
}
return sonuc;
}
bu ccs de yazılan 18b20 nin sürücü programı, kolay gelsin