//温度转换(AD转温度)

[复制链接]
 楼主| 34af9uc 发表于 2023-6-24 20:48 | 显示全部楼层 |阅读模式
void                wendu_zhuanhuan()                //温度转换(AD转温度)
{
//volatile int                wendu_a1,wendu_a2,wendu_a3;                        //温度用,AD值,温度值,小数
unsigned char zhuan_a1;
unsigned int zhuan_b1,zhuan_b2,zhuan_b3;

if                (wendu_a1>3864)        {wendu_a2=-21;                return;}                //超过量程(显示---)
else if        (wendu_a1 <395)        {wendu_a2=121;                return;}                //超过量程(显示---)

for(zhuan_a1 =0;zhuan_a1 <140;zhuan_a1 ++)                //141个(-20--120)
        {
    if(wendu_a1 >=wdu1[zhuan_a1])                //一个一个的比较
                {
        wendu_a2                =zhuan_a1;                //温度值
                wendu_a2                -=20;                        //偏移20
        if((zhuan_a1 >19)||(zhuan_a1 <119))                //0-99之间0.1处理
                        {
                        zhuan_b1                =wdu1[zhuan_a1];
                        zhuan_b2                =wdu1[zhuan_a1 +1];
                        zhuan_b1                =zhuan_b1 -zhuan_b2;                        //两个数之间的差(缩小10倍就是0.1度)
                        zhuan_b3                =wendu_a1 -wdu1[zhuan_a1];                //大于整数的部分
                        zhuan_b3                *=10;                                                        //大于整数的部分(除数放大10倍)
                        wendu_a3                =zhuan_b3 /zhuan_b1;                        //求得小数部分
                        wendu_a3                =9 -wendu_a3;                                        //倒数(大变小)
//                        if(wendu_a3 >9)        {wendu_a3=9;}                                        //限制小数不能大于9
                        }
        return;
        }
        }
}

陈立业 发表于 2023-7-31 10:57 | 显示全部楼层
没看懂,wdu1这是咋来的
 楼主| 34af9uc 发表于 2023-9-19 20:16 | 显示全部楼层
++一个一个的往上加

319

主题

487

帖子

63

粉丝
快速回复 在线客服 返回列表 返回顶部