[an error occurred while processing this directive]
Млин, ну помогите же мне с программой! :)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено LPBOY 26 октября 2005 г. 23:59

В общем программа должна преобразовывать аналоговый сигнал с входа АЦП в дискретный.
А затем регистры ADCH и ADCL с интервалом, например, в секунду выводятся в порт А (диоды).


.include "m8535def.inc"

RESET:
ldi r16,low(RAMEND) ;инициализация стека
out SPL,r16
ldi r16,high(RAMEND)
out SPH,r16

ldi r16, $01
out ADMUX, r16 ;настроить 1-й канал порта A на ввод
clr r16

;разрешить ADC, запустить ADC, коэффициент деления частоты - 32
ldi r16, (1 << ADEN)|(1 << ADSC)|(1 << ADPS0)|(1 << ADPS2);
out ADCSRA, r16
check_bit:
in r16, ADCSRA
andi r16, (1 << ADSC) ;если бит ADSC не сброшен (ADC не завершено),
brne check_bit ;то перейти на метку check_bit

in r17, ADCL
in r18, ADCH
rcall output ;подпрограмма выводит r17 и r18 в порт A(еще не написал)

output:
rjmp output
ret


Однако в регистрах ADCH и ADCL нули (проверяю в AVR Studio).
Это ошибка в программе или я с AVR Studio не могу разобраться?
В чем здесь проблема? Хоть намекните...

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru