Блок аналого-цифрового преобразователя

Блок цифрового мультиплексора

Мультиплексор- устройство, которое подключает один из входов к выходу в соответствии с состоянием адресных входов ABC (табл.9).

  Таблица9
C B A Соединение
0 0 0 D0→Y
0 0 1 D1→Y
0 1 0 D2→Y
0 1 1 D3→Y
1 0 0 D4→Y
1 0 1 D5→Y
1 1 0 D6→Y
1 1 1 D7→Y

Схема подключения блока цифрового мультиплексора приведена на рис.29. Для управления состоянием входов ABC первого мультиплексора используются разряды Р0.0-Р0.2, второго–разряды Р0.4-Р0.6. Через вход Р0.3 считывается состояние одного из датчиков первого мультиплексора, через Р0.7 второго. Через мультиплексор к микроконтроллеру подключаются дискретные (цифровые) датчики, состояние которых формируется ключевой схемой. Если ключ замкнут на корпус, то формируется состояние 0, если на источник питания, то состояние 1.

Задача.Подключить датчик 1 и проверить его состояние.

Фрагмент программы, реализующей указанную задачу:

M0: ; подключение датчика к выходу мультиплексора

CLR P0.0 ;выдаем состояние 000

CLR P0.1 ;на первый мультиплексор

CLR P0.2

JB P0.3, M1 ;проверяем состояние датчика

;Действия при ключе, замкнутом на корпус

.................

LJMP M0

M1:

;Действия при ключе, замкнутом на источник

................

LJMP M0


Рис.29. Блок цифрового мультиплексора


Схема подключения блока аналого-цифрового преобразователя приведена на рис.30.

Для преобразования аналоговых сигналов в цифровые могут быть использованы как управляемые, так и неуправляемые АЦП. Кроме того, АЦП можно разделить на одноканальные и многоканальные. Преобразователи могут иметь разную разрядность.

В данном случае использован десятиразрядный одноканальный преобразователь 1113ПВ1А. Поскольку он используется для подключения восьми датчиков, в состав устройства включен аналоговый мультиплексор 564КП2, позволяющий подключать АЦП любой из датчиков. Напряжение с аналоговых датчиков подается на входы D0-D7 мультиплексора, выбор измеряемого канала производится подачей на адресные входы комбинации 000÷111 (см п.5.6). Управление состоянием адресных входов осуществляется программно через контакты порта микроконтроллера (в данном случае использованы Р3.4, Р3.5, Р3.6).

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

Управление преобразователем осуществляется через контакты RUN (запуск АЦП) и GOT (состояние преобразования), которые соединяются с микроконтроллером ( например Р3.2, Р3.3).

Чтобы произвести преобразование, необходимо на входе RUN программно создать падающий фронт (переход из состояния 1 в 0). Контроль завершения преобразования осуществляется по состоянию выхода GOT, сигнал с которого подается на контакт Р3.3 микроконтроллера. Если преобразование не завершено GOT=1, после завершения GOT=0.

Считывание цифрового значения сигнала датчика производится с контактов D0-D9 АЦП, которые должны быть подключены к входам микроконтроллера. Если требуется высокая точность преобразования, подключаются все десять выходов. В схеме, приведенной на рис.30, для учебных целей используются только старшие восемь разрядов. В этом случае для подключения достаточно одного порта (в данном случае порт Р0).

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

Задача.Подключить аналоговый датчик 4 к АЦП, произвести преобразование и считать с АЦП полученный код.

Фрагмент программы, реализующей указанную задачу:

;подключение датчика 4

SETB P3.4 ;выдача на мультиплексор 011

SETB P3.5

CLR P3.6

;запуск АЦП

CLR P3.2 ; переводим вход RUN из 1 в 0

;ожидание готовности

JB P3.3, $ ; проверяем состояние выхода GOT

; если не 0, то повтор этой команды

;чтение кода с АЦП

MOV A,P0

;снять запуск с АЦП

SETB P3.2


Рис.30Блок аналого-цифрового преобразователя