Дисплей
Дисплей (рис. 8.11) представляет собой модель внешнего устройства, реализующую функции символьного дисплея. Дисплей может отображать символы, задаваемые ASCII-кодами, поступающими на его регистр данных. Дисплей включает: □ видеопамять объемом 128 слов (ОЗУ дисплея); □ символьный экран размером 8 строк по 16 символов в строке; □ четыре программно-доступных регистра:
• DR (адрес 0) — регистр данных; • CR (адрес 1) — регистр управления; • SR (адрес 2) — регистр состояния; • AR (адрес 3) — регистр адреса. Рис. 8.11. Контроллер дисплея Через регистры адреса AR и данных DR по записи и чтению осуществляется доступ к ячейкам видеопамяти. При обращении к регистру DR по записи содержимое аккумулятора записывается в DR и в ячейку видеопамяти, адрес которой установлен в регистре AR. (Страница253) Регистр управления CR доступен только по записи и содержит в 4-м и 5-м разрядах соответственно два флага: □ E — флаг разрешения работы дисплея; при E=0 запись в регистры AR и DR блокируется; □ A — флаг автоинкремента адреса; при A=1 содержимое AR автоматически увеличивается на 1 после любого обращения к регистру DR — по записи или чтению. Изменить значения этих флагов можно, если записать по адресу CR (по умолчанию — 11) код ххх0nn, при этом изменение 4-го и 5-го разрядов регистра CR произойдет согласно выражению (8.1). Для программного управления дисплеем предусмотрены две команды, коды которых должны записываться по адресу регистра CR, причем в третьем разряде командных слов обязательно должна быть 1: □ xxx101 — очистить дисплей (действие команды эквивалентно нажатию кнопки Очистить в окне Дисплей),при этом очищается видеопамять (в каждую ячейку записывается код пробела — 032), устанавливается в 000 регистр адреса AR и сбрасываются флаги ошибки Err и автоинкремента A; □ ххх 102 — сбросить флаг ошибки Err. Рис 8.12. Окно обозревателя контроллера дисплея Регистр состояния SR доступен только по чтению и содержит единственный флаг (в пятом разряде) ошибки Err. Этот флаг устанавливается аппаратно при попытке записать в регистр адреса число, большее 127, причем как в режиме прямой записи в AR, так и в режиме автоинкремента после обращения по адресу 127. Сбрасывается флаг Err программно или при нажатии кнопки Очистить в окне Дисплей (рис. 8.12).
|