Исследование методов передачи информации между микроЭВМ с помощью стандартных интерфейсов ИРПС и С2 (Лабораторная работа № 21), страница 3

Драйвер состоит из четырех подпрограмм, блок-схемы их алгоритмов приведены на рис. 2 – 4. Программы INIT1 и INIT2 производят инициализацию ПСА путем загрузки в РУС инструкции режима и инструкции команды. Инструкция режима предписывает работать в асинхронном режиме с восьмибитными символами без контроля паритета, с двумя стоп-битами и коэффициентом деления частоты синхронизации, равным 1:16. Инструкция команды в INIT1 разрешает передачу, а в INIT2 - прием данных.

 


Рис. 2. Блок-схема алгоритма подпрограммы инициализации УСАПП

Программа OUTPUT1 осуществляет вывод символа, который должен быть предварительно помещен в регистре C микропроцессора. В начале программы организован цикл ожидания готовности передатчика путем чтения слова состояния УСАПП. Когда передатчик готов к работе, в разряде D0 устанавливается 1 (TxRDY=1). После этого выводимый символ записывается программой в регистр данных УСАПП.

 


Рис. 3. Блок-схема алгоритма подпрограммывывода символа

Программа INPUT2 осуществляет ввод символа. В начале программы определяется готовность приемника путем чтения слова состояния УСАПП. Когда приемник готов к приему данных, в разряде D1 устанавливается 1 (RxRDY=1). Затем вводимый символ читается из регистра данных УСАПП.

 


Рис.4. Блок-схема алгоритма подпрограммы ввода символа

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

3.1. Установка частоты передачи данных по ИРПС

3.1.1. Рассчитайте частоту f работы генератора синхронизирующих импульсов, которая обеспечивает скорость передачи данных 1200 Бод.

Примите, что при инициализации УСАПП инструкция режима устанавливает коэффициент деления частоты синхронизации, равный 1:16.

3.1.2. Включите электропитание УМК и измерьте частоту тактовых импульсов F2ттл микроЭВМ УМК стороны 1 и стороны 2. В дальнейшем они будут обозначаться как УМК1 и УМК2. Для измерения частоты используйте частотомер (или осциллограф), входы которого надо подключить к гнездам Гн1 и Гн4 на платах ТЭЗов УМК1 и УМК2.

3.1.3. Напишите программу TIMER настройки счетчика CT0 таймера на режим 3 - генератора импульсов. Число N, которое необходимо загрузить в счетчик, определяется из соотношения:

где f   и  Tc  - частота и период синхронизирующих импульсов, определенных в п.3.1.1.

Программу начните с адреса 0800H. Не забудьте завершить программу командой RST 7.

3.1.4. Занесите программу TIMER в память УМК1 и УМК2 и запустите ее. Измерьте частоту f  синхроимпульсов на УМК1 и УМК2, подключив входы частотомера (осциллографа) к гнездам Гн.2 и Гн.4 каждого ТЭЗа.

В случае различия частот f передатчика и приемника более, чем на 5%, сделайте корректировку путем изменения числа N в программе TIMER одного из ТЭЗов.

3.2. Исследование осциллограмм сигналов линии связи

3.2.1. Напишите подпрограммы драйвера ИРПС для передатчика – INIT1, OUTPUT1 и для приемника – INIT2, INPUT2, используя блок-схемы алгоритмов, приведенных на рис. 2 - 4. Инструкция режима должна предписывать УСАПП работать в асинхронном режиме с восьмибитными символами без контроля паритета, с двумя стоп-битами и коэффициентом деления частоты синхронизации, равным 1:16. Подпрограммы начните с адреса 0820H.

Занесите программы в память УМК1 и УМК2.

3.2.2. Разработайте программу PROG, которая осуществляет бесконечный цикл вывода символа из регистра C и передачу его в линию связи. Блок-схема программы приведена на рис. 5. Программу начните с адреса 0900H. Задержка DELAY служит для разделения во времени кодовых посылок в линии, что удобно для наблюдения. Для реализации DELAY используйте цикл декремента регистровой пары DE, предварительно загрузив в нее число 05FFH (подбирается экспериментально). Занесите программу PROG в память УМК1.