- •Микропроцессорные устройства
- •4.2.1.3 Специальный режим использования порта р0:
- •10 Примеры схем включения омэвм………………………………………...……..……………..73
- •Введение
- •1 Общая характеристика омэвм к1816ве751
- •2 Условное графическое обозначение омэвм к1816ве751 и назначение ее отдельных выводов
- •3 Структура омэвм к1816ве751 и ее описание
- •3.1 Блок управления и синхронизации микроЭвм
- •3.2 Блок арифметико-логического устройства (алу)
- •3.3 Резидентная память данных
- •3.4 Резидентная память программ
- •3.5 Блок прерываний
- •3.6 Блок таймеров – счетчиков
- •3.7 Блок последовательного порта (интерфейса)
- •3.8 Параллельные порты ввода-вывода
- •3.9 Схема десятичной коррекции аккумулятора (сдка)
- •3.10 Внутренний тактовый генератор (osc)
- •3.11 Резидентная шина данных
- •3.12 Регистры
- •4 Особенности функционирования и применение омэвм в различных режимах
- •4.1 Использование таймеров-счётчиков
- •4.2 Использование параллельных портов ввода-вывода
- •4.2.1 Особенности работы порта р0
- •4.2.1.1 Особенности работы р0 с вп (впп или впд)
- •4.2.1.2 Особенности работы р0 в качестве портов ввода/вывода
- •4.2.1.2.1 Вывод данных через р0
- •4.2.1.2.2 Ввод данных через р0
- •4.2.1.3 Специальный режим использования порта р0:
- •4.2.2 Особенности работы порта р1
- •4.2.3 Особенности работы порта р2
- •4.2.4.1.2 Выполнение портом р3 альтернативных функций входа
- •4.2.4.2 Работа р3 в качестве порта вывода
- •4.2.4.3 Работа р3 в качестве порта ввода
- •4.3 Применение последовательного порта
- •4.3.1 Работа последовательного порта в режиме 0
- •4.3.1.1 Передача в режиме 0
- •4.3.1.2 Приём в режиме 0
- •4.3.2 Работа последовательного порта в режиме 1
- •4.3.2.1 Передача в режиме 1
- •4.3.2.2 Приём в режиме 1
- •4.3.3 Работа последовательного порта в режимах 2 и 3
- •4.3.4 Скорость передачи-приёма данных через последовательный порт
- •4.3.5 Пример программирования последовательного порта омэвм
- •4.3.6 Особенности межконтроллерного обмена информацией в локальных управляющих сетях
- •4.4 Особенности структуры прерываний
- •4.5 Организация пошагового режима работы
- •4.6 Организация памяти
- •4.6.1 Особый режим работы памяти омэвм
- •4.7 Расширение резидентной (внутренней) системы ввода-вывода (рсвв/выв)
- •5 Система команд
- •5.1 Способы адресации операндов
- •5.2 Команды передачи данных
- •5.3 Арифметические команды
- •5.4 Логические команды
- •5.5 Операции с битами
- •5.6 Команды передачи управления
- •6 Программирование и проверка омэвм км1816ве751
- •7 Программирование бита защиты памяти
- •8 Режим холостого хода и пониженного энергопотребления
- •8.1 Режим холостого хода
- •8.2 Режим микропотребления
- •8.3 Режим пониженного потребления для омэвм серии 1816 (n-моп)
- •9 Начальная инициализация омэвм
- •10 Примеры схем включения омэвм
- •Список литературы
4.3.4 Скорость передачи-приёма данных через последовательный порт
Скорость (частота пересылки битов) последовательного обмена Vпд в зависимости от режима работы последовательного порта определяется либо частотой синхронизации ОМЭВМ fBQ (режимы 0 и 2), либо частотой переполнения Таймера / Счетчика 1 Fov (режимы 1 и 3).
В режиме 0 скорость последовательного обмена максимальна. Она постоянна и составляет:
Vпд = fBQ/12 [бит/с]. (3)
При необходимости работать с переменной скоростью используется режим 2 последовательного порта. В этом режиме скорость последовательной передачи зависит от состояния бита SMOD регистра SCON и частоты fBQ:
Vпд= (2SMOD/64) * fBQ[бит/с]. (4)
Т. е. при SMOD = 0 Vпд = fBQ/64, а при SMOD = 1 Vпд = fBQ/32. по сигналу “сброс” бит SMOD устанавливается в нуль. Для установки бита SMOD используются команды с байтовой адресацией, например, команда MOV 87H, #80Н.
В режимах 1, 3 также имеется возможность изменить скорость последовательной передачи:
Vпд= (2SMOD/32) *FOVT/C1[бит/с], (5)
где FOVT/C1– частота переполнений Т/С 1.
Для использования Т/С 1 в качестве источника для задания скорости обмена необходимо:
1) запретить прерывания от Т/С 1;
2) запрограммировать работу Т/С 1 в качестве таймера или в качестве счетчика, установив при этом для него один из режимов 0, 1 или 2;
3) запустить Т/С 1 на счет.
Обычно для синхронизации последовательного порта таймер Т/С 1 включается в режим автозагрузки (режим 2).
В этом случае скорость последовательного обмена определяется по формуле:
Vпд= (2SMOD*fBQ)/(32 * 12 * [256-(TH1)]) [бит/с], (6)
где (ТН1) – десятичный код содержимого ТН1. Если необходим последовательный обмен с очень низкой скоростью, то можно использовать Т/С 1 в режиме 16-разрядного таймера (режим 1), разрешив при этом прерывание от Т/С 1 с целью перезагрузки TL1/TH1 в подпрограмме обслуживания прерывания.
В таблице 19 приведен ряд стандартных скоростей последовательного обмена и то, как они могут быть реализованы в ОМЭВМ.
Таблица 19 - Формирование стандартных скоростей обмена по последовательному порту
В таблице 20 приведена сводная информация по всем четырем режимам работы последовательного порта ОМЭВМ семейства МК51.
Таблица 20 - Сводная информация по всем режимам работы последовательного порта
4.3.5 Пример программирования последовательного порта омэвм
Исходные данные для программирования:
Скорость обмена – 110 бит/с (бод);
fBQ = 6 МГц;
Режим работы последовательного порта - 3;
Режим работы T/C1 – 2;
Вид обмена – под управлением микропроцессора (программно-управляемый);
Бит SMODрегистраPCONсигналом "RESET" установлен в 0.
Ниже приведен пример программы инициализации последовательного порта и фрагменты программно-управляемого обмена:
; инициализация последовательного порта
; для работы со скоростью 110 бод на
; частоте тактового сигнала 6 МГц;
INT1: CLR TCON.6 ; останов таймера;
CLR IE.3 ; запрет прерываний от T/C1;
CLR IE.4 ; запрет прерываний от УАПП;
MOV TH1,#72H ; автозагружаемое значение для получения
; скорости 110 бод;
MOV SCON,#11011000B ; установка режима 9-разрядного УАПП;
MOV TMOD,#00100000B ; установка режима автозагрузки таймера 1;
SETB TCON.6 ; запуск таймера1;
; приём символа от внешнего устройства;
CIN: JNB RI,CIN ; ожидание завершения приёма;
MOV A,SBUF ; чтение полученного символа;
CLR RI ; очистка флага приёма;
; передача символа на внешнее устройство;
COUT: JNB TI,COUT ; ожидание окончания передачи предыдущего
; символа;
CLR TI ; очистка флага передачи;
MOV SBUF,A ; выдача символа.