#include <reg52.h>
#include "./delay/delay.h"
#include <intrins.h>
#include "./lcd/lcd.h"
#include <stdio.h>
sbit ds = P1^0;
bit ack = 0;
void ds_reset()
{
ds = 1;
ds = 0;
delay_us(200);
delay_us(200);
ds = 1;
delay_us(30);
if(0 == ds)
{
ack = 0;
}
else
{
ack = 1;
}
delay_us(200);
delay_us(200);
}
void ds_send_byte(unsigned char byte)
{
unsigned char i = 0;
for(i = 0; i < 8; i++)
{
ds = 0;
_nop_();
_nop_();
ds = byte & 0x01;
byte >>= 1;
delay_us(30);
ds = 1;
}
delay_us(30);
}
bit ds_read_bit()
{
unsigned char tmp;
ds = 1;
ds = 0;
_nop_();
_nop_();
ds = 1;
tmp = ds;
delay_us(30);
return tmp;
}
unsigned char ds_read_byte()
{
unsigned char i,j,k;
for(i = 0; i < 8; i++)
{
j = ds_read_bit();
k
ds18b20(程序)
最新推荐文章于 2024-05-06 19:29:06 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)