11691

Програмування таймера

Лабораторная работа

Информатика, кибернетика и программирование

ЛАБОРАТОРНА РОБОТА №8 Тема: Програмування таймера. Ціль: Вивчення функцій системного таймера і закріплення практичних навичок роботи з ним. Теоретичні відомості. Усі компютери IBM містять 3х канальніий 16ти розрядний пристрій званий системним таймером. Для...

Украинкский

2013-04-10

61.5 KB

9 чел.

ЛАБОРАТОРНА РОБОТА №8

Тема: Програмування таймера.

Ціль: Вивчення функцій системного таймера і закріплення практичних навичок роботи з ним.

 

Теоретичні відомості.

Усі комп'ютери IBM містять 3-х канальніий 16-ти розрядний пристрій, званий системним таймером. Для молодших моделей IBM таймер реалізується на мікросхемі Intel 8253 або 8254, а в сучасних комп'ютерах реалізуються чіпсетом. Архітектура системного таймера представлена на мал. 1. Він допомагає організувати всевозмож-ние тимчасові затримки, лічильники і сигнали, що управляють.

Малюнок 1 - Архітектура системного таймера

Таймер складається з трьох незалежних каналів. Кожен канал містить регістри:

- стани каналу RS (8 розрядів);

- слова PSW (6 розрядів), що управляє;

- буферний регістр OL (16 розрядів);

- регістр лічильника ЦЕ (16 розрядів);

- регістр констант перерахунку CR (16 розрядів).

 З усіх предоставляемих таймером функцій, можна виділити декілька основних:

1.  Організація годинника реального часу.

2.   Програмований   генератор   прямокутних   і   синусоїдальних   імпульсів.

3.  Лічильник подій таймера.

4.  Управління двигунами флоппі-дисководів.

Средства MS-DOS для работы с таймером 

MS-DOS использует четыре функции прерывания INT 21h для работы с системным таймером. Эти функции позволяют узнать и установить текущие дату и время. MS-DOS версии 3.30 и более поздних версий при установке времени и даты изменяет также показания часов реального времени.

Для получения текущей даты используется функция 2Ah:

На входе:       AH = 2Ah.

На выходе:      DL = день (0...31);

               DH = месяц (1...12);

               CX = год (1980...2099);

               AL = номер дня недели:

                 0 - воскресенье;

                 1 - понедельник;

                 2 - вторник;

                       .........

                 6 - суббота.

Обратите внимание на то, что функция возвращает вам номер дня недели, который она вычисляет на основе даты.

Для установки даты используйте функцию 2Bh:

На входе:       AH = 2Bh;

               DL = день (0...31);

               DH = месяц (1...12);

               CX = год (1980...2099).

На выходе:      AL = 0, если установка выполнена        правильно;

               AL =    FFh, если при установке были заданы

                       неправильные параметры.

Для того, чтобы определить текущее время, можно воспользоваться функцией 2Ch:

На входе:       AH = 2Ch.

На выходе:      CH = часы (0...24);

               CL = минуты (0...59);

               DH = секунды(0...59);

               DL = сотые доли секунды (0...99).

Точность времени, полученного при помощи этой функции, определяется таймером (время обновляется 18.2 раза в секунду).

Для установки времени можно использовать функцию 2Dh:

На входе:       AH = 2Dh;

               CH = часы (0...24);

               CL = минуты (0...59);

               DH = секунды(0...59);

               DL = сотые доли секунды (0...99).

На выходе:      AL = 0, если установка выполнена        правильно;

               AL =    FFh, если при установке были заданы

                       неправильные параметры.

Індивідуальне завдання.

Используя прерывание DOS - 21h, произвести изменения системной даты и времени.

  1.  Через прерывание, используя функции, 2A и 2С, прочесть значения текущей даты и времени, и отобразить полученное значение в приложении.
  2.  Через функции, 2B и 2D, произвести изменение даты и времени.
  3.  Вернуть дату и время исходного состояния.


 

А также другие работы, которые могут Вас заинтересовать

52709. Героев имена помнит Донбасс 53 KB
  Цель: Воспитывать уважительное отношения к исторической памяти народа. Способствовать формированию стремлению учащихся знать историю своего народа и отстаивать историческую правду. Воспитывать ответственность, эмпатию, потребность личного участия в мероприятиях, посвященных празднованию памятных дат.
52711. Моєму рідному краю, його величності Донбасу – 80 1.58 MB
  Мета: Формувати в учнів інтерес до навчання; формувати також в учнів навички здорового способу життя, навички толерантного спілкування; засвоїти матеріал за темою; вчити розповідати про символи Української держави та їх значення; розвивати прагнення бути свідомим громадянином України, її патріотом.
52713. Організація надання першої медичної допомоги в бою. Реанімація потерпілих 223 KB
  Ознайомити учнів з особливостями розшуку поранених на полі бою; навчити проводити первинний огляд поранених надавати першу медичну допомогу; формувати практичні навички проведення підручних заходів реанімації потерпілих.Розшук поранених на полі бою.Збір виніс вивіз і евакуація поранених з поля бою.