Програмування програм з використанням системного таймера 8253/8254 та робота з годинником реального часу

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра САПР

Інформація про роботу

Рік:
2003
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра САПР  Звіт з лабораторної роботи № 13 на тему “Програмування програм з використанням системного таймера 8253/8254 та робота з годинником реального часу” МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра САПР  Звіт з лабораторної роботи № 13 на тему “Програмування програм з використанням системного таймера 8253/8254 та робота з годинником реального часу” Виконав: студент гр. КН-37 Данчук Є.С. Перевірив: Герус В.А. Львів 2003 Мета роботи Навчитись програмувати системний таймер 8253/8254 та працювати з годинником реального часу. Завдання для виконання Написати будь-яку мелодію, яка має логічне звучання. Короткі теоретичні відомості Таймер в мікропроцесорних системах теж займає важливе місце. За його допомогою працює годинник реального часу та інші пристрої котрі потребують при своїй роботі відліку проходимого часу. Для того щоб працювати з таймеро і годинником реального часу існують два переривання , одне з яких системи MS-DOS а друге BIOS. В даній лабораторній роботі було програмовано системний таймер для того щоб з його допомогою генерувати паузи при створенні звукового сигналу. Так було використано переривання BIOS 1AH. За допомогою цього переривання і його функції 0, можна дізнатись інформацію про пройдений час яка зберігається в регістрах CX – старший байт лічильника та DX молодший байт лічильника. За допомогою цієї інформації визначалась і створювалась програмна затримка, котра приводила до „затягування” сигналу з системного динаміка. Також завдяки системному таймеру можна генерувати випадкові числа, що може бути застосоване при виданні різних UID – унікальних ідентифікаційних номерів. Фактично алгоритм роботи цей самий, тільки потрібно придумати алгоритм, а вірніше формулу, по якій числа будуть генеруватись з врахуванням тих чи інших розрядів значення таймера. Текст заданої програми PAUS = 5 END_MUSIC = 0 .model small .8086 .code int_1C_handler: mov bx,cs:counter shl bx,1 mov ax,WORD PTR cs:[bx][offset mus] cmp ax,END_MUSIC jne continue mov cs:counter,0FFFFh iret continue: cmp ax,PAUS jne not_pause in al,97 and al,0FCh out 97,al jmp return not_pause: out 66,al mov al,ah out 66,al in al,97 or al,3 out 97,al return: inc cs:counter iret start: mov ax,351Ch int 21h mov cs:old1c,bx mov ax,es mov cs:old1ch,ax push cs pop ds mov dx,offset int_1C_handler mov ax,251ch int 21h wait_for: cmp cs:counter,0FFFFh jne wait_for in al,97 and al,11111100b out 97,al lds dx,dword ptr cs:old1c mov ax,251ch int 21h mov ax,4C00h int 21h EVEN D = 4061; re E = 3619; mi F = 3416; fa G = 3042; sol A2 = 2711; la P = PAUS mus: DW A2,A2,A2,A2,P,P,G,G,G,G,P,P DW E,E,P,F,F,P,G,G,G,P,P DW F,F,P,E,E,P,D,D,P,P,P DW A2,A2,P,A2,A2,P,P DW G,G,G,G,F,F DW E,E,P,F,F,P,G,G,G,P,P DW F,F,P,E,E,P,D,D,P,P DW P,P DW A2,A2,A2,A2,P,P,G,G,G,G,P,P DW E,E,P,F,F,P,G,G,G,P,P DW F,F,P,E,E,P,D,D,P,P,P DW A2,A2,P,A2,A2,P,P DW G,G,G,G,F,F DW E,E,P,F,F,P,G,G,G,P,P DW F,F,P,E,E,P,D,D,P,P DW PAUS,END_MUSIC old1c dw 00 old1ch dw 00 counter dw 00 .stack end start Висновок На даній лабораторній роботі було вивчено основні команди для роботи з системним таймером. Також були вивчені основні принципи і можливості використання таймера.
Антиботан аватар за замовчуванням

28.01.2013 14:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!