***************************************************************** //CPU:mega32 //编译器:iar #include #include "adc.h" int main(void) { int m; adc_init(); m = adc_get(0); m=m; while(1); } void adc_init(void) { ADMUX = 1< ADCSRA = 1< } int adc_get(char channel) { int n; if (channel > 7 && (ADMUX & 0x1f) <= 7 ) { ADMUX = ADMUX & 0xE0 | channel;//选择通道 for(i=300;i>0;i--);//转换为差分通道 需要125us延时!! } else ADMUX = ADMUX & 0xE0 | channel;//选择通道 ADCSRA |= 1< n = n & 0x00ff | ADCH<<8 ; return n; } |
更多回帖