Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Модуль CRT.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
133.63 Кб
Скачать

2. Управління клавіатурою.

При натисканні якоїсь клавіші клавіатури виробляється код, який називається кодом сканування (скан-код). Кожна клавіша має свій унікальний код сканування, який залежить тільки від місця розташування клавіші на панелі клавіатури та не зв’язане з зображеним на клавіатурі символом. Це порядковий номер клавіші. Та програмі потрібен не номер натиснутої клавіші, а відповідно означеному на цій клавіші код символу – код ASCII. Цій код не залежить від скан-кода, так як одній і той же клавіші можуть відповідати декілька значень ASCII-кода в залежності від стану інших клавіш (клавіші перемикачі). Всі перетворення скан-кода в ASCII –код виконуються операційною системою, яка розміщує отриманий код ASCII в спеціальну частину оперативною пам’яті , яка називається буфером клавіатури.

Деякі коди ASCII.

Клавіша

код

Клавіша

код

A(лат.)

65

Home

71

B(лат.)

66

Enter

13

C(лат.)

67

BackSpase

8

А(кір.)

128

Tab

9

Б(кір.)

129

Пробіл

32

В(кір.)

130

Esc

27

Модуль CRT має дві функції для управління клавіатурою:

  1. логічна функція KeyPressed, яка перевіряє наявність символів в буфері клавіатури, та повертає значення true, якщо на клавіатурі була натиснута якась клавіша, та false – в протилежному випадку.

Наприклад, наступний пустий цикл може бути використован для реалізації в програмі паузи до натиснення якої завгодно клавіші (а),або закінчення повторення дії (б):

а) Reapet б) Reapet

Until KeyPressed; або <дія>

Until KeyPressed;

Функція KeyPressed не видаляє введений символ з буфера клавіатури;

  1. функція ReadKey зчитує код символу з буфера клавіатури (очищує буфер) та повертає в програму символ типу Char (символ). При натисканні особистої клавіші можливо змінювати за допомогою ReadKey дії програми, наприклад:

Var ch:char;

Begin

. . . . . . .

If KeyPressed then if Readkey=#13 then <дія1>

else<дія2>;

3. Управління звуком.

Sound (Hz) процедура, яка вмикає внутрішній динамік. Hz задає частоту сигналу в Герцях, звуковий сигнал буде звучати доки не буде вимкнут;

NoSoundвимикає звуковий сигнал;

Delay(time) – час затримання роботи ЕОМ в мілісекундах. Ця процедура також використовується для завдання часу звучання звуку.

Для написання програми звучання якоїсь мелодії, необхідно знати частоту нот:

Позначення ноти

Назва

ноти

Частота

звучання

Позначення ноти

Назва

ноти

Частота

звучання

C (I-октава)

до

262

G

соль

392

D

ре

294

A

ля

440

E

ми

330

H

си

482

F

фа

350

C (II-октава)

до

493

Діези та бемолі обчислюються як середина між двома сусідніми нотами.

Тривалість ноти задається процедурою Delay(N), якщо N ціла нота, то N/2-половинна, тощо. N приблизно 10000-20000.