34af9uc的个人空间 https://bbs.21ic.com/?818997 [收藏] [复制] [RSS]

日志

用ntc电阻测温,用ad采回的值如何计算出温度值只是给大家提供一点思路 02 ...

已有 944 次阅读2021-9-18 20:12 |系统分类:兴趣爱好| ntc测温算法

/**************************************************/
void                jisuan()                        //计算
{
unsigned int js_a1;
temp                =0;
js_a1                =0;

ntc_neibu();                        //切换到内部ntc(ad通道8)
adc_start;                                //启动ADC
while(!adc_eoc){;;}                //等待转换完成

js_a1                =ADCVH;
js_a1                <<=4;
js_a1                |=ADCVL>>4;
js_a1                *=10;                //放大10倍

if(js_a1        <3430)                //小于-10无法显示
{temp                =-10;}

if(js_a1        <5550)                //-1--9℃,每度21
{
js_a1                -=3430;
while(js_a1 >=21)
        {
        js_a1                -=21;
        temp                -=1;
        }
return;
}
if(js_a1 <8310)                        //0-9.9℃,每度28
{}
if(js_a1 <11790)                //10-19.9℃,每度35
{}
if(js_a1 <15870)                //20-29.9℃,每度40
{}
if(js_a1 <20050)                //30-39.9℃,每度41
{}
if(js_a1 <24050)                //40-49.9℃,每度40
{}
if(js_a1 <27600)                //50-59.9℃,每度35
{}
if(js_a1 <30720)                //60-69.9℃,每度31
{}
if(js_a1 <33050)                //70-79.9℃,每度23
{}
if(js_a1 <34830)                //80-89.9℃,每度18
{}
if(js_a1 <36270)                //90-99.9℃,每度14
{}
if(js_a1 <37310)                //大于100℃无法显示
{}


lcd_a1                =biao[0];
lcd_a2                =biao[0];

lcd_a3                =biao[0];
lcd_a4                =biao[0];
lcd_a5                =biao[xs_a2];

}
/**************************************************/                //内部ntc

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)