В результате выполнения программы все индикаторы дисплея гасятся.
ЗАДАНИЕ. Введите в память УМПК программу, которая выводит символ «H» в четвертую позицию дисплея.
000 |
9А |
FC |
ANL P2,#0FCH |
; |
Адрес ККД |
002 |
B8 |
FF |
MOV R0,#0FFH |
; |
Режим «Команда» (А0=1) |
004 |
23 |
84 |
MOV A,#84H |
; |
Запись команды «Запись |
006 |
90 |
MOVX @R0, A |
; |
в ОЗУ дисплея» |
|
007 |
C8 |
DEC R0 |
; |
Режим «Данные» (А0=0) |
|
008 |
23 |
76 |
MOV A,#76H |
; |
Запись 7-сегментного |
00A |
90 |
MOVX @R0, A |
; |
кода «Н» в память дисплея |
|
00B |
04 |
0B |
STOP: JMP STOP |
; |
Останов |
В результате выполнения программы в 4-ю слева позицию дисплея выводится символ «Н».
ЗАДАНИЕ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ. Напишите программу, в которой каждый новый символ, соответствующий коду нажатой клавиши, будет вводиться в следующую позицию дисплея. Возможный алгоритм такой программы приведен на рис. 27.
Указание. Таблицу кодов семисегментных символов (для перекодировки) целесообразно разместить на 3-ей странице памяти команд.
Для того, чтобы рассмотреть следующий пример, необходимо предварительно заполнить память дисплея какими-нибудь символами, например, используя рассмотренное выше задание очистки дисплея (заменить по адресу 008H команду MOV A, #00H на команду MOV A, #data; в качестве data можно использовать код любого семисегментного символа из табл. 8).
ЗАДАНИЕ. Введите в память УМПК программу, которая считывает байт данных из третьей ячейки памяти дисплея и помещает его в регистр R3.
010 |
9А |
FC |
ANL P2,#0FCH |
; |
Адрес ККД |
012 |
B8 |
FF |
MOV R0,#0FFH |
; |
Режим «Команда» (А0=1) |
014 |
23 |
63 |
MOV A,#063H |
; |
Запись команды «Чтение |
016 |
90 |
MOVX @R0, A |
; |
ОЗУ дисплея» |
|
017 |
C8 |
DEC R0 |
; |
Режим «Данные» (А0=0) |
|
018 |
80 |
MOVХ A, @R0 |
; |
Чтение 3-ей ячейки памяти |
|
019 |
АВ |
MOV R3, A |
; |
дисплея и сохранение ее в R3 |
|
01А |
04 |
1А |
STOP: JMP STOP |
; |
Останов |
В результате выполнения программы в R3 будет загружен код символа из 3-ей ячейки памяти дисплея.
|
||||
Примечание. Перед выполнением программы необходимо убедиться, что переключатель S1.2 замкнут (в верхнем положении).
Рис. 27. Алгоритм программы вывода на дисплей символов нажимаемых клавиш
3.3.2.Изучение команд «Программная очистка» и «Управление бланкированием/запрещение записи в ОЗУ дисплея»
Если дисплей используется как двойной 4-позиционный, то удобно маскировать одну из тетрад, чтобы работа процессора с одной тетрадой не отражалась на другой. Это реализуется при помощи команды «Управление бланкированием/запрещение записи в ОЗУ дисплея» (ее формат показан на рис. 24). На выходах DА или DВ устанавливается специальный бланкирующий код. Содержимое памяти дисплея при этом не изменяется. Если дисплей используется как единый 8-позиционный, то необходимо устанавливать бланкирующий код на обоих выходах.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.