1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 duoluoxiaosheng 于 2013-10-30 09:29 编辑
问题已经解决,,谢谢大家 我写的一个18b20的温度显示程序,当温度大雨100的时候显示异常,大家给看看看什么情况下面是我温度数据处理 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; //放大十倍,这样做的目的将小数点后第一位也转换为可显示数字,同时进行一个四舍五入操作。 显示方面我是这么处理的,大家看有问题吗 uint Hundred,Ten,One,Dot1; P0=0xff; P2=0x00; Hundred=x/1000; if(Hundred) { Ten=x%1000/100; One=x&100/10; // 搞了半天原来是这里搞错了,这里应该是个 % Dot1=x%10; } else { Ten=x/100; One=x%100/10; Dot1=x%10; } |
|
相关推荐
4个回答
|
|
不是很懂,你把百位数显示了吗?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
503 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1756 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1183 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1053 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1287 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12019 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 15:37 , Processed in 0.476365 second(s), Total 45, Slave 39 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号