АЦП на Мега8

Обсуждаем цифровые устройства...
Ответить
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Вт июн 29, 2010 22:46:45

Сообщение Pingvinus »

Не получается запустить АЦП в режиме непрерывного преобразования.
Делал все как http://samou4ka.net/page/analogo-cifrov ... mk-atmega8
Может у кого то завалялся рабочий кусок кода на Асме?



RESET: rjmp START
INT_0: reti
INT_1: reti
TIMER2_COMP: reti
TIMER2_OVF: reti
TIMER1_CAPT: reti
TIMER1_COMPA: reti
TIMER1_COMPB: reti
TIMER1_OVF: reti
TIMER0_OVF: reti
SPI_STC: reti
USART_RXC: reti
USART_UDRE: reti
USART_TXC: reti
A_D_C: rjmp ADC_
EE_RDY: reti
ANA_COMP: reti
TWI: reti
SPM_RDY: reti



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

;Настройка порта D на выход
ser r16
out DDRD,r16


ldi r16,0b01000000 ;0b[01]000000 - Выбор оборного напряжения AVCC подключаю через LC фильтр
out ADMUX,r16


ldi r16,0b11101111 ;АЦП вкл, старт, Непрерыв. режим, разр. прерыв., СК/32
out ADCSRA,r16
sei


cicle:
rjmp cicle




ADC_:
in r16,ADCL
out PORTD,r16
reti
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Pingvinus писал(а):

Код: Выделить всё

ADC_:
in r16,ADCL
out PORTD,r16
reti
Почему читается только ADCL? Результат преобразования не обновится пока не будет прочитан старший байт, читайте даташит внимательнее.
Реклама
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Вт июн 29, 2010 22:46:45

Сообщение Pingvinus »

Engineer_Keen писал(а):
Pingvinus писал(а):

Код: Выделить всё

ADC_:
in r16,ADCL
out PORTD,r16
reti
Почему читается только ADCL? Результат преобразования не обновится пока не будет прочитан старший байт, читайте даташит внимательнее.
Спасибо огромное! Тема закрыта
Ответить

Вернуться в «Цифровая техника»