- •Микропроцессорные устройства
- •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.1 Работа последовательного порта в режиме 0
В режиме 0 последовательный порт работает как восьмиразрядный регистр сдвига. При этом 8 бит информации в последовательном коде принимаются и передаются через двунаправленный вывод RxD. На выводе TxD формируется сигнал синхронизации сдвигов.
Скорость (частота) приема/передачи в режиме 0 постоянна и составляет fBQ/12, где fBQ – частота синхронизации ОМЭВМ.
Временные диаграммы, иллюстрирующие работу последовательного порта в режиме 0, показаны на рисунках 15, 16. Все изображенные на этих рисунках сигналы, за исключением RxD и TxD, являются внутренними сигналами ОМЭВМ.
Рисунок 14 - Передача в режиме 0
Рисунок 15 - Прием в режиме 0
4.3.1.1 Передача в режиме 0
Передача начинается любой командой, которая использует SBUF в качестве регистра назначения (выполняет операцию "запись в SBUF") (рисунок 15).
При выполнении такой команды в фазе S6P2 вырабатывается внутренний импульс ЗАПИСЬ В SBUF, по которому предназначенный к передаче байт записывается в регистр сдвига передатчика и запускается блок управления передачей. Внутренняя система тактирования ОМЭВМ организована так, что между сигналом ЗАПИСЬ В SBUF и началом передачи проходит один полный машинный цикл, после чего вырабатывается внутренний сигнал ПОСЫЛКА, разрешающий выдачу содержимого регистра сдвига передатчика на выход RxD (вывод Р3.0 ОМЭВМ) и импульсов синхронизации сдвига (СИНХР СДВИГ на рисунке 15) на выход TxD (вывод Р3.1 ОМЭВМ). Сигнал СИНХР СДВИГ имеет низкий уровень в состояниях S3, S4 и S5 каждого машинного цикла и высокий уровень в состояниях S6, S1 и S2. В фазе S6P2 каждого машинного цикла, в котором сигнал ПОСЫЛКА активен, формируется внутренний импульс СДВИГ, по которому содержимое регистра сдвига передатчика сдвигается на одну позицию и на выходе RxD выставляется очередной бит передаваемой посылки. Всего формируется восемь импульсов СДВИГ, после чего блок управления передачей снимает сигнал ПОСЫЛКА и устанавливает флаг прерывания передатчика TI (разряд в регистре SCON). Оба эти действия выполняются в фазе S1P1 10-го машинного цикла после сигнала ЗАПИСЬ В SBUF. По прерыванию (TI = 1) прерывается основная программа, вызывается подпрограмма, которая сбрасывает флаг TI и записывает очередной передаваемый байт в SBUF
4.3.1.2 Приём в режиме 0
Прием начинается при одновременном выполнением двух условий: REN = 1 и RI = 0 (рисунок 16). В фазе S6P2 следующего машинного цикла блок управления приемом вырабатывает внутренний сигнал ПРИЕМ, разрешающий выдачу импульсов СИНХР СДВИГ на выход ОМЭВМ TxD. Импульсы СИНХР СДВИГ меняют свое состояние в фазах S3P1 и S6P1 и синхронизируют моменты поступления посылок на вход ПРМ. Биты принимаемых посылок через вход RxD поступают на регистр сдвига приемника. Состояние входа RxD опрашивается в фазе S5P2. В фазе S6P2 каждого машинного цикла, в котором сигнал ПРИЕМ активен, формируется внутренний импульс СДВИГ и содержимое регистра сдвига приемника сдвигается влево на одну позицию. Значение, которое при этом записывается в его крайний правый разряд, является значением сигнала на входе RxD, полученным в фазе S5P2 этого же машинного цикла. Всего формируется восемь импульсов СДВИГ, после чего блок управления приемом формирует сигнал загрузки содержимого регистра сдвига приемника в SBUF. В фазе S1P1 10-го машинного цикла после записи в SCON, сбросившей RI в 0, сигнал ПРИЕМ сбрасывается и устанавливается флаг прерывания приемника RI (бит в регистре SCON). Далее по RI = 1 выполняется прерывание основной программы, вызывается подпрограмма, которая сбрасывает флаг RI и читает принятый байт из буфера ПРМ.