找回密码
 立即注册

QQ登录

只需一步,快速开始

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

ds18b20温度显示编译错误的问题

[复制链接]
跳转到指定楼层
楼主



各位大侠帮忙查看一下是什么问题,

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:398645 发表于 2018-9-16 14:50 | 只看该作者
检查一下你的分号位置,应该是你少括号之类的

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:398645 发表于 2018-9-16 14:51 | 只看该作者
void Init_DS18B20(void){//初始化ds1820温度传感器

        unsigned char x=0;
        DQ = 1;    //DQ复位
        delayy(80);  //稍做延时
        DQ = 0;    //单片机将DQ拉低
        delayy(800); //精确延时 大于 480us
        DQ = 1;    //拉高总线
        delayy(140);
        x=DQ;      //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
        delayy(200);
}
unsigned char ReadOneChar(void){//读一个字节(DS18B20驱动)

        unsigned char i=0;
        unsigned char dat = 0;
        for (i=8;i>0;i--)
        {
                DQ = 0; // 给脉冲信号
                dat>>=1;
                DQ = 1; // 给脉冲信号
                if(DQ)
                dat|=0x80;
                delayy(40);
        }
        return(dat);
}
void WriteOneChar(unsigned char dat){

        unsigned char i=0;
        for (i=8; i>0; i--)
        {
                DQ = 0;
                DQ = dat&0x01;
                delayy(50);
                DQ = 1;
                dat>>=1;
        }
}
unsigned int wd(void){

        unsigned char a=0;
        unsigned char b=0;
        unsigned int t=0;
        float tt=0;
        Init_DS18B20();
        WriteOneChar(0xCC); // 跳过读序号列号的操作
        WriteOneChar(0x44); // 启动温度转换
        Init_DS18B20();
        WriteOneChar(0xCC); //跳过读序号列号的操作
        WriteOneChar(0xBE); //读取温度寄存器
        a=ReadOneChar();  //读低8位
        b=ReadOneChar(); //读高8位
        t=b;
        t<<=8;
        t=t|a;
        tt=t*0.0625;
        t= tt*10; //放大10倍输出并四舍五入
        return(t);
}

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:398645 发表于 2018-9-16 14:53 | 只看该作者
//温度送显
void wsongxian(){         
           iii=wd();//读温度并送显
                   mmm=iii/100;
                   bbb=iii/10-mmm*10;
                   ddd=iii-mmm*100-bbb*10;
                   shuma(10,mmm,bbb,ddd,24,10);
}

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:164602 发表于 2018-9-17 08:34 | 只看该作者
我看到了:
你的38行if语句,39行用的是小括号(),应该用大括号{}
回复

使用道具 举报

6#
ID:320868 发表于 2018-9-19 22:27 | 只看该作者
谢谢各位 问题解决了,是我本人大意错把小括号应用了大括号上,也没有细查一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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