Здравствуйте! Нужна помощь с АЦП на атмега8. Согласно инструкции заполнил состояние регистров ADCSRA и ADMUX, дело пошло:
Код: Выделить всё
.org 14 ;вектор прер. АЦП
rjmp adc_complete ;подпрограмма АЦП
...
ldi R16, 0b01000000 ;AD_Converter ADMUX byte
out ADMUX, R16
ldi R16, 0b10001011 ;AD_Converter ADCSRA byte, 125kHz
out ADCSRA, R16
sei ;вкл. прерывания в ЦП
...
rcall delay2s
sbi ADCSRA,6 ;старт одиночного замера АЦП
...
adc_complete:
in R28, ADCL
...перевожу состояние стартового бита в "1", идет замер, и срабатывает прерывание по АЦП"счет окончен"(014), все нормально, вывожу данные на ЖК, но после первой порции от АЦП более данных не поступает. Цикл идет, АЦП делает переход по прерыванию, но "вместимое" регистров АЦП не изменяется сколько не кручу резистор(( АЦП дает новые данные, только если, откл. и вкл. питание, и они корректно меняются с положением резистора, а в цикле не хочет,
пользовался этой инструкциейПрилепил счетчик на
adc_complete, он считает а вместимое меньшего регистра ADCL не меняется. Переключил в непрерывный замер АЦП(ADFR=1), счетчик замеров бежит, а ADCL все равно не меняется... Я уже не знаю чего делать...
