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

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

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

  2. Вивчити механізм виклику оброблювачів переривань системних пристроїв.

  3. Відповідно до запропонованої граф-схеми роботи написати додатки, що забезпечують взаємодію задач через переривання.

  4. Забезпечити затримку виведення рядка за перериваннями таймера значенням t_n порядку 1 с.

  5. Написати додаток, який би здійснював запис під час виконання основної програми.

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

  7. Вийти коректно із програмного середовища.

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

3.3 Зміст звіту

  1. Титульна сторінка.

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

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

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

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

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

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

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

  2. Як відкрити вихідний файл з текстом програми мовою асемблера в середовищі відлагоджувача Turbo Debugger?

  3. Які режими перегляду реґістрів процесора, для якого розробляється програма.

ЛАБОРАТОРНА РОБОТА № 4

РОЗРОБКА ПРОГРАМИ АНАЛОГОВО-ЦИФРОВОГО ПЕРЕТВОРЕННЯ І ЧИТАННЯ ДАНИХ З АЦП ДЛЯ МП К1810ВМ86

Мета роботи.

Навчитися створювати програми для керування процесом аналогово-цифрового перетворення і забезпечити читання перетворених даних з АЦП.

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

Пристрої обчислювальної системи з’єднуються один з одним за допомогою уніфікованих систем зв’язку, що називаються інтерфейсом. Інтерфейс повинен бути стандартизований, щоб забезпечити зв’язок процесора і оперативної пам’яті з будь-яким периферійним пристроєм (ПП). Алгоритми функціонування інтерфейсу і керуючого реґістра, також повинні бути стандартизовані.

До спеціалізованих пристроїв інтерфейсу мікропроцесорних систем відносяться АЦП, ЦАП та перетворювачі кодів. Перетворення аналогової інформації в цифрову базується на теоремі Котельникова: будь-який аналоговий сиґнал може бути записаний в дискретній формі й інформація не буде втрачена, якщо крок квантування tбуде вибраний за умови:

, (4.1)

де Fmax– максимальна частота спектру передаваного сиґналу.

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

Схема АЦП на базі ЕОМ (мікроконтролера) показана на рис. 4.1.

Рис. 4.1 – Приклад (фрагмент) електричної схеми підключення АЦП до ЕОМ

Вона включає 10-розрядний реверсивний ЦАП, підключений до виходів порта РВ (молодші 8 розрядів) і порта РС.3-0 (старші розряди – РС.1-0 і знак – РС.3). Порт РС.7-4 настроюється на введення, два біти його: D7 і D6 використовуються для введення знака розузгодження компаратора в прямому та інверсного кодах. Аналоговий вихід ЦАП підключений до інверсного входу компаратора, на прямий (неінвертований) вхід якого подається вимірюваний реґістр. Вихід компаратора через реґістри інвертування DV3, DV4 підключений до входу ЕОМ для визначення знака розузгодження і програмного збереження або усунення бітів послідовного наближення.

Нижче наведений приклад фрагменту програмного коду для обміну даними між АЦП та МП системою:

stck segment para stack ‘stack’ ;налаштування сеґмента стека

dw 100 dup(?) ;встановлюється об’ємом у 100 слів

stck ends ;кінець сеґмента стека

data segment public para ;сеґмент даних

codin dw (?)

data ends ;кінець сеґмента даних

cod segment public para ‘code’ ;початок сеґмента кода

cap proc far ;оголошення процедури

assume cs:cod,ds:data,ss:stck,es:data

pb equ 21h ;адреса порта PB

pc equ 22h ;адреса порта PC

pu equ 23h ;адреса реґістра керування портами

push ax ;збереження в стек вмісту реґістра АХ

push cx ;збереження в стек вмісту реґістра 23ег

push dx ;збереження в стек вмісту реґістра DХ

mov al,98h ;записуємо в акумулятор керуюче слово

;10011000B для настройки режиму 0 порта

;А – на введення

out pu,al ;C(7-4) – введення, В – виведення,

;С(3-0) – вивід

xor al,al ;очищення акумулятора

out pc,al ;пересилання до ЦAП нульового значення

out pb,al ;пересилання до ЦAП нульового значення

nop ;пауза на час роботи ЦАП

in al,pc ;введення знака біта С(7-4)

and al,0Ch ;операція маскування для виділення

;бітів D(7-6)

test al,08h ;перевірка знака вимірюваної напруги

jz mmin ;якщо знак «мінус» – перехід

;на встановлення знака (-)

mov dx,0000 ;інакше знак (+)

mov ch,40h ;контрольований біт розузгодження – D6

jmp short start ;команда безумовного переходу на початок

mmin: mov dx,0800h ;знак результату «мінус»

mov ch,80h ;контрольований біт – D7

mov ch,02h ;начало перевірки бітів PC.1,0

start: mov al,dh ;біти, що вже пеpевіpені

or al,cl ;вставлення біта, що перевіряється

out pc,al ;виведення старших бітів і знака на порт

;PC (3-0)

nop ;пауза ЦАП

in al,pc

and al,ch ;перевірка знака розузгодження

jz nnn ;якщо більше – біт не потрібен

or dh,cl ;інакше вводиться результат

nnn: rol cl,1 ;зсув біта, що перевіряється

jnc start ;якщо це не останній біт – повторити

mov cl,80h ;початок перевірки бітів PB 7-0

stta: mov al,dl

or al,cl ;вставлення біта, що перевіряється

out pb,al ;виведення молодших бітів та знака до ЦАП

nop ;пауза

in al,pc

and al,ch ;перевірка знака розузгодження

jz ttt ;якщо більше – біт не потрібен

or dl,cl ;інакше біт вставляється в результат

ttt: rol cl,1 ;зсув біта, що перевіряється вліво

jnc stta ;якщо біт не останній – повторити

test dx,0800h ;перевірка значення знака числа

jz rrr ;якщо «плюс» - вихід

and dx,03FFh ;встановлення прямого позитивного кода

neg dx ;отримання додаткового кода

rrr: mov codin,dx ;запам’ятовування результату

pop dx ;відновлення зі стека вмісту реґістра DX

pop cx ;відновлення зі стека вмісту реґістра CX

pop ax ;відновлення зі стека вмісту акумулятора

mov al,20h ;очищення біта переривання

out PU,al ;пересилання на контролер переривань

iret ;вихід з процедури обробки переривання

cap endp ;кінець процедури

cod ends ;завершення сеґмента коду

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

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