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

Тексти програм

// leds

.MODEL TINY

.CODE

ORG 100h

START:

// вимкнення всіх індикаторів

MOV DL, 0

CALL INDIKATOR

// цикл до натискання клавіші

WHILE:

// вмикає Num Lock

MOV DL, 2

CALL INDIKATOR

// затримка на 0,5 секунди

CALL TIME

// вимкнення індикатора

MOV DL, 0

CALL INDIKATOR

82

// вмикає Caps Lock

MOV DL, 4

CALL INDIKATOR CALL TIME

MOV DL, 0

CALL INDIKATOR

// вмикає Scroll Lock

MOV DL, 1

CALL INDIKATOR CALL TIME

MOV DL, 0

CALL INDIKATOR

// перевірка наявності символу в буфері клавіатури

MOV AH, 01h

INT 16h

MOV DL, 0

// якщо символу немає, продовжити цикл

JZ WHILE

// якщо символ є, прочитати його і очистити буфер

MOV AH, 00h

INT 16h

MOV DL, 0

CALL INDIKATOR RET

INDIKATOR PROC NEAR

// надіслати в порт команду керування світлодіодами

MOV AX, 00EDh

OUT 60h, AL

// невелика затримка

CALL DELAY

// ввімкнути або вимкнути певний індикатор

MOV AL, DL OUT 60h, AL RET

INDIKATOR ENDP

DELAY PROC NEAR

MOV CX, 4000

FOR:

LOOP FOR RET

DELAY ENDP

TIME PROC NEAR

// прочитати значення годинника реального часу

MOV AH, 0

INT 1Ah

// додати до цього значення 0,5 секунди

83

ADD DX, 9

// зберегти отримане значення

MOV BX, DX REPEAT:

// цикл до настання потрібного часу

INT 1Ah

CMP DX, BX

JNE REPEAT RET

TIME ENDP

END START

КОНТРОЛЬНІ ЗАПИТАННЯ

1. Яке апаратне переривання формується при натисненні та відтисканні клавіші?

2. Вкажіть призначення портів 60h, 61h, 64h.

3. Назвіть команди керування клавіатурою та їх призначення.

4. Які функції переривання 21h використовуються для керування клавіату-

рою?

84

Лабораторна робота № 10 дослідження методів програмного керування контролером нгмд

Мета роботи:

вивчити методи програмного доступу до регістрів контролера i8272;

 навчитись ідентифікувати коди станів контролера НГМД;

 навчитись використовувати можливості програмного керування НГМД в прикладних програмах.

Теоретичні відомості

1. Основні відомості про контролер нгмд

Програмна модель контролера НГМД в ПЕОМ є елементом стандартної

специфікації. Всі контролери забезпечують сумісність з “історичною” мікросхе-

мою контролера i8272A.

Контролер FDC (Floppy Disk Controller) AT підтримує два накопичувача. В

карті ресурсів AT є місце для двох контролерів НГМД:

FDC AT 1 (стандартний або основний) займає порти з адресами 3F0h –

3F7h;

FDC AT 2 (додатковий) займає порти з адресами 370h – 377h.

Контролери виробляють запит апаратного переривання IRQ6 (BIOS INT 0Eh)

після завершення виконання внутрішніх операцій. Для обміну даними може використовуватися канал 2 DMA.

Управління контролером і накопичувачами здійснюється через три порти

вводу/виводу.

Таблиця 1 – Порти контролера НГМД

Порт

Режим

Призначення

3F2h (372h)

запис

Передача команд по управлінню режимом роботи

контролера і накопичувачів

3F4h (374h)

читання

Читання регістра стану контролера

3F5h (375h)

запис

Передача команд по управлінню накопичувачами

3F5h

читання

Читання даних з диска в режимі роботи без ПДП

3F5h

запис

Запис даних на диск в режимі роботи без ПДП

3F5h

читання

Читання результатів виконання команди в усіх режи-

мах

3F7h (377h)

запис

Регістр параметрів контролера (тільки в AT)

3F7h

читання

Діагностичний регістр стану (тільки в AT)