🚀 Вийди на новий рівень крипто-торгівлі!
Easy Trade Bot — автоматизуй свій прибуток уже зараз!

Ми пропонуємо перелік перевірених прибуткових стратегій на такі пари як BTC, DOT, TRX, AAVE, ETH, LINK та інші. Ви можете підключити автоматичну торгівлю на своєму акаунті Binance або отримувати торгові рекомендації на email у режимі реального часу. Також можемо створити бота для обраної вами монети.

Всі результати торгів ботів доступні для перегляду у зручних таблицях на головній сторінці. Швидко, динамічно та прозоро!

Перейти до бота + 30$ бонус

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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра САПР  Звіт з лабораторної роботи № 13 на тему “Програмування програм з використанням системного таймера 8253/8254 та робота з годинником реального часу” Міністерство освіти України Національний університет “Львівська Політехніка” Кафедра САПР Звіт про виконання лабораторної роботи № 13 з курсу «комп‘ютери та мікро процесори» на тему: “Програмування програм з використанням системного таймера 8253/8254 та робота з годинником реального часу” виконав: студент гр. КН-37 Юрій Семчишин прийняв: викл. Каф. САПР Герус В.А. місто Львів 2003 рік Мета роботи Навчитись програмувати системний таймер 8253/8254 та працювати з годинником реального часу. Завдання для виконання Написати будь-яку мелодію, яка має логічне звучання. Короткі теоретичні відомості Таймер в мікропроцесорних системах теж займає важливе місце. За його допомогою працює годинник реального часу та інші пристрої котрі потребують при своїй роботі відліку проходимого часу. Для того щоб працювати з таймеро і годинником реального часу існують два переривання , одне з яких системи MS-DOS а друге BIOS. В даній лабораторній роботі було програмовано системний таймер для того щоб з його допомогою генерувати паузи при створенні звукового сигналу. Так було використано переривання BIOS 1AH. За допомогою цього переривання і його функції 0, можна дізнатись інформацію про пройдений час яка зберігається в регістрах CX – старший байт лічильника та DX молодший байт лічильника. За допомогою цієї інформації визначалась і створювалась програмна затримка, котра приводила до „затягування” сигналу з системного динаміка. Також завдяки системному таймеру можна генерувати випадкові числа, що може бути застосоване при виданні різних UID – унікальних ідентифікаційних номерів. Фактично алгоритм роботи цей самий, тільки потрібно придумати алгоритм, а вірніше формулу, по якій числа будуть генеруватись з врахуванням тих чи інших розрядів значення таймера. Текст заданої програми .model small .stack 100h .data ; 1 1 1 1 1 1 1 arraysound dw 0,2273,2703,2273,2703,2273,1,2273,2556,2703,3033,2703,2273,1,2273,3033,2273,3033,2273,2556,2703,3033,3405,2703,2273,1,2273,1,2273,2556,2273,1703,1,1703,2024,2273,3405,2556,2273,2025,1,2025,2273,2556,2864,1,2864,2556,2864,2273,2556,3033,3405 arraydelay dw 0, 4, 8, 48, 8, 4,16, 4, 4, 4, 4, 4, 2,16, 48, 8, 48, 8, 4, 4, 4, 4, 4, 4, 2,16, 48,16, 8, 4, 4, 4,16, 4, 4, 4, 4, 4, 4, 4,16, 4, 4, 4, 4,16, 4, 4, 4, 24, 2, 2, 24 ;16,8,816,4,48,2,24,1,12 .code start: mov ax,@data mov ds,ax janet: xor ax,ax ;-------------------- mov al,0B6h out 43h,al in al,61h or al,3 out 61h,al ;-------------------- mov si,0 go: ;------------------- ;mov ax,1 ;out 42h,al ;xchg al,ah ;out 42h,al ;call delay ;------------------- inc si inc si mov ax,arraysound[si] cmp ax,0 je jhlt ;------------------- out 42h,al xchg al,ah out 42h,al ; ;------------------- mov ax,arraydelay[si] cmp ax,16 je j16 cmp ax,8 je j8 cmp ax,4 je j4 cmp ax,2 je j2 cmp ax,1 je j1 cmp ax,816 je j4 cmp ax,48 je j48 cmp ax,24 je j24 cmp ax,12 je j12 jmp go ;------------------- jhlt: jmp janet mov ax,4c00h int 21h ;------------------- j16: call delay jmp go j8: call delay call delay jmp go j4: call delay call delay call delay call delay jmp go j2: mov bx,7 jj2: call delay dec bx jnz jj2 jmp go j1: mov bx,15 jj1: call delay dec bx jnz jj1 jmp go j816: call delay call delay call delay jmp go j48: mov bx,5 jj48: call delay dec bx jnz jj48 jmp go j24: mov bx,11 jj24: call delay dec bx jnz jj24 jmp go j12: mov bx,23 jj12: call delay dec bx jnz jj12 jmp go ;------------------- delay: mov cx,0ffffh ext: push cx mov cx,1400 iter: loop iter pop cx loop ext ret ;------------------- end start Висновок На даній лабораторній роботі було вивчено основні команди для роботи з системним таймером. Також були вивчені основні принципи і можливості використання таймера.
Антиботан аватар за замовчуванням

08.02.2013 15:02-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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