Помогите чайнику, плиз
- Код: Выделить всё • Развернуть
#include <avr/io.h>
#include <avr/interrupt.h> // доступ к функции sei
#include <avr/signal.h> // доступ к макросу interrupt
INTERRUPT(SIG_ADC) // обработчик прерыв-я от АЦП
{
unsigned int ADCdata; // буф переменная хранения
ADCdata = ADCW; // результата преобразования
if (ADCdata > (2046 / 5)) PORTD = 0b00001000; // если U>2 вольт, то вкл светодиод на 4 ножке порта D
else PORTD = 0b00010000; // иначе, если U<2 вольт на 5 ножке порта D
ADCSR = ADCSR l 0x40; // устанавливаем разряд adsc в регистре ADCSR чтоб начать новое преобразование
}
int main (void)
{
DDRD = 0xff ; // все ножки порта D выходы
ADMUX = 0b00000000; //назначаем в качестве аналог. входа
ADCSR = 0b11001110; // активизируем АЦП с коэф деления 64, разрешаем прерывание от АЦП и начинаем преобразование
sei(); // общее разрешение прерываний
while(1); //бесконечный цикл в ожидании прерываний от АЦП
}
Модератор "Digit":Листинги программ вставляются тегом [ CODE ]