
- •Содержание
- •Список сокращений
- •Введение
- •Структура микроконтроллера
- •Процессор микроконтроллера
- •Адресное пространство микроконтроллера
- •Подключение erom и eram к микроконтроллеру
- •Периферийные устройства микроконтроллера
- •Параллельные порты ввода-вывода
- •Таймер-счетчик т/с0
- •Таймер-счетчик т/с1
- •Последовательный порт
- •Контроллер прерываний
- •Система команд микроконтроллера
- •Общие сведения о языке Ассемблер для микроконтроллеров стандарта mcs-51 и о программном пакете фирмы 2500 a.D.
- •Синтаксис языка Ассемблер
- •Определители основания системы счисления
- •Макроопределения
- •Сообщения о некоторых ошибках ассемблирования
- •Рекомендуемая процедура инициализации микроконтроллера
- •Типичные применения микроконтроллеров
- •Ввод информации с датчиков
- •Опрос двоичного датчика
- •Ожидание события
- •Ожидание импульсного сигнала
- •Устранение дребезга контактов
- •Подсчет числа импульсов
- •Подсчет числа импульсов за интервал времени между двумя событиями
- •Подсчет числа импульсов за заданный промежуток времени
- •Опрос группы двоичных датчиков
- •Ввод информации с матричной клавиатуры
- •Вывод управляющих сигналов из микроконтроллера
- •Формирование статических сигналов
- •Формирование импульсных сигналов
- •Генерация меандра
- •Формирование сигнала с заданной скважностью
- •Вывод и отображение информации
- •Динамический вывод информации на дисплей из семисегментных индикаторов
- •Реализация функций реального времени
- •Программное формирование временной задержки
- •Формирование временной задержки с использованием таймеров
- •Измерение временных интервалов
- •Преобразование кодов
- •Преобразование унитарного кода в двоичный позиционный
- •Преобразование двоичного позиционного кода в унитарный
- •Преобразование кодов из одной системы счисления в другую
- •Преобразование данных из параллельного кода в последовательный и обратно
- •Цифро-аналоговое преобразование
- •Аналого-цифровое преобразование
- •Метод последовательного приближения
- •Метод двойного интегрирования
- •Операции с памятью
- •Тестирование озу
- •Программа тестирования пзу
- •Обмен данными по шине i2с
- •Общие положения и введение в логику работы шины i2с
- •Пример обмена данными по шине i2c
- •Приём данных по протоколу Centronics
- •Литература
Цифро-аналоговое преобразование
Преобразование информации из цифровой формы в аналоговую осуществляется путем подключения ЦАП к одному из портов МК. Выдача аналогового управляющего воздействия в этом случае сводится к команде пересылки двоичного кода в порт. При этом на выходе ЦАП появится напряжение (ток), пропорциональное двоичному коду, загруженному в порт.
Некоторые объекты управления могут требовать непрерывного воздействия изменяющегося сигнала. Простейшим случаем является формирование линейно изменяющегося сигнала (рисунок 4.21, листинг 4.35).
Рисунок 4.21 – Принцип формирования линейно изменяющегося сигнала с помощью ЦАП |
Листинг 4.35 – Программа формирования линейно изменяющегося сигнала
|
. ORG 0000H |
; Адрес начала программы |
NEXT: |
MOV A, #00H MOV P1, A
CALL DELAY
INC A JMP NEXT |
; Обнуление аккумулятора ; Пересылка содержимого ; аккумулятора в порт P1 ; Вызов подпрограммы, ; реализующей задержку ; Инкремент аккумулятора ; Переход на начало цикла |
Программа формирования аналогового сигнала, заданного таблично, приведена в листинге 4.36.
Листинг 4.36 – Программа формирования аналогового сигнала, заданного таблично
|
. ORG 8000H |
; Адрес начала программы |
CYCLE:
NEXT: |
MOV DPTR, #TABLE
MOV A, #00H
MOVC A, @A+DPTR MOV P1, A
CALL DELAY
INC DPTR
MOV A, DPH CJNE A, #<END, NEXT MOV A, DPL CJNE A, #>END, NEXT JMP CYCLE |
; Загрузка в DPTR базового ; адреса таблицы
; Загрузка в аккумулятор ; смещения относительно ; базового адреса (00) ; Чтение байта из таблицы ; Пересылка считанного ; байта в порт ; Вызов подпрограммы, ; реализующей задержку ; Увеличение адреса ; обращения к таблице
; Проверка вхождения в ; пределы таблицы
; Переход на начало ; программы, если считано ; последнее значение из ; таблицы |
TABLE: |
|
|
|
.DB 00, 01, 02, 02, 02, 03 .DB 03… |
; Таблица значений ; реализуемой функции |
END: |
|
|
Аналого-цифровое преобразование
Преобразование аналогового сигнала от датчика в цифровой код, принимаемый и обрабатываемый в МК, можно осуществить несколькими способами:
– аппаратным на основе микросхемы АЦП, подключаемой к порту МК. В этом случае МК только инициирует АЦП и через заданные периоды преобразования считывает из него цифровой код. Данный способ характеризуется самым высоким быстродействием, но требует использования АЦП, что далеко не во всех применениях МК является оправданным с экономической точки зрения;
– программно-аппаратным на основе ЦАП и программы взвешивания битов (методом последовательного приближения). Данный способ характеризуется меньшим быстродействием, но требует использования относительно простых и дешевых микросхем ЦАП и операционного усилителя;
– программно-аппаратным способом на основе метода двойного интегрирования. Это самый дешевый, но и наиболее медленный способ. Данный способ может обеспечить достижение очень высокой точности преобразования;
– программно-аппаратным на основе использования преобразователя напряжение–частота и программы измерения периода сигнала.
Наибольший практический интерес представляют последние 3 способа, так как их использование обеспечивает получение высоких технико-экономических характеристик микропроцессорной системы относительно простыми средствами.