adc.h

来自「较新的adc+lcd1602代码」· C头文件 代码 · 共 38 行

H
38
字号

/******************************************************
**                  ADC转换初始化                    **
******************************************************/
void adc_init(unsigned char adc_channel) 
{ 
  PORTA&=~(BIT(PA0)|BIT(PA1));
  DDRA&=~(BIT(PA0)|BIT(PA1));
  ACSR=0x80; 
  ADMUX=(0<<REFS1)|(1<<REFS0)|adc_channel; 
  ADCSRA=(1<<ADEN)|(0<<ADSC)|(0<<ADIE)|(0<<ADPS2)|(0<<ADPS1)|(0<<ADPS0); 
}

/******************************************************
**             取通道adc_channel的ADC值              **
******************************************************/
unsigned int GetAdcValue(unsigned char adc_channel) 
{ 
 unsigned int adc_value=0; //定义全局变量来存储ADC值
 unsigned int temp; 
 unsigned char i; 

 adc_init(adc_channel); 
 delay_nms(30); 
 
 for(i=0;i<19;i++) 
 { 
  ADCSRA|=(1<<ADSC); 
  while((ADCSRA&0x10)==0); 
  temp=ADCL; 
  temp|=(int)ADCH<<8; 
  adc_value=adc_value+temp; 
  ADCSR|=(0<<ADSC);
 } 

 adc_value=adc_value/19;
 return adc_value; 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?