找回密码
 立即注册

QQ登录

只需一步,快速开始

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

LCD采集温度显示代码,最后两句什么意思啊

[复制链接]
跳转到指定楼层
楼主
ID:697653 发表于 2020-2-28 19:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void TEMP_Read()  //读取温度整数
        {
                uint8 a,b;
                TEMP_INITIALIZE();
                TEMP_Write_Char(0xcc); //跳过ROM
                TEMP_Write_Char(0x44);//温度转化
                TEMP_Delay(100);


                TEMP_INITIALIZE();
                TEMP_Write_Char(0xcc);//跳过ROM
                TEMP_Write_Char(0xbe);//获取温度
                TEMP_Delay(100);

                a=TEMP_Read_Char();
                b=TEMP_Read_Char();

                Temp_Value=b<<4;
                Temp_Value+=(a&0xf0)>>4;
        }
最后两句什么意思啊,求救

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

使用道具 举报

沙发
ID:400250 发表于 2020-2-28 20:11 | 只看该作者
temp_value=b<<4;//temp_value=b左移动4位 , 转换成10进制temp_value+=(a&0xf0)>>4; //temp_value=temp_value+((a&0xf0)>>4) 转换成10进制
回复

使用道具 举报

板凳
ID:400250 发表于 2020-2-28 20:12 | 只看该作者
一己之见望采纳。
回复

使用道具 举报

地板
ID:400250 发表于 2020-2-28 20:15 | 只看该作者
temp_value=b<<4;//temp_value=b左移动4位
temp_value+=(a&0xf0)>>4; //temp_value=temp_value+((a&0xf0)>>4)右移动4位
回复

使用道具 举报

5#
ID:235200 发表于 2020-2-28 20:58 | 只看该作者
Temp_Value=b<<4;
Temp_Value+=(a&0xf0)>>4;
因为采集到的温度只有12位,b是高8位数据(但只有低4位有用),a是低8位数据,高4位是与b的低4位组成温度的整数,a的低4位是温度的小数部分
所以这两名的意思是:取b的低4位数据作为Temp_Value的高4位,取a的高4位作为Temp_Value的低4位,最后构成温度的整数值
回复

使用道具 举报

6#
ID:94031 发表于 2020-2-28 21:10 | 只看该作者
Temp_Value=b<<4; 把b左移4位赋予Temp_Value。
Temp_Value+=(a&0xf0)>>4;  把a与0xf0相与再左移4位,加上Temp_Value再赋予Temp_Value  。
回复

使用道具 举报

7#
ID:213173 发表于 2020-2-28 21:47 | 只看该作者
这是取正整数弃小数的语句。楼主了解了DS18b20输出的数据结构后理解最后两句什么意思就容易了。
DS18b20输出的是2个字节数据,a=低8位,b=高8位,b的最高位0为+,1为-,次3位始终为0,b的低4位是整数的高4位,a的高4位是整数的低4位。所以b<<4+a>>4就是用一个字节表示的正整数。
回复

使用道具 举报

8#
ID:699194 发表于 2020-3-10 13:23 | 只看该作者
这很
很简单的
temp_value=b<<4;//temp_value=b左移动4位
temp_value+=(a&0xf0)>>4;
回复

使用道具 举报

9#
ID:705519 发表于 2020-3-10 14:52 | 只看该作者
很简单啊  就是
temp_value=b<<4;//temp_value=b
左移动4位
temp_value+=(a&0xf0)>>4; //temp_value=temp_value+((a&0xf0)>>4)
右移动4位
回复

使用道具 举报

10#
ID:596446 发表于 2020-3-10 15:24 | 只看该作者
temp_value取左4位
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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