Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по АТ89С51 изд.вариант 2010-54.doc
Скачиваний:
86
Добавлен:
19.11.2019
Размер:
865.22 Кб
Скачать
        1. Метод последовательного приближения

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

Рисунок 4.22 – Структурная схема аналого-цифрового преобразования по методу последовательного приближения

Микроконтроллер через порт Р1, работающий в режиме вывода, передает двоичные коды в ЦАП, выход которого соединяется с одним из входов компаратора. На второй вход компаратора подаётся преобразуемое напряжение. Сигнал с выхода компаратора подаётся на вход микроконтроллера.

На выходе компаратора формируется логический 0, если напряжение на выходе ЦАП (Uцап) меньше преобразуемого напряжения (Ux). Если Uцап>Ux, на выходе компаратора формируется логическая единица.

Программа аналого-цифрового преобразования (листинг 4.37) работает следующим образом: МК выдает через порт P1 байт данных, преобразуемый ЦАП в аналоговый сигнал Uцап и сравниваемый с входным аналоговым сигналом Ux, а затем анализирует результат сравнения. В зависимости от значения сигнала на входе INT0 МК или оставляет старший бит выводимого байта в 1, если Uцап<Ux, или сбрасывает его в 0, если Uцап>Ux. Затем аналогичным образом в порядке убывания весовых значений проверяется каждый бит выводимого байта.

Листинг 4.37 – Программа аналого-цифрового преобразования методом последовательного приближения

NEXT:

ENOUGH:

.ORG 0000H

MOV R0,#08H

MOV R1, #01H

MOV R2, #00H

MOV A, R1

RR A

MOV R1, A

ORL A, R2

MOV P1, A

JB INT0, ENOUGH

MOV R2, A

DJNZ R0, NEXT

; Адрес начала программы

; Инициализация счётчика битов

; Инициализация регистра сдвига

; Инициализация регистра

; результата

; Ротация регистра сдвига

; Логическое сложение регистра

; сдвига и регистра результата

; (Результат сохраняется в

; аккумуляторе)

; Выдача в порт результата

; сложения

; Проверка результата сравнения

; Если на выходе компаратора 1,

; то регистр результата не

; изменяется (переход),

; иначе результат логического

; сложения сохраняется в R2

; Переход на начало цикла

        1. Метод двойного интегрирования

Схема подключения к МК дополнительной аппаратуры показана на рисунке 4.23, временные диаграммы, поясняющие принцип метода двойного интегрирования, приведены на рисунке 4.24.

Рисунок 4.23 – Структурная схема аналого-цифрового преобразования по методу двойного интегрирования

Рисунок 4.24 – Временные диаграммы, поясняющие принцип метода двойного интегрирования

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

Процесс преобразования состоит из двух этапов. Сначала производится интегрирование входного аналогового сигнала в течение строго определенного времени Т1. Отсчет интервала Т1 производится от момента t0 перехода напряжения на выходе интегратора через нуль. Входной преобразуемый сигнал (для данной схемы) должен быть положительным. Затем в момент времени t1 на вход интегратора подается опорное отрицательное напряжение Eоп и измеряется время интегрирования Т2, которое и будет пропорционально входному напряжению (Uвх).

Время Т1 выбирается так, чтобы при максимальном входном напряжении интегратор не вошел в насыщение.

Листинг 4.38 содержит программу аналого-цифрового преобразования методом двойного интегрирования. После выполнения программы результат сохраняется в регистрах TH0:TL0.

Листинг 4.38 – Программа аналого-цифрового преобразования методом двойного интегрирования

TIME:

.EQU #7FFFH

; Время интегрирования

.ORG 0000H

; Адрес начала программы

CLR EA

; Запрет всех прерываний

MOV TMOD,#01H

; Настройка таймер-счётчика Т/С0

MOV TL0, #<TIME

MOV TH0, #>TIME

; Загрузка Т/С0

SETB P1.1

; Настройка Р1.1 на ввод

SETB P1.0

; Подача Еоп на вход интегратора

JB P1.1, $

; Ожидание появления на выходе

; интегратора отрицательного

; уровня

CLR P1.0

JNB P1.1, $

SETB TR0

JNB TF0,$

; Подача Uвх на вход интегратора

; ожидание момента Т0

; Запуск Т/С0

; Ожидание момента Т1

; НАЧАЛО ОБРАТНОГО ИНТЕГРИРОВАНИЯ

SETB P1.0

; Подача Еоп на вход интегратора

MOV TL0, #00H

MOV TH0, #00H

JNB P1.1, $

CLR TR0

; Загрузка Т/С0

; Ожидание появления на выходе

; интегратора отрицательного

; уровня

; Остановка счётчика Т/С0

Контрольные вопросы

  1. Для чего необходимо преобразование кодов в микроконтроллерных устройствах?

  1. Преобразование каких кодов наиболее часто выполняется микроконтроллером?

  2. Для чего необходим двоично-десятичный код?

  3. Как организуется преобразование из двоичного кода в двоично-десятичный и обратно?

  4. Для чего необходимо преобразование последовательного кода в параллельный и обратно?

  5. Что такое цифро-аналоговое преобразование и для чего оно нужно?

  6. Опишите методы аналого-цифрового преобразования, применяемые в микроконтроллерных устройствах.