Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/27: Рейтинг темы: голосов - 27, средняя оценка - 4.67
xiom
0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 3
1

Atmega16 АЦП

26.04.2013, 18:21. Просмотров 5099. Ответов 2
Метки нет (Все метки)

Здравствуйте!

Пытался запустить АЦП на Atmeag16, с выводом значений на LCD.
Что б долго не рассказывать, АЦП нормально начала работать и реагировать на вращение потенциометра на ADC0 только тогда когда ADLAR-1 то есть полностью заполняем ADCH и не используем ADCL.

Даже если попытаться в 16 битную переменную загнать например WORD = ADCH<<2 | ADCL>>6 при ADLAR = 1, на LCD вылезает какое то постоянное число, как не меняй значение на ADC0 (потенциометр) число не меняестя, но если использовать только ADCH, то все работает отлично, значение меняется от 0 до 255 согласно состоянию потенциометра. Может кто знает в чем причина? Спасибо
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 18:21
Ответы с готовыми решениями:

нелинейность АЦП AtMega16?
Пытаюсь использовать AtMiko16 для измерений напряжения. Использую внутренний ИОН(2.56). НО...

АЦП в Atmega16 не хочет работать.
Здравствуйте. Вчера вот попытался заюзать встроенный АЦП у Atmega16, раскурил Даташит, настроил...

АЦП+ UART на ATmega16: проблемы
Добрый день. Имеются следующие проблемы. 1. При попытке наладить передачу значения АЦП по UART...

Помогите настроить АЦП в ATMEGA16
Доброго времени суток, уважаемые форумчане! Опыт работы с микроконтроллерами у меня весьма мал,...

Atmega16, АЦП и Протеус [решено]
Блин, второй день мучаюсь. Схема на AtMiko16, меряю АЦП напряжение на аккумуляторе. Очень похожая...

2
hixir
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 115
26.04.2013, 18:28 2
Цитата Сообщение от xiom
Здравствуйте!

Пытался запустить АЦП на Atmeag16, с выводом значений на LCD.
Что б долго не рассказывать, АЦП нормально начала работать и реагировать на вращение потенциометра на ADC0 только тогда когда ADLAR-1 то есть полностью заполняем ADCH и не используем ADCL.

Даже если попытаться в 16 битную переменную загнать например WORD = ADCH<<2 | ADCL>>6 при ADLAR = 1, на LCD вылезает какое то постоянное число, как не меняй значение на ADC0 (потенциометр) число не меняестя, но если использовать только ADCH, то все работает отлично, значение меняется от 0 до 255 согласно состоянию потенциометра. Может кто знает в чем причина? Спасибо
When ADCL is read, the ADC DataRegister is not updated until ADCH is read. Consequently, if
the result is left adjusted omd no more than 8-bit precision is required, it is sufficient to read
ADCH. Otherwise, ADCL must be read first, then ADCH.
сначала считывается младший ADCL, затем старший ADCH - этот порядок соблюден?
0
xiom
0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 3
26.04.2013, 18:52 3
Спасибо, возможно в этом была проблема, я проверю
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2013, 18:52

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

АЦП+бесконечный поворотный потенциометр (Atmega16)
Приветствую. Имеется контроллер atmega16 и поворотный потенциометр, который может вращаться не...

АЦП+UART+семисегментный индикатор(ATMega16, asm)
Пытаюсь разобраться с АЦП на AVR. Взял за исходник вот эту программу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru