Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Обработка прерываний таймера



При инициализации BIOS устанавливает свой обработчик для прерывания таймера. Этот обработчик каждый раз увеличивает на единицу текущее значение 4-байтовой переменной, располагающейся в области данных BIOS по адресу 0000:046Ch - счетчик таймера. Если этот счетчик переполнится из-за того что прошло более 24 часов с момента запуска таймера, в ячейку 0000:0470h заносится значение 1.

Другое действие, выполняемое стандартным обработчиком прерывания таймера - контроль за работой двигателей НГМД. Если после последнего обращения к НГМД прошло более 2 секунд, обработчик прерывания выключает двигатель. Ячейка с адресом 0000:0440h содержит время, оставшееся до выключения двигателя. Это время постоянно уменьшается обработчиком прерывания таймера. Когда оно становится равно 0, двигатель НГМД отключается.

Последнее действие, которое выполняет обработчик прерывания таймера - вызов прерывания INT 1Ch. После инициализации системы вектор INT 1Ch указывает на команду IRET, то есть обработчик прерывания INT 1Ch ничего не делает. Программа может установить собственный обработчик этого прерывания для того чтобы выполнять какие-либо периодические действия.

Необходимо отметить, что прерывание INT 1Ch вызывается обработчиком прерывания INT 8h до сброса контроллера прерывания, поэтому во время выполнения прерывания INT 1Ch все аппаратные прерывания запрещены. В частности, запрещены прерывания от клавиатуры.

Обработчик прерывания INT 1Ch должен заканчиваться командой IRET. Если же вы подготавливаете собственный обработчик для прерывания INT 8h, перед завершением его работы необходимо сбросить контроллер прерываний. Это можно сделать, например, так:

mov al, 20hout 20h, al

Таймер обычно реализуется на микросхеме Intel 8253 (для компьютеров IBM PC и IBM PC/XT) или 8254 (для компьютеров IBM PC/AT и IBM PS/2), а также на аналогах этих микросхем. Следующий раздел книги посвящен описанию микросхемы 8254.

Мы не будем подробно рассказывать о всех возможностях микросхем 8253 и 8254, так как обычно используются только несколько режимов работы (а чаще всего один). Полное описание вы сможете найти в справочной литературе по микросхемам 8253/8254, а также по их отечественным аналогам КР1810ВИ53 и КР1810ВИ54.

Изначально микросхема 8250 отвечает за программирование последовательного порта.

Для доступа к последовательному порту существует базовый адрес (в ячейках 0040:0000 для COM1 и 0040:0002 для COM2).

Для 0040 со смещением 1 – 1 порт.

Для 0040 со смещением 2 – 2 порт.

Базовый адрес для порт 1 – 3F8, 2F8.

Микросхема имеет 10 программируемых однобайтовых регистров, которые занимаются инициализацией и передачей данных.

3F8 – передает байт, если байт 7 в регистре 3FB равен 0. Из 3FB может читать байт. Регистр 3F8 является младшим делителем в скорости обмена при бите, установленном в регистре 3FB.

3F7 – ……………………..

3F9 – при установке бита 7 в 0 в 3FB – регистр разрешения прерывания.

3FА – регистр идентификации прерывания

3FВ – регистр управления линией

3FС – регистр управления модемом

3FD – регистр статуса линии

3FE – регистр статуса модема

Скорость обмена:

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

Частота системных часов – 100 190 000 Гц

Скорость обмена:

Минимальная – 110 бт\ с

Максимальная – 115- 200 бт\ с

……………………………………………………………………………………………………………

Для скорость 1200 – значения регистра 3F90.???????????

Регистр контроля линии

Биты 10 (один – ноль) задают длину символов. Можно закодировать 005……………………………….., 118……………….

Второй бит – количество стопоковых бит.

Если 0 – 1

Если 1 – 2

Бит четности:

Если 0 – генерировать

Если 0 – нет

Тип четности: 0 – нечетный, 1 – четный.

Фиксация четности заставляет бит четности быть либо 1, либо 0.

Установка перерыва – данный бит приводит к передаче строке нулей.

Бит 7 – меняет адреса ……………..

Регистр статуса линии

Установка бита 0 в 1 означает, что получен байт данных.

Бит 1 – установка в 1 означает, что поученные данные перезаписаны.

Бит 2 – установка в 1 означает, что произошла ошибка в четности

Бит 5 – установлен в 1, когда регистр хранения передатчика пуст

Бит 6 – установлен в 1, если регистр сдвига передатчика пуст

Физические линии:

1. DTR – готовность компьютера

2. RTS – запрос на посылку

3. DSR – готовность модема

4. CTS – готовность к посылке

5. DCD – обнаружен носитель данных

6. RI – индикатор звонка

Регистр статуса модема

Бит 0 – устанавливает в 1: изменение CTS

Бит 1 – устанавливает в 1: изменение в DSR

Бит 2 – устанавливает в 1: изменение в RI

Бит 3 – устанавливает в 1: изменение в DCD

Бит 4 – устанавливает в 1: устанавливает сигнал в CTS

Бит 5 – устанавливает в 1: устанавливает сигнал в DSR

Бит 6 – устанавливает в 1: устанавливает сигнал в RI

Бит 7 – устанавливает в 1: устанавливает сигнал в DCD

При чтении данного регистра значения обнуляются.

Регистр контроля модема

Бит 0 установлен в 1, если готовность компьютера активна

Бит 1 установлен в 1, если запрос на посылку активен

Бит 4 установлен в 1, если мы хотим ………………………..

Вопрос 27: Способы несанкционированного доступа к информации в MS-DOS. Воз­можные механизмы защиты.





Дата публикования: 2015-02-03; Прочитано: 801 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...