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 + -
显示快捷键?