找回密码
 立即注册

QQ登录

只需一步,快速开始

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

这是DS 18B2的部分代码,想不明白为什么要|0x30,求各位大佬解答

[复制链接]
跳转到指定楼层
楼主
ID:509085 发表于 2020-4-4 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
et=cm&0x000f;
        disply[4]=st[et]|0x30;        //截取后四位,查表转换后,填入显示缓冲区
        et=cm>>4;                                             //去掉小数部分
          if(et>99)                                                //温度过百
          {
                  disply[0]='1';
                  et=et-100;
          }
        disply[1]=(et/10)|0x30;        //取温度整数
        disply[2]=(et%10)|0x30;
        stop=0;


这是DS 18B2的部分代码,想不明白为什么要|0x30,求各位大佬解答

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

使用道具 举报

沙发
ID:367369 发表于 2020-4-4 19:31 | 只看该作者
把字符转换成ASCII码比如‘a’的ASCII码就是‘a’|0x30;或者‘a’|‘0’;
回复

使用道具 举报

板凳
ID:452950 发表于 2020-4-4 20:34 | 只看该作者
按位或运算,00110000将st[et]第5、6位置1。
回复

使用道具 举报

地板
ID:505032 发表于 2020-4-4 21:04 | 只看该作者
0x30表示30是十六进制,0x是十六进制的开始符;;“|”是按位或运算符;;百位已经显示1了,十位个位就是取余再转16进制输出送达显存
回复

使用道具 举报

5#
ID:584814 发表于 2020-4-6 09:52 | 只看该作者
方便数字在1602屏上显示,可查相关说明书。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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