关于89C52

2019-03-24 13:15发布

sbit rs=P1^0;
sbit rw=P1^1;
sbit lcden=P1^2;
void delay1602(uint z)
{
  uint x,y;
  for(x=z;x>0;x--)   
     for(y=110;y>0;y--);
}
void write_com(uchar com)//写命令
{
   rs=0;
   lcden=0;
   P2=com;
   delay1602(5);
   lcden=1;
   delay1602(5);
   lcden=0;  
}

void init_lcd() //初始化
{
    lcden=0;
    rw=0;
    write_com(0x38);
    write_com(0x0c);
    write_com(0x06);
    write_com(0x01);
    write_com(0x80);
}



//DS18B20部分
void delayb(uint count)      //延时
{
   uint i;
   while(count)
{     
   i=200;   
   while(i>0)i--;   
   count--;
}
}
void dsreset()       //DS18B20初始化
{
   uint i;               
   DS=0;
   i=103;
   while(i>0)i--;
   DS=1; i=4;
   while(i>0)i--;  
}
bit readbit()       // 读一位
{  
    uint i;
    bit dat;
    DS=0;
    i++;          //小延时一下
    DS=1;
    i++;
    i++;
    dat=DS;
    i=8;
    while(i>0)i--;
    return (dat);
}
这里DS=0是为什么 ?? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
if8051
1楼-- · 2019-03-24 17:47
< DS 是 DS18B20 的 DQ 信號線,1 - Wire bus protocol

DQ : Data Input / Output , Open - drain  1 - Wire interface pin . Also provides power
to the device when used in parasite power mode .

DQ 需要接一個提升電阻 4.7K 到 +5v 電源

一周热门 更多>

相关问题

    相关文章