嵌入式学习小组
直播中

qjqb

8年用户 1269经验值
擅长:5762
私信 关注

N76E003采集热敏电阻AD值超出4095如何处理?

N76E003采集热敏电阻AD值超出4095,如何处理.热敏电阻阻值10K,分压电阻1K。
unsigned long GetResult(void)
{
        clr_ADCF;
        set_ADCS;
        while(ADCF == 0);
        temp_H=ADCRH;
        temp_L=ADCRL;
        ADCtemp=((temp_H<<4)|(temp_L&0x0F));
        return ADCtemp;
}

void ntc_ADC()
{

        P12 = 0;


        Enable_ADC_AIN0;                //PIN14
   timer0_Delay1ms(100);
   data1 = GetResult();         
   Timer0_Delay1ms(100);
   data1 = GetResult();         

   printf ("\n ntc = %d", data1);




回帖(1)

爱吃果冻

2024-1-11 14:12:40
如果热敏电阻AD值超过4095,需要使用额外的电路进行处理。一种方法是使用多路电阻分压来减小电压范围,使得AD转换的最大值不超过4095。另外一种方法是使用模数转换器(ADC)的多通道功能,将采集到的信号分成多个区间,分别进行转换,然后将这些结果组合成一个有效的数字量。这些方法的具体实现会根据应用程序和硬件设计的不同而有所变化。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分