DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра систем автоматизованого проектування

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

Рік:
2003
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системне програмування
Група:
КН-37
Коротко про документ

Про що ця робота

У звіті розглядається програмування системного таймера 8253/8254 та робота з годинником реального часу в мікропроцесорних системах. Наведено код програми для генерації мелодії за допомогою переривань.

У роботі розглядаються

  • Системний таймер 8253/8254
  • Годинник реального часу
  • Апаратні переривання
  • Програмування звукового сигналу
  • Мікропроцесорні системи
  • Мова асемблера

Зміст і розділи

  1. Мета роботи
  2. Завдання для виконання
  3. Короткі теоретичні відомості
  4. Текст заданої програми
  5. Висновок
Для кого:Студенти технічних спеціальностей та викладачі дисциплін з мікропроцесорної техніки і системного програмування.
Викладачі:Герус В. А.

Ключові поняття

годинник реального часуперериванняBIOSMS-DOSдинамікпрограмна затримкалічильник

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

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра САПР  Звіт з лабораторної роботи № 13 на тему “Програмування програм з використанням системного таймера 8253/8254 та робота з годинником реального часу” МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра САПР  Звіт з лабораторної роботи № 13 на тему “Програмування програм з використанням системного таймера 8253/8254 та робота з годинником реального часу” Данчук Є.С. Перевірив: Герус В.А. Львів 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 Висновок На даній лабораторній роботі було вивчено основні команди для роботи з системним таймером. Також були вивчені основні принципи і можливості використання таймера.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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