Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labor_PEMT_Chastina_2.doc
Скачиваний:
7
Добавлен:
16.02.2016
Размер:
822.27 Кб
Скачать

5.2 Порядок виконання роботи

  1. Ознайомитися з особливостями паралельних інтерфейсів мікропроцесорних систем, вивчити їх атрибути.

  2. Скласти програму мовою асемблера для МП К1810ВМ86, яка забезпечує виведення на принтер текстового рядка, що зберігається в сеґменті даних.

  3. За допомогою текстового редактора ввести текст програми керування обміном інформацією через паралельний інтерфейс мовою асемблера для МП К1810ВМ86 та зберегти його в каталозі вашої групи в C:\CPU\TASM\WORK.

  4. Домогтися правильної роботи розробленої програми.

  5. Зберегти файл з вихідним текстом програми, а також ехе-файл.

  6. Вийти з програми TASM.

  7. Скласти звіт щодо виконаної роботи.

5.3 Зміст звіту

  1. Титульний аркуш.

  2. Найменування та мета лабораторної роботи.

  3. Короткі теоретичні відомості.

  4. Отримане у викладача завдання (текст програми з докладними коментарями).

  5. Опис виконання кожного пункту завдання.

  6. Письмові відповіді на контрольні питання.

5.4 Контрольні запитання

  1. В чому полягає основна відмінність паралельних інтерфейсів від послідовних? Які переваги має кожний з типів інтерфейсів?

  2. Який паралеьлний інтерфейсів використовуються у мікропроцесорних системах для підключення принтера?

  3. З яких реґістрів складається адаптер паралельного інтерфейса для мікропроцесорних систем на базі МП К1810ВМ86?

  4. Опишіть призначення бітів реґістра статусу. Дайте пояснення особливостям використання.

  5. Опишіть призначення бітів реґістра керування. Дайте пояснення особливостям використання.

  6. Які режими роботи паралельного інтерфеса ви знаєте?

Лабораторна робота № 6 програмне опитування датчиків технологічної інформації. Програмне виведення інформації на зовнішній пристрій

Мета роботи.

Освоїти програмування додатків мовою асемблера для МП К1810ВМ86 для керування зовнішніми пристроями за допомогою портів введення/виведення

6.1 Теоретичні відомості

В разі використання мікропроцесорної системи для керування технологічним механізмом опитування датчиків технологічної інформації та перетворення аналогового сиґналу в цифровий, запис інформації в ОЗП виконується під керуванням МП.

Так, номер опитуваного датчика технологічних величин формується в одному з реґістрів загального призначення (РЗП), наприклад, в реґістрі ВН. У 8-розрядному реґістрі в 5-ти старших розрядах записуються одиниці, а в трьох молодших розрядах - номер датчика.

Вся робота мікропроцесорної системи з пристроями на найнижчому рівні виконується з використанням портів введення-виведення. Розглянемо на прикладі, як на рівні апаратури забезпечити керування за допомогою МПС зовнішнім пристроєм, наприклад, формування звука сирени.

Загальна схема формування такого сиґналу показана на рис. 6.1.

Рис. 6.1 - Схема формування звука для вбудованого динаміка ПЕОМ

Приклад програми, що реалізовує звук сирени наведений в лістингу 6.1. Для зручності роботи в програмі була використана макрокоманда delay, що виконує затримку роботи програми на заданий час.

Приклад 6_1.

;Програма, що імітує звук сирени.

;3міна висоти звуку від 450 Гц до 2100 Гц.

;Використовується макрос delay(затримка),

masm

model small

stack 100h

delay macro time

;макрос затримки, його текст обмежуеться директивами macro i endm.

;на вході - значения затримки (у мкс)

local ext, iter

push сx

mov cx,time

ext:

push сx

mov сx, 5000

iter:

loop iter

pop сx

loop ext

pop сx

endm

.data ;сеґмент даних

tonelow dw 2651 ;нижня частота звучания = 450 Гц

cnt db 0 ;лічильник для виходу з програми

temp dw ? ;верхня частота звучания

.code ;сеґмент коду

main: ;точка входа в програму

mov ax,@data ;зв'язати реґістр ds з сеґментом

mov ds,ax ;даних через peґicтр ax

хоrах,ах ;очищуємо ах

go:

mov al,0B6h ;заносимо слово стану 10110110b (0B6h)

out 43h,al ;в командний реґістр (порт 43h)

in al,61h ;зчитати значення порта 61h в al

or al,3 ;ініціалізація динаміка i подача струму

out 61h,al ;на порт 61h

mov cx,2083 ;кількість кроків ступінчастої зміни тону

musicup:

;у ах значения нижньої частоти частоти звуку

mov ax,tonelow

out 42h,al ;порт 42hмолодше слово ах:al

xchg al,ah ;обмін між al i ah

out 42h,al ;y порт 42hстарше слово ax:ah

add tonelow, l ;підвищуємо тон

mov dx,tonelow ;y dx поточне значения висоти звуку

mov temp,dx ;temp - верхне значения висоти звуку

loop musicup ;повторити цикл шдвищення

mov cx,2083 ;відновити лічильник циклу

musicdown:

mov ax,temp ;y ax верхне значения висоти

out 42h,al ;у порт 42hмолодше слово ax:al

mov al,ah ;обмін між al i ah

out 42h,al ;y порт 42h старше слово ax:ah

sub temp,l ;знижуємо висоту звуку

delay 1 ;затримка на 1 мкс

loop musicdown ;повторити цикл зниження

nosound:

in al,61h ;набудемо значения порту 61h в AL

and al,0FCh ;вимкнути динамік

out 61h,al ;у порт 61h

mov dx,2651 ;для подальших циклів

mov tonelow,dx

inc cnt ;збільшуемо значення лічильника проходів,

;тобто кількість звучань сирени

сmpcnt,5 ;у 5 разів?

jnegо ;якщо ні, перейти на міткуgо

ехіt:

movах,4с00b ;стандартний вихід

іnt21h

end main ;кінець програми

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]