Команды и директивы компилятора PROTON

ADIn

Синтаксис:

Variable = ADIn channel number

Команда ADIn предназначена для преобразования аналоговой величины в цифровой код. Эта команда делает процесс аналогово-цифрового преобразования очень простым.

По команде ADIn считываются значения аналоговой величины в выбранном канале (channel number) АЦП, а затем аналоговая величина преобразуется в цифровой код и результат сохраняется в переменной Variable.

Прежде чем использовать команду ADIn, необходимо соответствующий разряд регистра TRISA установить так, чтобы нужные разряды (каналы) PORTA установились в состояние входа.

Например при использовании PORTA.5 в качестве входа для измерения аналогового сигнала следует сделать в начале программы следующую запись:

В регистре ADCON1 соответствующие разряды должны быть также установлены так, чтобы разряды (выводы) PORTA работали как аналоговые входы, а в некоторых случаях установить формат результата и источник синхронизации. Для более подробной информации об этих регистрах и как их установить в нужный режим, для определенного микроконтроллера, смотрите справочные данные приводимые в Datasheet's для конкретного PIC-микроконтроллера фирмы Microchip.

Для команды ADIn существуют три директивы (определения):

Ниже приведены определения по умолчанию:

Замечаниe

Если аналого-цифровые преобразования используются в пределах программы очень часто, то после команды ADIn должна использоваться маленькая задержка в несколько микросекунд:

Эта задержка необходима, для того чтобы внутренние конденсаторы аналого-цифрового преобразователя успевали полностью разряжаться.

Чтобы изучить работу АЦП PIC-микроконтроллера Вы можете воспользоваться приведенной на рисунке 1 действующей схемой типовой установки для простого исследования аналого-цифрового преобразователя PIC-микроконтроллера.

Щелкните, для активизации этого элемента

Рис. 1. Действующая схема для изучения команды ADIn.
По этой ссылке можно скачать архив действующей схемы и необходимые для ее работы ASM и HEX файлы.

Ниже приведен листинг программы которая производит 10-битное аналого-цифровое преобразование в канале PORTA.0 и выводит его результат на двухстрочном ЖКИ в десятичном и двоичном виде. Результаты работы этой программы приведены на рисунке 1.

Замечания о настройке аналоговых входов PIC-микроконтроллеров

В PIC-микроконтроллерах регистр ADCON1 предназначен для того, чтобы выбирать, какими входами, цифровыми или аналоговыми будут вывода порта PORTA

Кроме ADCON1, также отвечают за настройку выводов АЦП и регистры TRISA и TRISE. Если выводы микросхемы настраиваются как аналоговые входы, то при этом должны быть установлены соответствующие биты в регистре TRIS. Если соответствующий бит сброшен в 0, то вывод микросхемы настроен как цифровой выход со значениями выходных напряжений Uвых0=0V или Uвых1=5V. Сам же модуль АЦП функционирует независимо от состояния битов регистров TRISA и TRISE.

Настроенные как цифровой вход каналы будут преобразовывать входные аналоговые уровни в цифровые, что однако не окажет влияния на точность преобразования в других каналах настроенных как входные аналоговые.

Смотрите также: RCIn, Pot