Здравствуйте! Помогите, пожалуйста. В даташите написано, что преобразования должно запускаться автоматически при переходе в режим sleep или idle, но почему то не запускаеться ) если перед командой sleep самому запустить преобразование, то работает нормально.
И еще один вопрос, будет ли работать ШИМ пока микроконтроллер находиться в режиме sleep или idle ?
#include <m8def.inc>
.def temp=r16 .def char=r17
.cseg .org 0x000 rjmp start
.org adccaddr nop reti
start:
ldi temp, 0b00011000 out wdtcr, temp ;watchdog disabled cbr temp, 0b00001000 out wdtcr, temp
clr temp out ddrc, temp ;порт С на вход out portc, temp
ldi temp, 0xff ;порт D - выход out ddrd, temp clr temp out portd, temp
ldi temp, 0b10001111 ;вкл. АЦП, прерывания по завершению преобразования, скорость 128 out adcsra, temp
ldi temp, 0b00100000 ;используем АЦП0, левый сдвиг результата out admux, temp
sei ;глобальное разрешение прерываний
ldi temp, 0b10010000 ;режим подавления шумов включен out mcucr, temp
A1: ;sbi adcsra, adsc sleep
in temp, adcl in temp, adch out portd, temp rjmp A1
Сообщение отредактировал OLMER - Mar 23 2008, 10:17
|