سلام
در مورد adcدر avr کسی میتونه کمکم کنه؟
ولتاژ ref چطوری انتخاب کنم
بعد رو پایه ref میکرو باید خازن بذارم؟
در مورد adcدر avr کسی میتونه کمکم کنه؟
ولتاژ ref چطوری انتخاب کنم
بعد رو پایه ref میکرو باید خازن بذارم؟
#include <mega32.h>
#include <delay.h>
#define ADC_VREF_TYPE 0x40
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
// Declare your global variables here
float data;
void main(void)
{
PORTD=0x00;
DDRD=0xFF;
ACSR=0x80;
SFIOR=0x00;
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x81;
while (1)
{
data=read_adc(0);
data=data*5/1024;
if (data>2.5)
PORTD.0=1;
else PORTD.0=0;
};
}
دیدگاه