Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессорная техника. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Рис. 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]