Файл: 1Описание Внешних устройств 2 2Контроллер клавиатуры. 3.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2023
Просмотров: 92
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Внешние устройства
1Описание Внешних устройств 2
2Контроллер клавиатуры. 3
3Дисплей. 7
4Блок таймеров. 9
5Тоногенератор. 12
При создании устройств можно изменять назначенные по умолчанию базовый адрес и вектор прерывания.В описываемой системе не предусмотрена возможность подключения в систему нескольких одинаковых устройств.Большинство внешних устройств содержит
Рис. 2. Контроллер клавиатурыРис. 2. Окно обозревателя контроллера клавиатурыРегистр данных DRдоступен только для чтения, через него считываются ASCII-коды из буфера, причем порядок чтения кодов из буфера соответствует порядку их записи в буфер — каждое чтение по адресу 0 автоматически перемещает указатель чтения буфера. В каждый момент времени DR содержит код символа по адресу указателя чтения буфера.Флаги регистра управления CRустанавливаются и сбрасываются программно;
) в том же регистре устанавливается при попытке ввода в буфер 51-го символа. Ввод 51-го и всех последующих символов блокируется.Сброс флага Rd осуществляется автоматически при чтении из регистра DR, флаг Err сбрасывается программно. Кроме того, оба эти флага сбрасываются при нажатии кнопки Очистить буфер в окне Контроллер клавиатуры; одновременно со сбросом флагов производится очистка буфера — весь буфер, заполняется кодами 00h, а указатели записи и чтения устанавливаются на начало буфера.Для программного управления контроллером предусмотрен ряд командных слов:
При обращении к регистру DR по записи содержимое аккумулятора записывается в DR и в ячейку видеопамяти, адрес которой установлен в регистре AR.Регистр управления CR доступен только для записи и содержит в 4-м и 5-м разрядах соответственно два флага:
Оглавление
1Описание Внешних устройств 2
2Контроллер клавиатуры. 3
3Дисплей. 7
4Блок таймеров. 9
5Тоногенератор. 12
-
Описание Внешних устройств
-
контроллер клавиатуры; -
дисплей; -
блок таймеров; -
тоногенератор,
| Внешнее устройство | Базовый адрес | Адреса регистров | Вектор прерывания |
| Контроллер клавиатуры | 0 | 0,1,2 | 0 |
| Дисплей | 10 | 0, 1, 2, 3 | Нет |
| Блок таймеров | 20 | 0, 1, 2, 3, 4, 5, 6 | 2 |
| Тоногенератор | 30 | 0,1 | Нет |
При создании устройств можно изменять назначенные по умолчанию базовый адрес и вектор прерывания.В описываемой системе не предусмотрена возможность подключения в систему нескольких одинаковых устройств.Большинство внешних устройств содержит
-
регистры управления CR, содержит флаги и поля, определяющие режимы работы ВУ -
регистры состояния SR, , содержит флаги, отражающие текущее состояние ВУ -
обычно регистры CR доступны только на запись, а SR — на чтение. -
Флаги SR устанавливаются аппаратно, но сбрасываются программно (или по внешнему сигналу). -
Поля и флаги CR устанавливаются и сбрасываются программно при записи кода данных в регистр CR или специальными командами.
-
интерпретирует код, записываемый по адресу CR как команду, если третий разряд этого кода равен 1, или как записываемые в CR данные, если третий разряд равен 0. -
в случае получения командного слова запись в регистр CR не производится, а пятый разряд слова рассматривается как код операции.
-
Контроллер клавиатуры.
-
DR (адрес 0) — регистр данных; -
CR (адрес 1) — регистр управления, определяет режимы работы контроллера и содержит следующие флаги:
-
Е — флаг разрешения приема кодов в буфер; -
I — флаг разрешения прерывания; -
S — флаг режима посимвольного ввода.
-
SR (адрес 2) — регистр состояния, содержит два флага:
-
Err — флаг ошибки; -
Rd — флаг готовности.
Рис. 2. Контроллер клавиатурыРис. 2. Окно обозревателя контроллера клавиатурыРегистр данных DRдоступен только для чтения, через него считываются ASCII-коды из буфера, причем порядок чтения кодов из буфера соответствует порядку их записи в буфер — каждое чтение по адресу 0 автоматически перемещает указатель чтения буфера. В каждый момент времени DR содержит код символа по адресу указателя чтения буфера.Флаги регистра управления CRустанавливаются и сбрасываются программно;
-
Флаг Е, будучи установленным, разрешает прием кодов в буфер. При Е = 0 контроллер игнорирует нажатие на клавиатуре, прием кодов в буфер не производится. На считывание кодов из буфера флаг Е влияния не оказывает. -
Флаг I, будучи установленным, разрешает при определенных условиях формирование контроллером запроса на прерывание. При 1 = 0 запрос на прерывание не формируется. -
Флаг S = 1 устанавливает т. н. режим посимвольного ввода, иначе контроллер работает в обычном режиме. Флаг S устанавливается и сбрасывается программно, кроме того, S сбрасывается при нажатии кнопки Очистить буфер в окне Контроллер клавиатуры.
-
с одной стороны, значением флага разрешения прерывания I, -
с другой — режимом работы контроллера.
-
устанавливается флаг готовности Rd (ready) в регистре состояния SR.
) в том же регистре устанавливается при попытке ввода в буфер 51-го символа. Ввод 51-го и всех последующих символов блокируется.Сброс флага Rd осуществляется автоматически при чтении из регистра DR, флаг Err сбрасывается программно. Кроме того, оба эти флага сбрасываются при нажатии кнопки Очистить буфер в окне Контроллер клавиатуры; одновременно со сбросом флагов производится очистка буфера — весь буфер, заполняется кодами 00h, а указатели записи и чтения устанавливаются на начало буфера.Для программного управления контроллером предусмотрен ряд командных слов:
-
все команды выполняются при записи по адресу регистра управления CR кодов с 1 в третьем разряде.
-
xxx 102 — очистить буфер (действие команды эквивалентно нажатию кнопки Очистить буфер); -
ххх 102 — сбросить флаг Err в регистре SR; -
ххх 103 — установить флаг S в регистре CR; -
ххх 104 — сбросить флаг S в регистре CR.
-
Дисплей.
-
видеопамять объемом 128 слов (ОЗУ дисплея); -
символьный экран размером 8 строк по 16 символов в строке; -
четыре программно-доступных регистра: -
DR (адрес 0) — регистр данных; -
CR (адрес 1) — регистр управления; -
SR (адрес 2) — регистр состояния; -
AR (адрес 3) — регистр адреса.
При обращении к регистру DR по записи содержимое аккумулятора записывается в DR и в ячейку видеопамяти, адрес которой установлен в регистре AR.Регистр управления CR доступен только для записи и содержит в 4-м и 5-м разрядах соответственно два флага:
-
Е — флаг разрешения работы дисплея; при Е=0 запись в регистры AR и DR блокируется; -
А — флаг автоинкремента адреса; при А=1 содержимое AR автоматически увеличивается на 1 после любого обращения к регистру DR — по записи или чтению.
-
xxx101 — очистить дисплей (действие команды эквивалентно нажатию кнопки Очистить в окне Дисплей), при этом очищается видеопамять (в каждую ячейку записывается код пробела — 032), устанавливается в 000 регистр адреса AR и сбрасываются флаги ошибки Err и автоинкремента А; -
ххх102 — сбросить флаг ошибки Err.
-
Блок таймеров.
-
пятиразрядный десятичный реверсивный счетчик Т, на вход которого по ступают метки времени (таймер); -
программируемый предделитель D; -
регистр управления таймером CTR; -
флаг переполнения таймера FT.