Гость Sommi Опубликовано 17 Августа, 2012 в 15:19 Жалоба Поделиться Опубликовано 17 Августа, 2012 в 15:19 Написал программу для АЦП для ATmega16 PORTA 0 АЦП. Подключаю землю выдаёт 0, подключаю питание 5013 милливольт(вроде все норм). Подключаю батарейки 1,5 - 3 В показывает одно и тоже 2,4 В. В чем может быть проблема?ъ Здесь скрытый текст. Кликни, чтобы увидеть! #include <mega16.h> #include <stdio.h> #include <delay.h> #define ADC_VREF_TYPE 0xC0 unsigned int 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 void main(void) { PORTB=0x00; DDRB=0xFF; PORTD=0xFF; DDRD=0x00; GICR|=0xC0; MCUCR=0x0A; MCUCSR=0x00; GIFR=0xC0; UCSRA=0x00; UCSRB=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x19; // ADC initialization // ADC Clock frequency: 1000,000 kHz // ADC Voltage Reference: Int., cap. on AREF // ADC Auto Trigger Source: None ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x83; // Global enable interrupts #asm("sei") while (1) { float volt; delay_ms(1000) ; volt=read_adc(0); result=ADCW*5-ADCW/10; #asm ("cli") printf("Voltage:%i",result); #asm ("sei") }; }</delay.h></stdio.h></mega16.h> Ссылка на комментарий Поделиться на другие сайты Поделиться
althair Опубликовано 17 Августа, 2012 в 17:36 Жалоба Поделиться Опубликовано 17 Августа, 2012 в 17:36 (изменено) А опорное напряжение ты подавал? Внутреннее опорное у нее как раз около 2.4 в. Так что при подаче напряжения выше опорного АЦП просто упирается в потолок... Ноги AVCC или AREF часом на землю не привесил? Изменено 17 Августа, 2012 в 17:41 пользователем althair Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Sommi Опубликовано 17 Августа, 2012 в 18:19 Жалоба Поделиться Опубликовано 17 Августа, 2012 в 18:19 А опорное напряжение ты подавал? Внутреннее опорное у нее как раз около 2.4 в. Так что при подаче напряжения выше опорного АЦП просто упирается в потолок...Ноги AVCC или AREF часом на землю не привесил? я сразу макетную плату распаянную в магазине покупал фирменного производства, посмотрел, вроде всё нормально распаянно Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Sommi Опубликовано 18 Августа, 2012 в 11:22 Жалоба Поделиться Опубликовано 18 Августа, 2012 в 11:22 Ацп не хочет мерять, а тупо выдаёт значение опорного напряжения, даже когда поменял опорное на 5 В Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти