Восьмиразрядный встроенный АЦП обслуживает, с помощью мультиплексора, восемь аналоговых входов АСН0.АСН7 ( 2.24). Время преобразования для одного канала составляет около 26 мксек при тактовой частоте микроконтроллера 12 МГц.
Блок АЦП имеет вход внешнего запуска TRIGIN, линии отдельного аналогового питания AVss и AVref., вход напряжения сравнения COMPREF. Он снабжен десятью регистрами специальных функций. В регистрах данных AD0.AD7 (адреса 84Н, 94Н, 0А4Н, 0В4Н, 0С4Н, 0D4H, 0Е4Н, 0F4H) хранятся результаты преобразований по каждому из каналов. Регистр флагов АСМР хранит результаты операций сравнения напряжений на входах АСН0.АСН7 с напряжением на входе COMPREF. Бит СМРх устанавливается, если UACH>UCOMPREF. В противном случае он сбрасывается.
Регистр управления ACON содержит флаг прерывания AIF, бит разрешения преобразования АСЕ, биты определения номера канала ACS1 и ACS0, биты определения режима преобразования AIM и режима запуска ATM.
Сравнение аналоговых сигналов. С помощью блока АЦП можно быстро выполнить операцию сравнения по напряжению двух аналоговых сигналов. Сравнение выполняется всегда, если разрешена работа блока АЦП в целом. Выполняемой функцией является последовательное сравнение напряжений на входах АСН0-АСН7 с опорным напряжением на входе COMPREF. Соответствующий бит СМРх регистра АСМР устанавливается, если UACH>UCOMPREF. После разрешения аналого-цифрового преобразования начинается сравнение (последовательно с 0-го по 7-й канал) и обновление битов регистра АСМР независимо от выбранного режима выбора каналов (Scan mode, Select mode).
Режимы выбора каналов. Имеется два режима выбора каналов (входов), сигналы которых подлежат аналого-цифровому преобразованию. Выбор режима производится с использованием бита AIM регистра ACON.
При AIM = 0 имеет место режим сканирования входов (Scan mode). При этом к преобразователю последовательно подключаются входы АСНО, ACH1.ACI-I7, код преобразования помещается в регистры ADO, AD1.AD7.
При AIM = 1 имеет место режим выбранного канала (Select mode). При этом в начале последовательно производится 4 преобразования сигнала на одном из выбранных с помощью битов ACS1, ACS0 входов АСН0.АСИЗ. Результаты преобразования помещаются в регистры AD0.AD3. Далее производится коммутация каналов АСН4.АСН7, аналогично режиму сканирования. Результаты преобразования помещаются в регистры AD4.AD7.
Режимы запуска АЦП. Имеется два режима запуска, выбор производится с использованием бита ATM регистра ACON.
При ATM = 1 имеет место режим запуска от внешнего сигнала. При этом преобразование начинается по перепаду «1»-»0» на входе TRIGIN, вход опрашивается в каждом машинном цикле. Следовательно, для запуска АЦП сигнал на этом входе должен иметь высокий уровень в течение не менее одного машинного цикла, а затем низкий уровень в течение не менее одного машинного цикла. После запуска выполняется преобразование сигналов последовательно на всех входах АСН0.АСН7, затем устанавливается флаг запроса прерывания AIF. До окончания этого процесса сигнал на входе TRIGIN игнорируется.
При ATM = 0 имеет место режим внутреннего запуска. Преобразование начинается в машинном цикле, следующем за командой, в которой был установлен бит АСЕ регистра ACON. После запуска выполняется преобразование сигналов последовательно на всех входах АСН0.АСН7, затем устанавливается флаг запроса прерывания AIF. После завершения одного цикла преобразования аналоговых сигналов во всех каналах начнется следующий цикл, при этом новые значения в регистрах ADO. AD7 будут затирать старые. Для того, чтобы каждый канал был обработан только один раз, необходимо сбросить бит АСЕ регистра ACON.