找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 28|回复: 0
打印 上一主题 下一主题
收起左侧

哪位大佬可以看看ds18b20为什么我这个51单片机11.0592的数码管一直显示0

[复制链接]
跳转到指定楼层
楼主
ID:1167172 发表于 2026-2-1 22:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include <REGX52.H>
bit startds18()
{
        unsigned char i;
        bit a;
        P3_7=1;
        P3_7=0;
        i = 227;    //500
        while (--i);
        P3_7=1;
        i = 34;     //80
        while (--i);
        a=P3_7;
  i = 135;    //300
        while (--i);
        return a;
}

void sendds18(unsigned char a)
{
        unsigned char b,i,j;
        for(j=0;j<8;j++)
        {
        b=a&(0x01<<j);
        P3_7=0;
        i = 4;      //15
        while (--i);
        P3_7=b;
        i = 34;     //80
        while (--i);
        P3_7=1;
        }
}
unsigned char receiveds18()
{
        unsigned char i,j,a=0x00;
        for(j=0;j<8;j++)
        {
          P3_7=0;
          i = 4;   //15
          while (--i);
                P3_7=1;
          if(P3_7) a=a|(0x01<<j);
                i = 25;
        while (--i);
                P3_7=1;
        }
        return a;
}
void ds18start()
{
        startds18();
        sendds18(0xcc);
        sendds18(0x44);
}
float ds18red()
{
        unsigned char a,b;
        float deta;
        int t;
        startds18();
        sendds18(0xcc);
        sendds18(0xbe);
        a=receiveds18();
        b=receiveds18();
        t=(b<<8)&a;
        deta=t/16.0;
        return deta;
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表