- •Содержание
- •Список сокращений
- •Введение
- •Структура микроконтроллера
- •Процессор микроконтроллера
- •Адресное пространство микроконтроллера
- •Подключение erom и eram к микроконтроллеру
- •Периферийные устройства микроконтроллера
- •Параллельные порты ввода-вывода
- •Таймер-счетчик т/с0
- •Таймер-счетчик т/с1
- •Последовательный порт
- •Контроллер прерываний
- •Система команд микроконтроллера
- •Общие сведения о языке Ассемблер для микроконтроллеров стандарта mcs-51 и о программном пакете фирмы 2500 a.D.
- •Синтаксис языка Ассемблер
- •Определители основания системы счисления
- •Макроопределения
- •Сообщения о некоторых ошибках ассемблирования
- •Рекомендуемая процедура инициализации микроконтроллера
- •Типичные применения микроконтроллеров
- •Ввод информации с датчиков
- •Опрос двоичного датчика
- •Ожидание события
- •Ожидание импульсного сигнала
- •Устранение дребезга контактов
- •Подсчет числа импульсов
- •Подсчет числа импульсов за интервал времени между двумя событиями
- •Подсчет числа импульсов за заданный промежуток времени
- •Опрос группы двоичных датчиков
- •Ввод информации с матричной клавиатуры
- •Вывод управляющих сигналов из микроконтроллера
- •Формирование статических сигналов
- •Формирование импульсных сигналов
- •Генерация меандра
- •Формирование сигнала с заданной скважностью
- •Вывод и отображение информации
- •Динамический вывод информации на дисплей из семисегментных индикаторов
- •Реализация функций реального времени
- •Программное формирование временной задержки
- •Формирование временной задержки с использованием таймеров
- •Измерение временных интервалов
- •Преобразование кодов
- •Преобразование унитарного кода в двоичный позиционный
- •Преобразование двоичного позиционного кода в унитарный
- •Преобразование кодов из одной системы счисления в другую
- •Преобразование данных из параллельного кода в последовательный и обратно
- •Цифро-аналоговое преобразование
- •Аналого-цифровое преобразование
- •Метод последовательного приближения
- •Метод двойного интегрирования
- •Операции с памятью
- •Тестирование озу
- •Программа тестирования пзу
- •Обмен данными по шине i2с
- •Общие положения и введение в логику работы шины i2с
- •Пример обмена данными по шине i2c
- •Приём данных по протоколу Centronics
- •Литература
Вывод управляющих сигналов из микроконтроллера
Формирование статических сигналов
Для управления исполнительным механизмом (ИМ), работающим по принципу включено/выключено, на соответствующей выходной линии порта МК необходимо сформировать статический сигнал логического 0 или логической 1.
Это реализуется командами вывода непосредственного операнда, содержащего в требуемом бите значение 0 или 1. Рассмотрим для примера схему на рисунке 4.11. Ниже приведен листинг управляющей программы для раздельного включения/выключения устройств (листинг 4.16).
Рисунок 4.11 – Пример, иллюстрирующий подключение исполнительных механизмов к микроконтроллеру
Листинг 4.16 – Программа управления динамиком и лампой
|
.ORG 0000h |
; Адрес начала программы |
|
SETB P1.0 SETB P1.1 … CLR P1.0 CLR P1.1 |
; Включение динамика ; Выключение лампы
; Выключение динамика ; Включение лампы |
В случае параллельного управления группой автономных исполнительных механизмов, подключенных к порту, формируется управляющее слово (УС), имеющее формат байта, в котором каждый бит отвечает за управление отдельным устройством.
В этом случае программа управления динамиком и лампой будет выглядеть следующим образом (листинг 4.17):
Листинг 4.17 – Программа управления динамиком и лампой
|
.ORG 0000h |
; Адрес начала программы |
|
MOV P1, #FFh
… |
; Включение динамика и ; выключение лампы ; одновременно |
|
MOV P1, #00h |
; Выключение динамика и ; включение лампы ; одновременно |
Для формирования сложных последовательностей УС удобно пользоваться табличным способом, при котором все возможные УС упакованы в таблицу, а программа МК вычисляет адрес требуемого УС, выбирает его из таблицы и передает в порт вывода (листинг 4.18).
Листинг 4.18 – Программа управления исполнительными механизмами. (Последовательность управляющих сигналов представлена в табличной форме.)
; Программа написана для случая, когда все исполнительные
; механизмы подключены к порту P1, а режимы их включения
; определяются разрядами 0–3 порта P3.
|
.ORG 0000h |
; Адрес начала программы |
NEXT:
TABEL: |
MOV P1, #00h MOV P3, #FFh
MOV A, P3
ANL A, #0Fh
MOV DPTR, #TABEL
MOVC A, @A+DPTR MOV P1, A JMP NEXT
.DB 10, 15, 127, 20, 32, 72, 2, 7 .DB 3, 1, 0, 23, 255, 26, 34, 202 |
; Отключение ИМ ; Настройка порта P3 на ; ввод ; Считывание значений из ; порта P3 ; Выделение значащих бит
; Загрузка в DPTR адреса ; таблицы УС ; Чтение УС ; Отправка УС в порт P1 ; Переход на опрос порта ; P3
; Таблица управляющих ; слов |