В УМПК-48 для обращения к ККД (CS=0) необходимо на линии Р2.1 ОЭВМ установить уровень логического «0». ККД подключен к ОЭВМ как внешняя память данных, поэтому адрес обращения к ККД необходимо заносить в регистр R0. Если производится запись команды (управляющего слова ККД) или чтение слова состояния, то в R0 заносится код 0FFH (INS/D=1), если производится запись или чтение данных, то в R0 заносится код 0FEH (INS/D=0). Обмен данными между ОЭВМ и ККД производится посредством команд MOVX.
При включении питания происходит сброс ККД в начальное состояние. При этом устанавливаются следующие режимы работы ККД:
- дисплей на 16 знакомест с вводом слева;
- клавиатура в режиме одиночного нажатия клавиш (две клавиши блокируются);
- сканирование в режиме 4-битного двоичного счетчика (кодирование линий SL0.. SL3).
Так как в УМПК-48 используется только 6-разрядный дисплей, то целесообразно использовать режим дисплея на 8 знакомест. К линиям SL0.. SL2 ККД подключен дешифратор (см. рис. 25), поэтому сканирование необходимо вести в режиме 4-битного двоичного счетчика. Клавиатура используется в режиме одиночного нажатия клавиши. На вход CLK ККД подаются синхроимпульсы с выхода ALE ОЭВМ, частота которых равна:
.
Расчетная формула для определения частоты регенерации дисплея (т.е. частоты на выходах дешифратора сканирующих линий, см. рис. 25):
Так как внутренняя частота не должна превышать 100 кГц, то минимальный коэффициент деления kдел min второй ступени делителя должен быть равен 4 (формат команды «Управление частотой сканирования» приведен на рис. 20).
Эти режимы устанавливаются программно программой МОНИТОР при включении питания УМПК-48.
ЗАДАНИЕ. Введите в память УМПК программу, которая настраивает ККД на работу в следующем режиме: дисплей на 8 символов с вводом слева; клавиатура в режиме одиночного нажатия клавиш; сканирование в режиме 4-битного двоичного счетчика; kдел = 31.
000 |
9А |
FC |
ANL P2, #0FCH |
; |
Адрес ККД |
002 |
В8 |
FF |
MOV R0, #0FFH |
; |
Режим «Команда» (А0=1) |
004 |
23 |
00 |
МOV A, #00H |
; |
Запись команды «Установка |
006 |
90 |
MOVX, @R0, A |
; |
режимов работы БИС» |
|
007 |
23 |
3F |
МOV A, #3FH |
; |
Запись команды «Управление |
009 |
90 |
MOVX, @R0, A |
; |
частотой сканирования»; kдел=31 |
|
00A |
04 |
0A |
STOP:JMP STOP |
; |
Останов |
После выполнения программы ККД будет настроен на работу в вышеперечисленных режимах. Убедитесь, что мерцание дисплея будет заметно для глаза. Занесите в ячейку 008H число 24H (kдел=4) и вновь выполните программу.
3.2. Изучение команд управления вводом информации
В табл. 5. перечислены режимы ввода информации в ККД. Применительно к УМПК-48 рассмотрим подробнее режимы работы клавиатуры.
1) Режим одиночного нажатия клавиш (две клавиши блокируются). Алгоритм опознания нажатия клавиш в этом режиме таков: если обнаружено нажатие одной клавиши, то в течение следующих двух циклов сканирования клавиатуры будет производиться проверка нажатия других клавиш. Если таких клавиш не будет, то нажатая клавиша признается единственной и ее код записывается в FIFO ввода. Если в течение этих двух циклов будет обнаружено нажатие еще одной клавиши, то в память клавиатуры не заносится код ни одной клавиши до тех пор, пока не будут освобождены все клавиши, кроме одной. После того как все, кроме одной, клавиши будут освобождены и не будут нажаты новые в течение двух циклов, код этой клавиши будет занесен в память клавиатуры. Код клавиши заносится в память клавиатуры один раз на каждое нажатие.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.