- #include .h>
- static unsigned int FirstADCVal = 0; // ADC储存变量
- #define ADCDeltaOn 3 // 2摄氏度误差比较量
- int main(void){ WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 ADC10CTL1 = ADC10DIV_3 + INCH_10 + SHS_1 + CONSEQ_2; /* * 分频 1/4 * 输入端 内部温度传感器 * 采样保持源 Timer_A.OUT1 * 采样方式 单通道重复采样 */ ADC10CTL0 = SREF_1 + ADC10SHT_3 + REF2_5V + REFON + ADC10ON; /* * 基准源 Vr = Vref+ Vr- = Vss * 采样时间 64*ADC10CLK * REF2_5V 2.5V参考电压 * REFON 开启参考电压 * ADC10ON AD使能 */ ADC10CTL0 |= ENC;//转换使能 P1DIR = 0x01; // P1.0 输出
- for (;;){ if(FirstADCVal == 0){ FirstADCVal = ADC10MEM; // 读取首次的数值,或者数值未能正确读取 }else{ if(ADC10MEM >= ADCDeltaOn + FirstADCVal){ P1OUT |= BIT0; }else{ P1OUT &=~ BIT0; } } }}
复制代码
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>