DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра САПР  Звіт з лабораторної роботи № 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:05

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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