Предмет:
Тип роботи:
Контрольна робота
К-сть сторінок:
12
Мова:
Українська
змінює регістри годин 00h, 02h, 04h, 06h, 07h, 08h. Цикл оновлення часу відбувається один раз в секунду; під час його виконання інформація у вказаних регістрах є недостовірною. Флаг UIP доступний тільки для читання — при записі значення біта 7 ігнорується.
Рис. 2. Формат регістра стану А
Регістр стану В, формат якого зображений на рис. 3, призначений для встановлення формату представлення чисел і настройки параметрів роботи годинника. Розряди регістра мають наступне призначення:
♦біт 0 (DSE) — дозвіл або заборона автоматичного переходу на літній
час (0 — перехід заборонений, 1 — дозволений);
♦біт 1 (12/24) — режим представлення часу (0 — 12-годинний, 1 — 24-годинний);
♦біт 2 (DM) — спосіб відліку часу (0 — в двійково-десятковому коді, 1 — в
двійковому коді);
♦біт 3 — зарезервований (повинен мати значення 0);
♦біт 4 (UIE) — переривання після закінчення циклу оновлення часу (0 —заборонено, 1 — дозволено);
♦біт 5 (AIE) — переривання від будильника (0 — заборонено, 1 — дозволено);
♦біт 6 (PIE) — періодичне переривання з частотою 1024 Гц (0 — заборонено,1 — дозволено);
♦біт 7 (SET) — режим роботи годинника (0 — режим відліку часу, 1 — режим установки часу).
Рис.3. Формат регістру стану В
Розглянемо призначення розрядів регістра більш детально.
Біт DSE управляє переходом на літній час: установка рівним 1 значення цього біта дозволяє годиннику виконувати перехід автоматично. Проте програмістам слід враховувати, що в деяких чіпсетах значення біта DSE аппаратно приймає значення 0 і автоматичний перехід заблокований (в цьому випадку біт 0 доступний тільки для зчитування, а при записі в регістр його значення ігнорується).
Біт 12/24 керує режимом представлення часу. В АТ-сумісних комп'ютерах прийнятий 24-годинний режим: даний біт повинен мати значення 1.
Біт DM визначає спосіб відліку часу. В АТ-сумісних комп'ютерах застосовується двійковий режим відліку: біт DM повинен мати значення 0.
Зарезервований біт 3 обов'язково повинен мати значення 0: в мікросхемі МС146818А і деяких її більш пізніх аналогах установка значення даного розряду рівним 1 приводила до переключення подільника частоти в режим генерації меандра.
Біти UIE, AIE і PIE дозволяють управляти генерацією переривань при завершенні оновлення часу, при спрацьовуванні «будильника» і під час надходження кожного імпульсу з виходу дільника частоти. В тому випадку, якщо дозволена генерація відразу декількох типів переривань, визначити конкретне джерело переривання можна за допомогою регістра стану С.
Біт SET дозволяє програмі припинити роботу годинника, коли проводиться їх перенастроювання. Цей розряд повинен мати значення 1 перед початком виконання запису інформації в регістри 00h-0Dh.
Регістр стану С, формат якого показаний на рис. 4, доступний тільки для зчитування. Регістр С дозволяє визначити джерело виникнення переривань. Призначення розрядів регістра наступне:
♦біти 0-3 — зарезервовані (повинні мати значення 0);
♦біт 4 (UF) — ознака наявності сигналу переривання, що генерується по завершенню оновлення даних (0 — немає переривання, 1 — є переривання);
♦біт 5 (AF) — ознака наявності сигналу переривання від будильника (0 — немає переривання, 1 — є переривання);
♦біт 6 (PF) — ознака наявності сигналу періодичного переривання (0 — немає переривання,
1 — є переривання);
♦біт 7 (IRQF) — ознака наявності сигналу переривання будь-якого типу — по завершенню оновлення даних, від будильника або від дільника частоти (0 —немає переривання, 1 — є переривання).
Рис.4. Формат регiстру стану С
Регістр стану D, формат якого зображений на рис.5, виконує тільки одну функцію — забезпечення контролю справності батареї годинника. При нормальній напрузі живлення старший розряд (VRT) цього регістра має значення 1, а у випадку, якщо батарея розряджена — значення 0. Біти 0-6 регістра D зарезервовані і повинні мати значення 0.
Рис.5. Формат регiстру стану D
При роботі з дисководами годинник реального часу використовується в основному з наступною метою:
♦при створенні і зміні файлів, а також при записі у файли полів даних, яким-небудь чином прив'язаних до реального часу — як джерело інформації про поточний час і дату;
♦для вимірювання інтервалів часу з кроком, рівним одній секунді (преривання при оновленні часу) або 1/1024 секунди (переривання від дільника частоти);
♦для відновлення значення реального часу в системному таймері, якщо таймер був перепрограмований для вимірювання коротких проміжків часу в процесі тестування продуктивності роботи дискової підсистеми.
Регістри BIOS SETUP
Регістри CMOS з номерами 0Eh-7Fh називаються «регістрами користувача» є звичайними 8-розрядними елементами статичної пам'яті. Виробники мікросхем годинника реального часу ніяк не регламентують призначення цих регістрів, проте традиційно вони використовуються утилітою BIOS SETUP для зберігання деяких важливих параметрів системи. Хоча призначені для користувача регістри мікросхеми годинника доступні і для запису, і для зчитування інформації, записувати в них що-небудь не рекомендується: процедура BIOS SETUP перевіряє їх вміст по контрольній сумі, і у разі виявлення невідповідності скидає всі регістри в нуль.
Проблема при використовуванні інформації з регістрів BIOS SETUP в призначених для користувача прикладних програмах