Здравствуйте, уважаемые! Делаю простенькое зарядное устройство на mega16, пишу в CVAVR, смотрю в Протеусе, до железа еще не дошел, столкнулся с небольшой проблемой. Настраиваю компаратор: "+" - внутреннее опорное (1,23 В, кажется), "-" - вход AIN1. При симуляции AIN изменяю от 0 до 5В, ACO при этом все время 0 и не изменяется. Если настраиваю АЦП на работу с внутренней опорой - то компаратор начинает работать, только при этом опорное, судя по всему, ок.2,4 В, почему-то. Но мне в принципе все равно, 1,23 или 2,4, главное, чтоб АЦП работал от внешней опоры, а компаратор - от внутренней.
#include <mega16.h>
void main(void) { PORTA=0x00; DDRA=0x00;
PORTB=0x00; DDRB=0x00;
PORTC=0x00; DDRC=0x00;
PORTD=0x00; DDRD=0x00;
TCCR0=0x00; TCNT0=0x00; OCR0=0x00;
TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
MCUCR=0x00; MCUCSR=0x00;
TIMSK=0x00;
// Analog Comparator initialization // Analog Comparator: On // The Analog Comparator's positive input is // connected to the Bandgap Voltage Reference // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x40; SFIOR=0x00;
while (1) {
}; }
|