После общего сброса контроллера бланкирующий код устанавливается равным 00Н.
Процедура сброса памяти дисплея осуществляется командой «Программная очистка» путем заполнения кодами бланкирования (см. рис. 19, табл. 6). Процедура продолжается примерно 200 мкс. В это время память дисплея недоступна, на что указывает установленный в «1» старший бит байта состояния контроллера (DU).
ЗАДАНИЕ. Введите в память УМПК программу, которая выполняет следующую последовательность действий:
1) очистка памяти дисплея;
2) запись в 4-ую ячейку ОЗУ символа «–»;
3) запрет записи в ОЗУ дисплея;
4) запись в 4-ую ячейку ОЗУ символа «8.» (двоичный код FFH – все сегменты включены).
000 |
9А |
FC |
ANL P2,#0FCH |
; |
Адрес ККД |
002 |
B8 |
FF |
MOV R0,#0FFH |
; |
Режим «Команда» (А0=1) |
004 |
23 |
CO |
MOV A,#0C0H |
; |
Запись команды «Программная |
006 |
90 |
MOVX @R0, A |
; |
очистка» (код бланкирования–00H) |
|
007 |
BF |
40 |
MOV R7,#40H |
; |
Запись символа «–» |
009 |
14 |
20 |
CALL WR4 |
; |
в 4-ую ячейку ОЗУ дисплея |
00B |
18 |
INC R0 |
; |
Режим «Команда» (А0=1) |
|
00C |
23 |
AC |
MOV A,#0ACH |
; |
Запись команды «Управление бланкированием/ запрещение |
00E |
90 |
MOVX @R0, A |
; |
записи в ОЗУ дисплея» |
|
00F |
BF |
FF |
MOV R7,#0FFH |
; |
Запись символа «8.» |
011 |
14 |
20 |
CALL WR4 |
; |
в 4-ую ячейку ОЗУ дисплея |
013 |
04 |
13 |
SТОP: JMP STOP |
; |
Останов |
; подпрограмма записи данных в 4-ую ячейку ОЗУ |
|||||
020 |
B8 |
FF |
WR4: MOV R0,#0FFH |
; |
Режим «Команда» (А0=1) |
022 |
23 |
84 |
MOV A,#84H |
; |
Запись команды «Запись |
024 |
90 |
MOVX @R0, A |
; |
в ОЗУ дисплея» |
|
025 |
C8 |
DEC R0 |
; |
Режим «Данные» (А0=0) |
|
026 |
FF |
MOV A,R7 |
; |
Запись символа из регистра R7 |
|
027 |
90 |
MOVX @R0, A |
; |
в 4-ую ячейку ОЗУ |
|
028 |
83 |
RET |
; |
Возврат |
Выполните программу в пошаговом режиме и убедитесь, что на дисплее остался символ «–» в 4-ой позиции. После этого дисплей блокирован. Для того, чтобы продолжить работу, нужно, убедившись, что переключатель S7.1 находится в верхнем (замкнутом) положении, произвести сброс УМПК.
3.4. Изучение слова состояния ККД
Слово состояния ККД (см. рис. 14) используется в режиме клавиатуры и стробируемого ввода для отображения числа введенных символов и индикации ошибки. Возможны два вида ошибок: переполнение и переопустошение. Флаг переполнения «O» устанавливается, когда делается попытка записи в заполненную память клавиатуры. Флаг переопустошения «U» устанавливается, если была попытка считывания из пустой памяти клавиатуры. Кроме того, байт состояния имеет также бит DU, показывающий, что дисплей недоступен из-за того, что не завершена очистка памяти дисплея. В специальном режиме ошибки бит S/Е является флагом ошибки и указывает на совместное нажатие клавиш. В режиме опроса восьми восьмиразрядных портов этот бит показывает, что имеется хотя бы один «замкнутый» (нулевой) датчик.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.