4109|4

6

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

DS18B20代码中0x30问题 [复制链接]

30问题DS18B20测温和超声波测距程序中的问题

DS18B20测温中,测得的数据需要加0x30,超声波测距程序中不需要加,用的同一个液晶,
为什么,谢谢!

4610b912c8fcc3ce6effeeea9945d688d43f202f.jpg (37.21 KB, 下载次数: 0)

4610b912c8fcc3ce6effeeea9945d688d43f202f.jpg

e824b899a9014c086f2b0f7c017b02087af4f4d2.jpg (36.04 KB, 下载次数: 0)

e824b899a9014c086f2b0f7c017b02087af4f4d2.jpg
此帖出自51单片机论坛

最新回复

看下这个CN8CHAR[wordNum].Index[0]值和*cn的值你就懂了这程序是如何找字模的。  详情 回复 发表于 2018-1-18 13:05
点赞 关注
 

回复
举报

951

帖子

1

TA的资源

纯净的硅(中级)

沙发
 
你看下ASCII码表就应该能够懂了,0x30 表示字符‘0’,所有数字都加‘0’表示将十进制的数转换成相应数字的字符对应的ASCII值。只能说明两个程序的处理显示的方式不一样。
此帖出自51单片机论坛

点评

分析的对。  详情 回复 发表于 2018-1-18 10:39
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

回复

183

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
huixianfxt 发表于 2018-1-18 08:31
你看下ASCII码表就应该能够懂了,0x30 表示字符‘0’,所有数字都加‘0’表示将十进制的数转换成相应数字的 ...

分析的对。
此帖出自51单片机论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

4
 
huixianfxt 发表于 2018-1-18 08:31
你看下ASCII码表就应该能够懂了,0x30 表示字符‘0’,所有数字都加‘0’表示将十进制的数转换成相应数字的 ...

/********************************************************
* 函 数 名  : Lcd12864_SCharDisplay
* 函数功能        : 在12864上面书写8X16的数字
* 输    入  : Page, Column, cn
* 注    意  :注意与汉字显示的核心区别就是数字只占一个字节
* 微信公众号: AutoCodes
*********************************************************/
uchar Lcd12864_SCharDisplay(uchar Page, uchar Column, uchar *cn)
{
        uchar j, x1, x2, wordNum;
       
        if(Page > 7)  return 0;      //页坐标只能从0到7,大于则直接返回
        if(Column > 128)         return 0;  //列的坐标只能从0到127,大于则直接返回
       
  Page += 0xB0;                       //求取页坐标的值 不能放在while里面

        while (*cn != '\0')                 //人为设置结束显示标志
        {       
                LcdSt7565_WriteCmd(Page);    //设置页坐标

                x1 = (Column >> 4)& 0x0F;       //先取出高4位  注释1
                x2 = Column & 0x0F;             //取低四位
                LcdSt7565_WriteCmd(0x10 + x1);  //设置列坐标 高4
                LcdSt7565_WriteCmd(0x00 + x2);        //           低4

                for (wordNum=0; wordNum<100; wordNum++) //50改为100,字符库比较增大
                {
                    //--查询要写的数字在字库中的位置--//
                        if (CN8CHAR[wordNum].Index[0] == *cn)  //每个数字内码只占1个字节
                        {
                                for (j=0; j<16; j++) //写一个数字   
                                {               
                                        if (j == 8) //8X16用到两个页坐标,当大于等于8时,切换页坐标
                                        {
                                           LcdSt7565_WriteCmd(Page + 1);    //设置页坐标                       
                                                LcdSt7565_WriteCmd(0x10 + x1);   //高4位 设置列坐标
                                                LcdSt7565_WriteCmd(0x00 + x2);         //低4位
                                        }
                                        LcdSt7565_WriteData(CN8CHAR[wordNum].Msk[j]);
                                }
                                Column += 8; //下一个数字的新的列地址
                                break;  //我们理解:一旦字库中找到字符,余下字库不用再找
                        }  
                }        
                cn += 1;
        }       
        return 1;
}
这是液晶显示程序,Page, Column, cn分别为页地址,列地址,保存数据的数组
此帖出自51单片机论坛
 
 
 

回复

951

帖子

1

TA的资源

纯净的硅(中级)

5
 
看下这个CN8CHAR[wordNum].Index[0]值和*cn的值你就懂了这程序是如何找字模的。
此帖出自51单片机论坛
 
个人签名人有的时候真是奇怪,选择了会后悔,放弃了会遗憾,完美只能是一种理想,不是一种存在。
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表