11691

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

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

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

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

Украинкский

2013-04-10

61.5 KB

10 чел.

ЛАБОРАТОРНА РОБОТА №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.  Вернуть дату и время исходного состояния.


 

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

70124. Плагины 162 KB
  Плагины стали неотъемлемой частью больших коммерческих приложений. С их помощью можно наращивать функциональность приложений без повторной компиляции или быстро изменять бизнес-правила, на основе которых работает приложение.
70125. АЛГОРИТМЫ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ И ИХ РЕАЛИЗАЦИЯ НА ЯЗЫКЕ PASCAL 172.5 KB
  Цель работы. Изучить приемы составления схем алгоритмов циклической структуры, операторы организации циклов и условных переходов. Уметь составлять программы реализации алгоритмов циклической структуры и проводить по ним расчет на компьютере.
70126. Итоговые запросы. Агрегатные функции 68 KB
  Среднее арифметическое значений выражения для всех записей в группе countвыражение Количество записей в группе для которых значение выражения отлично от NULL mxвыражение Максимальное значение выражения в группе minвыражение Минимальное значение выражения в группе...
70127. Анализ кинематики металлорежущих станков 1.02 MB
  Приводы со ступенчатым регулированием выполняют в виде зубчатых коробок передач обеспечивающих получение определенного ряда значений частоты вращения или подач Приводы используют для обеспечения движений в станках.
70128. ОЦЕНКА ЭФФЕКТИВНОСТИ СИСТЕМЫ ЗАНУЛЕНИЯ 1.82 MB
  Оценить эффективность системы зануления в сети без повторного заземления нулевого защитного проводника. Оценить эффективность системы зануления в сети с повторным заземлением нулевого защитного проводника.
70129. Визначення коефіцієнту відновлення та часу співудару пружних куль 52.5 KB
  Мета: визначити коефіцієнт відновлення і часу співудару у випадку пружного центрального удару куль. Прилади та обладнання: джерело постійного струму, електор магніти з фіксаторами, вимірювач напруги, дві кульки підвішені на струмопровідних нитках.
70130. Создание и администрирование учетных записей пользователей и групп 126.5 KB
  Цели работы: научиться создавать, изменять удалять учетные записи и группы; научиться задавать и изменять пароли; научиться добавлять учетные записи в группы. Задание 1. Создайте доменную учетную запись декана: имеет доступ ко всем ресурсам сети, может осуществлять вход на любой компьютер.