Интерфейс медленных АЦП и МК. Время преобразования медленных АЦП составляет десятки и даже сотни микросекунд (см. табл. 7.1). При их подключении к МК необходимо использовать сигнал «Данные готовы/Конец преобразования», который информирует МК о завершении процесса преобразования. Возможно два метода использования этого сигнала:
· с программным опросом сигнала готовности данных;
· с передачей данных от АЦП по сигналу прерывания.
Чаще используется программный опрос готовности данных АЦП. Он реализует асинхронный способ обмена. Процедура получения данных от АЦП обычно оформляется как подпрограмма, которую вызывает основная программа управления по мере необходимости. Назовем эту подпрограмму именем ADCONV (Analog-Digit Conversion – аналого-цифровое преобразование). Она вызывается командой CALL ADCONV. Блок-схема алгоритма этой подпрограммы приведена на рис. 7.18. После запуска АЦП микроконтроллер осуществляет проверку состояния АЦП, считывая непрерывно состояние сигнала готовности данных. По результатам проверки МК либо считывает выходной код АЦП, либо продолжает цикл ожидания.
Рис. 7.18. БСА программы с опросом сигнала готовности данных АЦП
В качестве примера АЦП выберем широко применяемый К1113ПВ1. Схема его подключения к МК приведена на рис. 7.19.
Этот АЦП имеет только один управляющий вход – (Гашение/запуск). При подаче на этот вход высокого уровня (по длительности не менее 2 мкс) происходит сброс (начальная установка) внутренних узлов АЦП. Срез сигнала (перепад из «1» в «0») инициирует процесс аналого-цифрового преобразования. Микросхема К1113ПВ1 имеет внутренний тактовый генератор частотой около 250 кГц. После сброса АЦП и выполнении преобразования выходные буферы данных находятся в Z-состоянии. Когда преобразование закончено, на выводе появляется низкий уровень, сигнализирующий о готовности данных, а выходные буферы автоматически переводятся в активное состояние. На выводах микросхемы DO.0…DO.9 появляется 10-разрядный двоичный код.
Рис. 7.19. Схема подключения АЦП К1113ПВ1 к МК
В схеме на рис. 7.19 через порт 1 в МК поступают младшие 8 разрядов кода АЦП. Старшие разряды DO.8 и DO.9 поступают через порт 3. Кроме того, линия порта P3.2 используется для ввода сигнала готовности данных . Линия порта P3.7 служит для выдачи сигнала запуска АЦП.
Текст подпрограммы аналого-цифрового преобразования ADCONV имеет вид:
ADCONV: MOV P3,#0FFH ; Вывести единицы в порт 3
MOV P1,#0FFH ; Вывести единицы в порт 1
CLR P3.7 ; Запуск АЦП
WAIT: JB P3.2,WAIT ; Цикл ожидания готовности данных
MOV A,P1 ; Ввод в аккумулятор разрядов
; DO.0…DO.7 кода АЦП
MOV B,P3 ; Ввод в регистр B данных
; из порта 3
ANL B,#00000011B ; Маскировать все разряды
; регистра B, кроме двух младших
RET ; Возврат из подпрограммы,
; в регистрах B и A 10-разрядный код АЦП
Первые две команды программы настраивают порты P1 и P3 на ввод, при этом на вход поступает высокий уровень, который выполняет сброс АЦП. Затем командой CLR P3.7 уровень на входе изменяется на низкий, что запускает процесс аналого-цифрового преобразования. Команда JB P3.2,WAIT проверяет значение бита P3.2, т.е. состояние вывода АЦП. Если P3.2 = 1, то это означает, что АЦП выполняет преобразование, и в программе будет цикл ожидания WAIT, пока на линии P3.2 не появится 0. Затем выполняется чтение младших разрядов кода АЦП (DO.0…DO.7) и пересылка их в аккумулятор. Старшие разряды кода АЦП (DO.8, DO.9) через порт P3 поступают в регистр B. Для выделения этих разрядов производится операция маскирования (обнуления) остальных битов регистра B. В результате в регистрах B и A микроконтроллера будет 10-разрядный код АЦП.
Интерфейс быстрых АЦП и МК. На рис. 7.20 приведена функциональная схема ввода аналоговых сигналов при использовании быстродействующего АЦП К1108ПВ1.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.