Управление режимами экрана, установка цвета символов, фона, яркости изображения
Клавиатура - достаточно сложное устройство, в состав которого входит микропроцессор и память - буфер клавиатуры. При нажатии и отпускании любой клавиши в буфер клавиатуры записываются так называемые коды нажития/отпускания, при этом микропроцессор клавиатуры отсекает дребезгклавиш - сигналы, полученные при неполном контакте в процессе нажатия и отпускания клавиши.
Клавиши клавиитуры делят на буквенно-цифровые, специальные и клавиши смешения.
К буквенно-цифровым относят клавиши букв, цифр, специальных знаков и пробела. Их используют для ввода информации.
Специальные клавший - это клавиши управления курсором (←, ↑, →, ↓, Home, End, Tab, Page up. Page down), удаления (Del, Backspace), клавиши переключения режимов (Ins, Caps lock, Num lock, Seroollock), функциональные клавиши (Esc, Break, Fl, F2, F3,.... FI2) и т.д. Эти клавиши используют для выполнения вспомогательных операций во время работы с компьютером.
Клавиши смещения - это клавиши Shift, Ctrl и All. Их используют совместно с другими клавишами для изменения вводимых кодов. Так, если при нажатии клавиши «а» формируется код строчной буквы а лагинского алфавита, то нажатие Shill-a ириведег к вводу кода заглавной буквы А латинского алфавита.
Всего выделяют около 400 различных комбинаций, которые могут обрабатываться программой. Эти комбинации формируются на основании кодов нажатия/отпускания специальной программой BIOS (базовая система обработки ввода-вывода) и записываются в буфер BIOS клавиатуры.
Изначально считалось, что количество различных комбинаций не превысит 256, и, соответственно, для представления этой информации будет достаточно 1 байта, но со временем количество комбинаций возросло, и потребовалось использование второго байта.
В настоящее время для представления комбинаций, не вошедших в таблицу ASCII, используют расширенные коды,состоящие из двух байт: первый байт равен 0, а второй - содержит расширенный scan-код.
Ввод буквенно-цифровых данных с клавиатуры осуществляется процедурами Readи ReadLn, при этом реально происходит чтение кодов ASCII из буфера BIOS клавиатуры. Считанные символьные коды преобразуются во внутренный формат в соответствии с типом переменной.
Процедуры Read и Readln обрабатывают только комбинации, соответствующие буквам и цифрам, а также некоторые специальные комбинации, например, маркер конца строки (комбинация символов #13, #10).
Модуль Сrt содержит специальные функции управления клавиатурой, которые позволяют работать с расширенными кодами.
1. Функция KeyPressed: boolean - возвращает true, если нажата любая клавиша, false если буфер BIOS клавиатуры пуст; функция не извлекает символы из буфера, не ожидает ввода;
2. Функция ReadKey:char- извлекает очередной код из буфера BIOS клавиатуры и возвращает его как результат операции, ожидает ввода, но не высвечивает вводимого символа.
Для чтения расширенного кода функцию ReadKey необходимо вызывать дважды: первый раз она вернет 0, а второй - расширенный scan-код:
ch1:=ReadKey; {читаем код}
tf ch1=#0 then ch2:=ReadKey; {если код=0, то читаем второй байт}
Модуль Crt также содержит процедуры, обеспечивающие управление динамиком.
1. Процедура Sound (f:word) - генерирует звук указанной частоты в Гц. Для справки, основной гамме cooтветствуют следующие частоты: нота «до» основной октавы - 330 Гц, далее - 319 Гц, 370 Гц, 392 Гц, 415 Гц, 440 Гц, 466 Гц, 494 Гц, 523 Гц, 554 Гц, 588 Гц, 622 Гц и, наконец, нога «до» следующей октавы — 660 Гц. Частоты нот других октав кратны частотам основной.
2. Процедура NoSound-выключает динамик.
3. Процедура Delay (t:word)- обеспечивает задержку на заданный интервал времени, мс.
Поскольку к настоящему моменту времени быстродействие компьютеров существенно возросло и изменились некоторые принципы их построения, процедура Delay не всегда обеспечивает корректную задержку. В этих случаях для организации задержки целесообразно использовать процедуру, которая читает реальное время.
Лекция 19.Работа в графическом видеорежиме(4 часа)
Дата добавления: 2015-12-01; просмотров: 636;