Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессорная техника. Учебное пособие
.pdf
Рис. 4.3. Управляющее слово БИС КР580ВВ55
При D7= 1 ППИ можно настроить на работу в одном из режимов (0,1,2).
При D7= 0 ППИ будет переведен в режим установки нуля или единицы
в требуемом разряде канала С. В этом режиме управляющее слово будет
выглядеть следующим образом:
D7 D6 D5 D4 D3 D2 D1 D0
0 x x x 1 1 0 1
№ требуемого разряда порта С что установить (0 или 1), задан в двоичной
форме номер шестого разряда канала С, при подаче такого управляющего
слова в шестом разряде канала. С установится единица.
4.2. Режимы работы программируемого параллельного интерфейса
В режиме 0 информация, поступающая на БИС КР580ВВ55 с шины
данных, запоминается в буферном регистре соответствующего канала и сразу
же передается на его выходы. При вводе информации с каналов без А, В, С
записывается в буферные регистры этих каналов без стробирования и далее при
поступлении сигнала RD передаются на шину данных DB.
В режиме 0 направление передачи определяется отдельно для каждого
из каналов.
Режимы работы каналов А и В могут быть заданы независимо друг
от друга. Канал С делится на две части РС 7- РС 4 и РС 3 - РС 0, режимы
работы которых определяются соответственно режимами работы каналов А
и В, если последние работают в режиме 1 или 2.
61

Если каналы А и В работают в режиме 0, каждая половина канала
С может работать как отдельный канал в режиме 0. Режим 0 позволяет
организовать синхронный обмен информации между МП и внешними
устройствами.
Режим 0 – в этом режиме каждый порт ППИ работает автономно
и может быть настроен на ввод или вывод информации. Порт С дополнительно разделен на два порта по четыре разряда, при этом эти половины
также могут быть настроены на ввод или вывод информации
Режим 1 – в этом режиме ППИ обеспечивает стробируемый
однонаправленный обмен информацией с внешних устройств (ВУ).
Передача данных осуществляется по портам А и В, а линии порта
С являются служебными и управляют процессом передачи информации.
В этом режиме предусмотрены три варианта настройки.
Рис. 4.4. Составление управляющего слова
Ввод данных.
Информация принимается по портам РА и РВ, а разряды порта РС
управляют процессом передачи данных путем генерации следующих
сигналов представлен на рис.4.5.
62

Рис. 4.5. Ввод данных
STB – строб приема – входной сигнал от ВУ, указывает на готовность
ВУ передать информацию;
INTR (запрос прерывания) – выходной сигнал на микропроцессор,
позволяющий вызвать подпрограмму (в режиме прерывания) для приема
данных от внешнего устройства.
IBF – подтверждение приема – выходной сигнал на ВУ, указывающий
на окончание приема данных.
Вывод данных.
Информация выдается по портам РА и РВ, а разряды порта РС
управляют процессом передачи данных путем генерации следующих
сигналов представлен на рис.4.6.
ОBF – выходной сигнал на ВУ, указывающий на готовность вывода
информации от микропроцессора.
INTR - выходной сигнал на микропроцессор, вызывающий подпрограмму в режиме прерывания для выдачи данных.
ACK - входной сигнал от ВУ, подтверждающий прием данных.
Ввод /вывод данных.
Информация выдается по порта РА и принимается по порту РВ, а разряды
порта РС управляют процессом передачи данных путем генерации сигналов,
аналогичных предыдущим вариантам настройки.
Рис. 4.6. Вывод данных
63

Рис. 4.7. Ввод/вывод данных
Режим 2 – в этом режиме ППИ обеспечивает двунаправленную передачу информации по порту РА. Управление такой передачей осуществляется
разрядами порта РС. Свободные линии остальных портов, могут работать
в нулевом или в первом режиме.
В качестве примера рассмотрим обмен между клавиатурой и индикаторами Ввод информации с клавиш в МП и вывод информации на индикаторы
пульта осуществляется через БИС программируемого интерфейса КР580ВВ55.
Все три канала БИС А, В, С работают в режиме 0 .
Каналы А и В задействованы на программный вывод информации для
управления индикацией. Выходные сигналы канала А использованы для
подачи напряжения на объединенные 8 катодов - сегментов.
Канал С задействован на программный ввод информации с восьми
клавиш. Сигналы от 8 клавиш преобразуется шифратором в 8-разрядный
код (таблица 3) и поступают на вход канала С. Расположение катодов –
сегментов на индикаторе показано на рис. 4.8.
Таблица 4.4.
Коды нажатых клавиш
Код Клавиша Код Клавиша
FF Не нажата никакая клавиша EF 5
FE 1 DF 6
FD 2 BF 7
FB 3 7F 8
F7 4
Шесть семи сегментных знаков индикатора АЛС324Б по схеме с общим
анодом индицируют цифру или букву латинского алфавита при определенных
сочетаниях высокого уровня напряжения на катодах индикатора и низкого
уровня напряжения анода выбранной цифры (позиции дисплея).
64

Рис. 4.8. Расположение катодов-сегментов на индикаторе
Одноименные катоды всех индикаторов соединены между собой и подключены к семи разрядам канала В. Анод каждого индикатора подключен к выходу
конкретного разряда канала А .
Схема подключения индикаторов и клавиатуры к УМК через БИС
КР580ВВ55 представлена на рис. 4.9.
65

66
Рис. 4.9. Схема подключения индикаторов и клавиатуры к УМК через БИС КР580ВВ55.

Коды знаков приведены в таблице 4.3. Адреса портов ввода/вывода
соответствующих каналам и регистрам КР580ВВ55 приведены в таблице 4.5
и адреса портов в таб. 4.6.
Таблица 4.5
Сегментные коды знаков
Знак Шестнадцатеричный код Знак Шестнадцатеричный код
0 3F 9 6F
1 06 A 77
2 5B B 7C
3 4F c 39
4 66 D 6E
5 6D E 79
6 7D F 71
7 07 H 76
8 7F ? 53
Таблица 4.6
Адреса портов ввода/вывода
БИС Порт Адрес порта
КР580ВВ55 (в УМК) A
B
C
РУС
F8
F9
FA
FB
Память микро-ЭВМ, построенной на основе МПК серии К580 может быть
не более 65536 однобайтных ячеек, учитывая ограниченные возможности памяти при разработке программ, нужно стараться сделать их как можно короче.
С этой целью часть программы, которая неоднократно повторяется, или программа, которая часто используется, могут быть оформлены в виде подпрограмм.
Подпрограмма – это последовательность команд, которая может быть
вызваны из любого места программы любое количество раз.
Процесс передачи управления к подпрограмме называется ее вызовом.
Данные и адреса, требуемые для работы подпрограммы, называются входными
параметрами.
Результаты работы подпрограммы, передаваемые по окончании ее работы
в основную программу, называются выходными параметрами.
Для вызова подпрограммы и возврата из них используются команды
CALL < A1> <A2> и RET
Команда CALL<A1><A2> загружает в программный счетчик МП
БИС содержимое байтов <A2> <A1>, следующих за кодом команды CALL.
Содержимое байта <A2> записывается в младший байт PCL программного
67

счетчика, а байт <A1> в старший байт РСН программного счетчика, при
этом МП БИС автоматически сохраняет в стеке адрес основной программы,
к которому она будет обращаться после выполнения программы (рис 1а.).
Стек – специально организованная область ОЗУ, используемая микроЭВМ для временного хранения данных или адресов. Число, записанное
в стек последним, извлекается из него первым.
Команда RET помещает в программный счетчик число, адрес которого
записан в данный момент в указателе стека SP. После этого выполнение
программы будет осуществляться с этого адреса. Любая программа должна
кончаться командой RET.
Автоматическое сохранение и восстановление адреса основной программы при выполнении подпрограммы позволяет сделать подпрограммы вложенными, т.е. осуществлять вызов одной подпрограммы из другой. Уровень
вложенности для данной микро-ЭВМ определяется лишь размером стека.
Существуют также команды условного вызова подпрограммы и возврата из них. Они позволяют вызвать подпрограмму и возвратиться из нее
по определенному состоянию заданных разрядов регистра признаков (аналогично командам условных переходов).
Команда специального ветвления CALL используется для перехода от
основной программы к подпрограмме. Она сочетает переход и помещение
в стек данных адреса возврата. Более подробно эту команду разберем при
изучении подпрограмм.
Помимо команд вызова подпрограмм и возврата из них со стеком можно обмениваться информацией с помощью команд PUSH<RP> ( з а п и с ы в а т ь
в стек содержимое регистровой пары) и POP<RP> (записывать данные из
стекав обозначенную регистровую пару МП БИС). Эти команды являются
однобайтными. Если в качестве регистровой пары <RP> в этих командах
указывается PSW (Prosessor Status Word – Слово состояние процессора) ,
то записываться в стек или из стека будут аккумулятор А и флаговый регистр
F микропроцессора.
При записи содержимого пары регистров или программного счетчика
в стек по адресу SP-1 записывается содержимое старшего регистра из
ука-занной пары или старший байт PCH программного, а по адресу SP-2
в стек записывается содержимое младшего регистра из указанной пары
или содержимое младшего байта PCL программного счетчика.
При записи из стека данных в пару регистров или программный
счетчик в младший регистр пары или PCL записывается число с адреса,
указанного в SP, а в старший регистр или PCH - число, записанное по
адресу SP + 1. В результате выполнения команды содержимое указателя стека
SP увеличивается на 2. Данные в памяти не изменяются, а лишь происходит
их чтение и увеличение содержимого SP (рис. 4.10б).
68

Рис. 4.10 (а, б). Изменение содержимого указателя стека
Таким образом, при записи данных адреса стека изменяются от больших к меньшим, а указатель стека SP всегда содержит последний адрес
стека, в котором записано число.
При разработке программ необходимо первоначально назначить
область стека, записывая в SP адрес с помощью команды LXI SP, <A2>
<A1> или команды SPHL.
Все операции со стеком должны быть сбалансированы, т.е. каждая
подпрограмма должна содержать равное количество команд PUSH<R>
и POP<R> и оканчиваться командой RET. В противном случае выполнение команды RET в конце подпрограммы приведет к записи в программный
счетчик случайного числа из стека. Адрес возврата в основную программу
будет потерян, что приведет к нарушению последовательности ее выполнения.
Как правило, в начале каждой подпрограммы сохраняют в стеке содержимое
всех задействованных при ее выполнении регистров с помощью команды
PUSH<R>. В конце подпрограммы восстанавливают содержимое регистров
с помощью команд POP<R>. Восстановление содержимого должно осуществляться в обратной последовательности по отношению к их записи в стек.
Пример программы, организованной в стеке приведена в таблице 4.7.
69

Таблица 4.7
Подпрограмма временной задержки в стеке
Адрес Метка Мнемокод Операнд Код Комментарии
DLY: ;П/п временной задержки
800 PUSH PSW F5 ;Запись в стек слова состояния процессора
801 MOV A,B 78 ;Задать значение счетчика
802 DL1: NOP 00 ;Пустая операция
805 DCR A 3D ;Значение счетчика=0?
806 JNZ DL1 C2 ;Нет, переход на M1.
807 02
808 08
809 POP PSW F1 ;Восстановить состояние
80A RET C9 ;Возврат из подпрограммы
4.3. Задание к лабораторной работе
4.1. Изучить работу БИС КР580ВВ55 в режиме 0.
4.2. Изучить назначение каждого разряда управляющего слова, задаю-
щего режимы работы БИС КР580ВВ55.
4.3. Составить программу по заданию преподавателя :
4.5. Программа вывода символа в позицию дисплея, заданную нажа-
той клавишей.
4.6. Программа «Бегущая строка». Бегущий символ
4.7. Программа, заполняющую дисплей символами.
4.4. Содержание отчета
1. Отчет по лабораторной работе оформляется в тетради для лабора-
торных работ.
2. Отчет по лабораторной работе составляется каждым обучающимся.
3. Структура отчета по лабораторной работе:
4. Перечень команд ввода - вывода для МП КР580ИК80А.
5. Программы
6. Виды управляющих слов для БИС КР580ВВ55.
4.5. Порядок защиты лабораторной работы
Обучающийся, выполнивший лабораторную работу. Оформивший по
ней отчет, допускается к защите лабораторной работы.
Защита лабораторной работы проводится по мере её выполнения в
часы занятий, отведенных на выполнение лабораторной работы.
Опрос преподавателем проводится в рамках темы лабораторной работы.
Обучающиеся, не защитившие лабораторную работу допускаются
к следующей
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
