Часы реального времени. Порты доступа и регистры часов. Структурная схема и функционирование

Часы реального времени и память CMOS - самостоятельное энергонезависимое устройство на системной плате ПЭВМ - МС 146818 (ф. «Motorola»).

Содержание основных регистров часов реального времени в CMOS

00h секунды

01h секундная тренога (будильник)

02h минуты

03h минутная тренога (будильник)

04h часы

05h часовая тревога (будильник)

06h день недели

07h день месяца

08h месяц

09h год

0Ah регистр статуса часов реального времени

0Bh регистр статуса часов реального времени

0Ch регистр статуса выполнения прерывания IRQ8

0Dh регистр статуса состояния батарейки и памяти

0Ah бит 7=1 идет модификация времени (надо ждать значения 0, чтобы читать)

0Вh бит 6=1 разрешено периодическое прерывание

бит 5=1 разрешено прерывание треноги

бит 4=1 разрешено прерывание конца модификации

бит 1=1 часы считаются до 24,

=0 часы считаются до 12.

бит 0=1 разрешено запоминание времени суток

Особенности использования аппаратного прерывания IRQ8

Часы реального времени вызывают аппаратное (радиальное) прерывание IRQ8 и соответствующее векторное прерывание 70h.

Программа пользователя может установить вектор этого прерывания на любую процедуру, которую требуется выполнить в определенное время.

Для этого разработано векторное прерывание 1Аh.

Прерывание IRQ8 может появляться по одной из трех причин:

1. Периодическое прерывание происходит через определенные интервалы времени обновления счетчика часов реального времени.

Их периодичность приближенно равна одной миллисекунде.

2. Прерывание тревоги происходит, когда значение трех регистров тревоги совпадает со значениями соответствующих временных регистров.

Тревога устанавливается как смещение относительно текущего момента времени.

Максимальная величина смещения установки тревоги равна 23:59:59.

Вектор прерывания 4АН может указывать на пользовательскую процедуру обработки тревоги.

3. Прерывание конца модификации происходит после каждого обновления значений регистров часов РВ CMOS – 04h.

Примечание: номер причины вызова прерывания указывается в регистре 0Ch. бит 6=1 – периодическое,

бит 5=1 – прерывание тревоги,

бит 4=1 – обновление часов.

Особенности использования прерывания 1Ah.

Функции 0 и 1 прерывания 1АН читают и устанавливают счетчик времени суток.

Функция 2: Чтение времени из часов реального времени AH = 02h.

При возврате: CH = часы в BCD

CL = минуты в BCD

DH = секунды в BCD

Функция 3: Установка времени часов реального времени AH = 03h.

При входе: CH = часы в BCD

CL = минуты в BCD

DH = секунды в BCD

DL = 1 - переход на летнее время, иначе – 0.

Функция 4: Чтение даты из часов реального времени AH = 04h.

При возврате: CH = век в BCD (19 или 20)

CL = год в BCD (с 1980)

DH = месяц в BCD

DL = день месяца в BCD

Функция 5: Установка даты часов реального времени AH = 05h.

При входе: CH = век в BCD (19 или 20)

CL = год в BCD (с 1980)

DH = месяц в BCD

DL = день месяца в BCD

Функция 6: Установка тревоги для часов реального времени AH = 06h.

При входе: CH = часы смещения в BCD

CL = минуты смещения в BCD

DH = секунды смещения в BCD

Функция 7: Сброс тревоги AH = 07h


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: