完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
本帖最后由 duoluoxiaosheng 于 2013-10-30 09:56 编辑
当温度为零下16度的时候,显示为零,检查了半天,不知道什么情况,求大神解惑啊!!! //获取温度数据,并处理 Init_DS18B20(); WriteOneChar(0xCC); // 跳过读序号列号的操作 WriteOneChar(0x44); // 启动温度转换 Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器 a=ReadOneChar(); //连续读两个字节数据 //读低8位 b=ReadOneChar(); //读高8位 if((b&0xf8)!=0x00) //负温度处理 { b=~b; a=~a+1; flag=1; } else flag=0; t=b; t<<=8; t=t|a; //两字节合成一个整型变量。 tt=t*0.0625; //得到真实十进制温度值,因为DS18B20可以精确到0.0625度,所以读回数据的最低位代表的是0.0625度 t= tt*10+0.5; //放大十倍,这样做的目的将小数点后第一位也转换为可显示数字,同时进行一个四舍五入操作。 下面是显示 void DSY_DISPLAY(uint x) { uint Hundred,Ten,One,Dot1; P0=0xff; P2=0x00; Hundred=x/1000; Ten=x%1000/100; One=x%100/10; Dot1=x%10; P2=0x08; if(flag) P0=0xbf; else if(Hundred) P0=DSY_CODE[Hundred]; else P0=0xff; delay1ms(10); P2=0x04; if (Ten==0 && Hundred==0) P0=0xff; P0=DSY_CODE[Ten]; delay1ms(10); P2=0x02; P0=DSY_CODE[One]; delay1ms(10); P2=0x02; P0=0x7f; delay1ms(10); P2=0x01; P0=DSY_CODE[Dot1]; delay1ms(10); } |
|
相关推荐
6 个讨论
|
|
|
|
|
|
|
|
|
|
|
|
再顶啊…………………………不要沉啊
|
|
|
|
|
|
|
|
|
是不是数据类型的问题啊…………没有人遇到这个问题吗,大神们帮帮忙啊
|
|
|
|
|
|
|
|
|
本帖最后由 duoluoxiaosheng 于 2013-11-8 14:18 编辑
找到问题了,是我的负数标记那里出了问题, 现在改成这样了 if(t&(1<<15)) //如果温度为负数,则取原码 { t=~t; t+=1; flag=1; //标志为负数 } 下面是我的读写程序,是在网上找的 unsigned char ReadOneChar()//读一个字节 { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DS = 0; // 给脉冲信号 dat>>=1; DS = 1; // 给脉冲信号 if(DS) dat|=0x80; tmpDelay(4); } return(dat); } void WriteOneChar(unsigned char dat)//写一个字节 { unsigned char i=0; for (i=8; i>0; i--) { DS = 0; DS = dat&0x01; tmpDelay(5); DS = 1; dat>>=1; } } |
|
|
|
|
|
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
331 浏览 0 评论
532 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
842 浏览 0 评论
1383 浏览 2 评论
824 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16914 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 17:12 , Processed in 0.795769 second(s), Total 52, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
10269