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

9. Мікросхема таймера і її організація. Канали мікросхеми таймера і їх призначення. (Проілюструвати фрагментами програми).

IBM PC содержит 8253(8254) микросхему , кот. генерирует сигналы практически для всех подсетей. Эта микросхема содержит кварцевый генератор импульсов(1,193 МГц). С кв. генератором соединено 3 линии (канала), каждая из которых содержит два 16тиразрядных регистра , через которые идет сопряжение с подсистемой компьютера .

0-рег.задвижка;

1-рег.счетчика(служит для пересчета сигналов кварцевого генератора).

Имеется 4 порта вв/выв с такими адресами:

1) 40h – канал 0 - отвечает за формирование часов времени суток и обслуживание операций ;

2) 41h – канал 1 – для регистрации операций памяти компа через DMA (Direct Memory Access);

3) 42h - канал 2 – функционирование динамика ;

4) 43h – управляющий регистр.

Формат порта 43h:

1-номер канала:00-0;01-1;10-2;11-чтение сост.канала

2-способ загрузки:01-младшую;10-старшую;11-за 2 раза(сначала мл., затем ст.)

3-режим динамика:011;110 ;101.При программировании динамика нужно использовать порт 61h.

Пример:

In AL,43h

Mov AL,10110110b

Out 43h,AL

Здесь In - копирует данные из порта источника в порт приемника; Out – записывает данные в порт;4-система счисления ;0 - 46х; 1 – BCD – десятичное число в двоичном формате.

Фрагмент пр-мы, илллюстр. инициализацию портов:

MOV AL, 1011011b

OUT 43h, AL

MOV AX, 3A56h

MOV AL, 56h

OUT 42h, AL

MOV AL, AH

OUT 42h, AL

10. Шлях проходження ‘тиків’ у комірку пам'яті 46Сh. Програмування годин часу доби.

Ячейка памяти 46Сh – хранятся часы времени суток, поступает инф. от микросхемы таймера.

Таймер связан с генератором линейных импульсов, который дает сигналы. Регистр-задвижка по умолчанию содержит число 65536. Контроллер аппаратных прерываний подает сигнал МП. Система делит 1196 (частоту генератора) на это число и получает число 18,2. 18,2 раза в сек МП обращается к вектору прерываний 8h. Далее 8h – к прерыванию 1Сh. 1Сh выполняет единственную команду IRET (возврат из прерывания) В ячейку памяти 0040:6Сh поступают сигналы, которые наз. «тики».

Чтение часов времени суток осуществляется функцией 00h прерывания INT 1Аh. Эта ф-ия возвращает значение ячейки 46Сh в регистр DХ – младшая часть (сек), в СХ – старшая часть.

Пр. макроса для организации временных задержек:

Timer46Ch macro Sleep PUSH BX, CX

MOV AH, 00h INT 1Ah ADD DX, 18*Sleep

MOV BX, DX Repeat: INT 1Ah, DX CMP DX, BX

JNE Repeat POP CX, BX endm

Для работы со временем используют прерывания 8h, 1ch, ячейку памяти 0040:006c.С частотой 18.2 Гц CPU приостанавливает работу всех систем компьютера. Каждый раз микропроцессор обращается к вектору прер. 8h, далее к прер. 1ch и выполняет обработчики прер. По умолчанию обрабатывается заглушка IRET.

Обработчик прерывания 8h

int 1ch mov al, 20h; код разрешения сброса регистра обслуживания запроса контроллера аппаратных прерываний. out 20h,al; IRET

При загрузке в ячейку 46ch поступает реальное время. Использование прер 1сh позволяет не мешать системному времени выполнятся, и в то же время менять временные задержки тех программ, которые будут размещены в этом обработчике.

Чтение часов времени суток.

Осуществляется функцией 00h прер 1Ah. Эта функция возвращает значение ячейки 0040:006ch в регистры cx – старшая часть, dx – младшая часть.

Вся временная инф в CMOS хранится в формате BCD чисел. BCD – это числа десятичной системы 0..9, но записанные в двоичном формате. Бывают упакованными или распакованными. Но и тот и другой формат должен содержать каждую цифру в 4 битах. Упакованный формат – это когда в одном байте можно поместить числа от 0 то 99. Каждая цифра должна занимать свой полубайт. Распакованный формат – когда в каждом байте от 0 до 9.

Схематическое представление обработки прер 8h, т.е. получения часов времени суток.

Вывод системного времени из CMOS микросхемы:

mov ah, 02 int 1ah

ch – часы, cl – минуты, dh – секунды.

Программирование часов времени суток

2 ch – получить дату 2 dh – установить дату (DL – день,DH- месяц,CX - год)

Установка времени – Mov ch, hours

Mov cl, min Mov dh, sec Mov ah, 2dh

Int 21h Получение – Mov ah,2ch int 21h

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]