早教吧 育儿知识 作业答案 考试题库 百科 知识分享

关于51单片机和ds18b20led显示问题:18b20采用12位温度转换,结果只使用十位个位和小数点后一位18b20采用12位温度转换,结果只使用十位个位和小数点后一位,用4个led显示,第一个显示温度正负.

题目详情
关于 51单片机 和ds18b20 led显示问题:18b20采用12位温度转换,结果只使用十位个位和小数点后一位
18b20采用12位温度转换,结果只使用十位个位和小数点后一位,用4个led显示,第一个显示温度正负.现在的问题是温度显示超过15.0摄氏度左右,个位和十位回突然变成00.0度.部分代码如下
last=tmrtemp();
last=last*10*0.0625; //精确到小数点后一位(不四舍五入)
y[1]=last/100;//十位
y[2]=last%100/10;//个位
y[3]=last%10;//小数位
y[0]=flag;//符号位
▼优质解答
答案和解析
符号位如果是负数的时候要去补码.
百位,个位,十位 除以十取余数.
小数部分设置一个变量累加起来就行了