2 Юрий_СВ: проверил на Tiny45 - АЦП запускается от таймера 0, как я и предполагал. Код внутри(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено =AVR= 26 ноября 2006 г. 00:55

Когда будешь запускать - не забывай сбрасывать TIFR.TOV0, АЦП запускается по фронту TOV0, не сбросишь его по концу преобразования АЦП - фронта не будет, и АЦП не запустится.


.include "tn45def.inc"

rjmp main

main:
ldi r16,low(ramend) ; Stack initialisation
out SPL,r16 ;
ldi r16,high(ramend);
out SPH,r16 ;

sbi DDRB,3 ; Set up an ADC activity test point (PORTB.3) as output

ldi r16,1 << CS00 ; Run TCNT0 at Fclk
out TCCR0B,r16 ;

ldi r16,5 ; Select TCNT0 as ADC trigger source
out ADCSRB,r16 ;
ldi r16,$F0 ; Enable ADC and start a first ADC conversion
out ADCSRA,r16 ;

foo:
in r16,ADCSRA ; Wait for ADC conversion complete flag (ADIF)
sbrs r16,ADIF ;
rjmp foo ;

sbi PINB,3 ; Toggle a test point if ADC conversion complete
ldi r16,$B0 ; Clear ADIF but DO NOT start a new ADC conversion manually
out ADCSRA,r16 ;
in r16,TIFR ; Clear a Timer0 overflow flag - important!
out TIFR,r16 ;
rjmp foo ; Loop


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
URL изображения: 
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сложите 2 и 3:


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание