Основы микропроцессорной техники


Системный таймер и часы реального времени - часть 2


Один разряд (0) разрешает работу канала, другой разряд (1) пропускает выходной сигнал на динамик.

Таким образом, пользователь компьютера может задействовать только канал 2. Чаще всего его применяют для генерации звуков заданной частоты и длительности. Кроме того, выходной сигнал данного канала программно доступен по чтению из одного из разрядов параллельного порта. Это позволяет, запрограммировав таймер соответствующим образом, выдерживать нужные временные интервалы. Для этого следует программно разрешить генерацию (при отключенном динамике), а затем программно опрашивать выходной сигнал таймера и принимать решения по изменению его уровня.

Подсистема часов реального времени в первых компьютерах выполнялась на микросхеме контроллера MC146818 фирмы Motorola. Этот контроллер содержит 64 байта СMOS-памяти, из которых первые 14 байт используются для часов реального времени, а остальные 50 байт хранят информацию о конфигурации системы.

Для входного тактового сигнала контроллера применяется специальный «часовой» кварцевый генератор с частотой 32 768 кГц, что позволяет с помощью деления частоты получить импульсы с частотой 1 Гц. Контроллер считает секунды, минуты, часы, дни недели, месяцы и годы. Причем работает он даже при отключении питания компьютера, подпитываясь от батареи или аккумулятора. Это позволяет сохранять информацию о текущем времени постоянно.

Помимо счетчика текущего времени, контроллер имеет в своем составе будильник. Будильник может формировать прерывания (IRQ8) с программно заданной периодичностью. Состояния всех счетчиков (секунд, минут, часов и т.д.) программно доступны как по чтению, так и по записи, что позволяет устанавливать нужное время и следить за ним.




Начало  Назад  Вперед