Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Описание работы. Темы для предварительной проработки




Темы для предварительной проработки

Цель работы

Лабораторная работа 4 ОРГАНИЗАЦИЯ РАБОТЫ КЛАВИАТУРЫ ПЭВМ

Изучение организации и принципов работы клавиатуры и приобре-

тение практических навыков управления микропроцессором клавиатуры.

2.1. Организация и принцип работы клавиатуры ПЭВМ.

3.1. Принципы работы клавиатуры. На рис. 1 представлена упро-

щенная схема клавиатуры.

┌───┬───┬──── +5B

Переключатели клавиатуры

 

│ │ │ │ │ │ ┌──┬────┬──┐

─────┼────────┼────────┼────┴───┴───┴────┤X0│CPU │ │

─────┼────────┼────────┼─────────────────┤X1│ │ │

─────┼────────┼────────┼─────────────────┤X2│ │ │

│ │ │... │X3│ │ │

│ │ │ │..│ │Z ├──────>

│ │ │ │ │ │ │К систем-

│ │ │ ├──┤ │ │ному бло-

─────┼────────┼────────┴─────────────────┤Y0│ │ │ ку ПЭВМ

─────┼────────┴──────────────────────────┤Y1│ │ │

─────┴───────────────────────────────────┤Y2│ │ │

│Y3│ │ │

│..│ │ │

└──┴────┴──┘

 

Рис.1.

Схема клавиатуры

В качестве контроллера клавиатуры используется специализирован-

ный микропроцессор Intel 8042, имеющий два порта - входной и выход-

ной. Входной порт (X) подключен к горизонтальным линиям матрицы, а

выходной (Y) - к вертикальным. Все горизонтальные линии подключены

также через резисторы к источнику питания +5B.

Устанавливая по очереди на каждой из вертикальных линий уро-

вень напряжения, соответствующий логическому нулю, клавиатурный

контроллер опрашивает состояние горизонтальных линий. Если нажатых

клавиш нет, уровень напряжения на всех горизонтальных линиях соот-

ветствует логической 1 (т. к. все эти линии подключены к источнику

питания +5B через резисторы).

Если оператор нажмет на какую-то клавишу, то соответствующие

вертикальная и горизонтальная линии окажутся замкнутыми. Когда на

этой вертикальной линии процессор установит значение логического

нуля, то уровень напряжения на горизонтальной линии также будет

соответствовать логическому нулю.

Как только на одной из горизонтальных линий появится уровень

логического нуля, клавиатурный процессор фиксирует нажатие на кла-

вишу. Он посылает в центральный процессор запрос на прерывание

(Int 09H) и восьмиразрядный номер клавиши в матрице записывает в

порт 60H. Аналогичные действия выполняются, когда оператор отпус-

кает нажатую ранее клавишу.

Номер клавиши, посылаемый клавиатурным процессором, однознач-

но связан с распайкой клавиатурной матрицы и не зависит напрямую

от обозначений, нанесенных на поверхность клавиш. Этот номер назы-

вается скан-кодом (Scan Code). Отметим, что скан-код отжатой кла-

виши отличается от скан-кода нажатой клавиши единицей в старшем

бите (т.е. больше на 128).

Слово scan ("сканирование") подчеркивает, что клавиатурный

процессор сканирует клавиатуру для поиска нажатой клавиши.

Если нажать на клавишу и не отпускать ее, клавиатура перейдет

в режим автоповтора. В этом режиме в центральный процессор автома-

тически через некоторый промежуток времени, называемый периодом

авповтора, посылается код нажатой клавиши.

3.2. Порты для работы с клавиатурой.

Для работы с клавиатурой ПЭВМ типа XT и AT использует порты с

адресами 60H и 61H.

Порт 60H при чтении содержит скан-код последней нажатой кла-

виши. Он также участвует в управлении клавиатурного процессора.

Порт 61H управляет не только клавиатурой, но и другии уст-

ройствама компьютера, например, работой встроенного динамика. Этот

порт доступен как для чтения, так и для записи. Если старший бит

порта равен 1, то клавиатура будет заблокирована, если 0 - разбло-

 

кирована. Нужно отметить, что поскольку порт 61H управляет не

только клавиатурой, то при сбросе старшего бита необходимо осталь-

ные разряды порта оставить без изменения.

 

3.3. Команды контроллера клавиатуры.

Процессор 8042 обслуживает не только клавиатуру, но и другие

системы компьютера (например, с его помощью выполняется возврат

процессора 80286 из защищенного режима работы в реальный). Все

свои действия процессор осуществляет, выполняя соответвующие ко-

манды.

Для посылки команды необходимо вначале убедиться в том, что

его внутренняя очередь команд пуста (если команда состоит из нес-

кольких байтов, проверка осуществляется для каждого байта). Это

можно сделать, прочитав слово состояния 8042 из порта с адресом 64

h. Бит с номером 1 должен быть равен нулю (биты нумеруются с 0).

После того как программа дождется готовности процессора 8042, она

может послать ему команду, записав ее в порт с адресом 60h (это

делается для каждого байта команды).

Для управления клавиатурой процессор 8042 использует следую-

щие команды:

3.3.1. Команда установки характеристик режима автоповтора.

Команда состоит из двух байтов. Первый байт: код команды - 03

Fh; второй байт определяет характеристики режима. Его формат

представлен в таблице 1:

Таблица 1

────────────────────────────────────────────────────────────────

Биты Значение

────────────────────────────────────────────────────────────────

0-4 Период автоповтора:

0 - 30.0; 0Ah - 10.0;

1 - 26.7; 0Dh - 9.2;

2 - 24.0; 10h - 7.5;

4 - 20.0; 14h - 5.0;

8 - 15.0; 1Fh - 2.0.

Период автоповтора определяет количество посылок

скан-кода, генерируемых процессором клавиатуры в

одну секунду. Можно использовать не только те зна-

чения, которые приведены выше, но и промежуточные,

например, 9 или 15h.

5-6 Задержка включения режима автоповтора:

00 - 250 мс;

01 - 500 мс;

10 - 750 мс;

11 - 1000 мс.

7 Зарезервировано, должно быть 0.

──────────────────────────────────────────────────────────────────

Первоначально при инициализации системы период задержки для

включения режима автоповтора устанавливается модулями BIOS равным

500 мс при периоде автоповтора, равным 10 повторам в секунду.

 

3.3.2. Команда управления светодиодами клавиатуры.

Команда состоит из двух байтов. Первый байт: код команды -

0Dh; формат второго байта представлен в таблице 2:

Таблица 2

───────────────────────────────────────────────

Биты Значение

───────────────────────────────────────────────

0 1 - включить светодиод ScrollLock

1 1 - включить светодиод NumLock

2 1 - включить светодиод CapsLock

3-7 Не используется

───────────────────────────────────────────────

3.3.3. Команда возврата к значениям, задаваемым BIOS.

Код команды - 0F6h.

4. Порядок выполнения

4.1. В соответствии с индивидуальным заданием:

-установить соответствующие период и задержку автоповтора;

-осуществить мигание соответствующего светодиода.

4.2. Путем чтения из порта 60h скан-кода определить клавишу,

скан-код нажатия которой совпадает с номером студента в журнале.

Определить скан-код отжатия этой клавиши. При определении скан-ко-

дов можно воспользоваться алгоритмом, приведенным на рис.2.

── 1 ──────────────

Начало

─────────┬─────────

│ ┌

┌── 2 ────┴─────────┐ │Для предотвращения чтения

│ Задержка 100 мс │ │скан-кодов отжатия клавиш

└─────────┬─────────┘ │Ctrl и F9 при запуске

│ │программы

─ 3 ────┴───────

┌─── I = 1, 2 ─────────────────┐

│ ────────┬─────── │

│ │ │

│ ┌── 4 ────┴─────────┐ ─ 8 ────┴────────

│ │Чтение из порта 60H│ Конец

│ │ скан-кода │ ─────────────────

│ └─────────┬─────────┘

│ │

│ ┌───────────>

│ │ ┌── 4 ────┴─────────┐

│ │ │Чтение из порта 60H│

│ │ │ скан-кода │

│ │ └─────────┬─────────┘

│ │ │

│ │ да 5

│ └── скан-коды

│ совпадают?

│ │нет

│ │

│ ─ 6 ────┴────────

│ "новый" скан-код

│ ────────┬────────

│ │

│ ┌── 7 ────┴─────────┐

│ │"старый" скан-код │

│ │ = "новому" │

│ └─────────┬─────────┘

└──────────────┘

Рис.2

4.3. После выполнения пп. 3.1 и 3.2 восстановить характерис-

тики клавиатуры в исходное состояние.




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 396; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.