ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.02.2020
Просмотров: 2344
Скачиваний: 5
Система команд ОМЭВМ позволяет считывать информацию с фиксатор защелки порта или непосредственно с выхода, в зависимости от кода инструкции. .
В инструкциях, в которых порт служит операндом-источником, информац считывается непосредственно с выводов порта, например ADD A, PI: содержим аккумулятора складывается с информацией на выводах порта Р1 и резулы заносится в аккумулятор.
Во всех случаях, когда операндом и регистром назначения является порт и бит порта, команды считывают информацию с выходов фиксаторов-защелок, a Htj внешних контактов выводов порта. Например, ORL P2, A. J
На рис. 2.17в показана диаграмма работы с портами, из которой видно, в как! моменты времени информация вводится с выводов портов в ОМЭВМ и в как|
моменты происходит смена информации на портах, работающих на вывод, при выполнении команд MOV PORT, SRC (SRC — операнд-источник).
2.3.3. Работа с последовательным портом
Последовательный порт ОМЭВМ может использоваться в виде регистра сдвига для расширения ввода-вывода или в качестве универсального асинхронного приемопередатчика (УАПП) с фиксированной или переменной скоростью последовательного обмена и возможностью дуплексного включения (т.е. через последовательный порт можно принимать и передавать данные одновременно). Последовательный порт может принимать очередной байт даже если уже принятый до этого байт не был прочитан из регистра приемника. Однако, если до окончания приема находящийся в регистре приемника байт не будет прочитан, принятый байт теряется. Программный доступ к регистрам приемника и передатчика осуществляется обращением к регистру специальных функций SBUF. При записи в SBUF байт загружается в регистр передатчика, а при чтении SBUF байт читается из регистра приемника.
Рис. 2.176. Временные диаграммы работы последовательного канала в режиме сдвигового регистра
Таблица 2.17 а. Временные параметры при работе последовательного канала в режиме сдвигового регистра
|
Ном. |
Наименование параметра, единица измерения |
Буквенное обозначение |
Значение параметров |
|
|
Не менее |
Не более |
|||
|
1. |
Период следования импульсов тактовых сигналов BQ, не |
Т^ |
83,3 |
286 |
|
2 |
Время цикла, не г |
^Y |
12t |
- |
|
3 |
Время задержки сигнала TxD относительно сигнала RxD |
^(RxD-TxD) |
10Г-133 |
- |
|
4 |
Время задержки сигнала RxD относительно сигнала TxD |
^(TxD-RxD) |
2r-117 |
- |
|
5 |
Время установления сигнала RxD относительно сигнала TxD |
^(RxD-TxD) |
- |
2t+133 |
|
6 |
Время сохранения сигнала RxD относительно сигнала TxD |
^(TxD-RxD) |
0 |
- |
D — период, в течение которого информация вводится с соответствующего входа в ОМЭВМ Рис. 2.17 в. Диаграмма работы с портами
Прием и выдача байта данных начинается с младшего разряда и заканчивав старшим разрядом. Для разрешения приема необходимо установить 1 в разряде I регистра управления SCON (регистр SCON описан в разделе 2.2.3).
Последовательный порт может быть запрограммирован на один из четы режимов приема/передачи путем программирования разрядов SM0 и SM1 регис SCON. Во всех четырех режимах передача инициируется любой командой, кото использует SBUF в качестве регистра назначения (выполняет операцию "Запис SBUF"). Прием в режиме 0 инициируется одновременным выполнением уело REN==1 и RI=0 (REN и RI — разряды регистра управления SCON). В осталы режимах прием инициируется приходом старт-бита (нулевой уровень) при REN=1
В режиме 0 последовательный порт работает как восьмиразрядный сдвиго] регистр. При этом 8 бит информации в последовательном коде принимаютс;
передаются через двунаправленный вывод RxD. На выводе TxD формируется сиг синхронизации сдвигов.
Скорость (частота) приема/передачи в режиме 0 постоянна и состав;
fgQ/12, где гро — частота синхронизации ОМЭВМ.
Временные диаграммы, иллюстрирующие работу последовательного порт режиме 0, показаны на рис. 2.18. Все изображенные на рис. 2.18 сигналы исключением RxD и TxD являются внутренними сигналами ОМЭВМ.
Передача начинается любой командой, которая использует SBUF в кач& регистра назначения (выполняет операцию "запись в SBUF").
При выполнении такой команды в фазе S6P2 вырабатывается внутрен импульс ЗАПИСЬ В SBUF, по которому предназначенный к передаче ( записывается в регистр сдвига передатчика и запускается блок управле передачей. Внутренняя система тактирования ОМЭВМ организована так, что ме сигналом ЗАПИСЬ В SBUF и началом передачи проходит один полный машин цикл, после чего вырабатывается внутренний сигнал ПОСЫЛКА, разрешающий вы;
содержимого регистра сдвига передатчика на выход RxD (вывод РЗ. 0 OM3BN импульсов синхронизации сдвига (СИНХР СДВИГ на рис. 2.18) на выход TxD (вь РЗ. 1 ОМЭВМ). Сигнал СИНХР СДВИГ имеет низкий уровень в состояниях S3, S S5 каждого машинного цикла и высокий уровень в состояниях S6, S1 и S2. В ( S6P2 каждого машинного цикла, в котором сигнал ПОСЫЛКА активен, формиру внутренний импульс СДВИГ, по которому содержимое регистра сдвига передат сдвигается на одну позицию и на выходе RxD выставляется очередной передаваемой посылки. Всего формируется восемь импульсов СДВИГ, после "блок управления передачей снимает сигнал ПОСЫЛКА и устанавливает <
прерывания передатчика TI (разряд в регистре SCON). Оба эти действия выполняются в фазе S1P1 10-го машинного цикла после сигнала ЗАПИСЬ В SBUF.
Прием начинается при одновременном выполнением двух условий: REN=1 и RI=0. В фазе S6P2 следующего машинного цикла блок управления приемом вырабатывает внутренний сигнал ПРИЕМ, разрешающий выдачу импульсов СИНХР СДВИГ на выход ОМЭВМ TxD. Импульсы СИНХР СДВИГ меняют свое состояние в фазах S3P1 и S6P1. Биты принимаемой посылки через вход RxD поступают на регистр сдвига приемника. Состояние входа RxD опрашивается в фазе S5P2. В фазе S6P2 каждого машинного цикла, в котором сигнал ПРИЕМ активен, формируется внутренний импульс СДВИГ и содержимое регистра сдвига приемника сдвигается влево на одну позицию. Значение, которое при этом записывается в его крайний правый разряд, является значением сигнала на входе RxD, полученным в фазе S5P2 этого же машинного цикла. Всего формируется восемь импульсов СДВИГ, [после чего блок управления приемом формирует сигнал загрузки содержимого ^регистра сдвига приемника в SBUF. В фазе S1P1 10-го машинного цикла после [записи в SCON, сбросившей RI в 0, сигнал ПРИЕМ сбрасывается и устанавливается флаг прерывания приемника RI (бит в регистре SCON).
154 ГЛАВА 2
В режиме 1 прием/передача данных осуществляется в формате восьмиразрядного УАПП. Через TxD передаются, а через RxD принимаются 10 бит! старт-бит (0), 8 бит данных и стоп-бит (1). При приеме стоп-бит заносится в бит RB8 регистра SCON. Скорость (частота) приема/передачи определяется частотой переполнении Таймера/Счетчика 1 fov I
На рис. 2.19 показаны схема синхронизации и временные диаграммы;
иллюстрирующие работу последовательного порта в режиме 1.
В зависимости от состояния бита SMOD регистра PCON частота fi=fov "P^ SMOD=1 и fi=fov/2 при SMOD=0. Частота fi делится на 16 для получения сигнало! синхронизации передачи СИНХР Тх и приема СИНХР rx.
Рис. 2.19. Работа последовательного порта в режиме 1
Передача инициируется любой командой, использующей SBUF в качест регистра назначения, в который производится запись. Вырабатываемый при эт< внутренний импульс ОМЭВМ ЗАПИСЬ В SBUF загружает предназначенный передаче байт в младшие 8 разрядов регистра сдвига передатчика и инициир^ начало работы блока управления передачей. В режиме 1 регистр сдвига передатчи имеет 9 разрядов и в его 9-й разряд по импульсу ЗАПИСЬ В SBUF заносится " (стоп-бит).