Чт июн 21, 2012 05:39:27
Чт июн 21, 2012 06:43:38
или посоветуйте тест попроще.
Чт июн 21, 2012 12:33:41
Чт июн 21, 2012 12:48:36
Это вряд лиkras писал(а):А могут быть проблемы из-за различий между атмега8 и атмега8а?
kras писал(а):А что написать попроще, чтобы обрабатывало аналоговые сигналы? Можно и на асм, так как когда-то я с него в пиках начинал и мне проще найти ошибку.
Чт июн 21, 2012 13:07:17
.include "m8def.inc"
.macro OUTI ;макрос, так в итоге короче
LDI R16,@1
.if @0>63
STS @0,R16
.else
OUT @0,R16
.endif
.endm
START: OUTI SPH,High(Ramend) ;инициализация стека, хотя он тут не нужен...
OUTI SPL,Low(Ramend)
OUTI DDRD,0xFF ;порт D на выход - светодиоды
OUTI ADMUX,(1<<ADLAR)|(1<<REFS0) ;канал АЦП0, опорное=AVCC, результат смещен влево
OUTI ADCSRA,(1<<ADEN)|(1<<ADPS2)|(1<<ADSC) ;включаем АЦП, прескалер 16, старт преобразования
LOOP: SBIS ADCSRA,ADIF ;ждем окончания
RJMP LOOP ;преобразования
IN R16,ADCH ;читаем АЦП
OUT PORTD,R16 ;выводим в порт
SBI ADCSRA,ADSC ;запуск следующего преобразования
RJMP LOOP ;вцикл...
Чт июн 21, 2012 15:39:46
Это вряд ли
Пт июн 22, 2012 04:43:27
Пт июн 22, 2012 07:46:23
2. Как обратиться к памяти? когда непосредственно пытаюсь записать константу (mov adr,R16), то говорит, что нужен регистр.
А как применить таймер?