Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Mikroprotsesorni-pristroyi (1)

.pdf
Скачиваний:
59
Добавлен:
02.02.2015
Размер:
3 Мб
Скачать
☆

У вікні дисків вибираємо клавішами управління курсором (<←> уліво, <→> управо) диск D (жовтий колір на D), а на деяких комп’ютерах диски С або Е.

3.На вибраному диску, наприклад D, знаходимо директорію Lab_3 (D:\) (клавішами <−>,<↓> наводимо курсор на директорію Lab_3 і, натиснувши клавішу <Enter>, потрапляємо в директорію D:\Lab_3.

4.Знаходячись в директорії D:\Lab_3, створимо новий файл. Для цього натискаємо комбінацію клавіш <Shift>+<F4> і у вікні редактора, яке з'явилося на екрані, введемо ім'я нового файлу name.a51 (де name – прізвище студента до 7 символів); натискаємо <Enter> і у відкритому вікні нового файлу набираємо програму в мнемонічному коді, побудовану в лабораторній роботі №2, скореговану таким чином. На початку програми записуємо директиву ORG 00H, потім команду SJMP 30H, за нею директиву ORG 30H, далі програму, яка використовувалася в лаб. № 2. Блок команд в кінці програми, який раніше використовувався для зациклення (NOP-SJMP), замінюється одним оператором повернення з підпрограми – RET. Це пояснюється тим, що будь-яка програма, завантажена з ПЕОМ по директиві “L”, сприймається “ монітором” стенду як підпрограма. Як відомо, повернення з підпрограми виконується командою RET. Для збереження змін

уфайлі використовуйте клавішу < F2 >.

Виконання програми

1.Створену нову програму (файл name.a51) обробляємо програмою асемблер (файл ASM51.EXE). Для цього введемо в командній строчці CMD> команду ASM51 name.a51. Результатом виконання програми буде об'єктний файл (name.obj), представлений в машинних кодах, а також лістинговий файл name.lst, який містить текст початкової програми, її шістнадцятирічний код, відомості про помилки (якщо вони є ) і службову інформацію.

2.Одержаний файл name.obj необхідно перекодувати в шістнадцятирічний файл, для чого, використовуючи команду OH.EXE, введемо в командну строчку OH name.obj і натиснемо <ENTER>. Результатом виконання цієї команди буде файл в шістнадцятирічному коді name.hex . Надалі виконання роботи ведеться саме з цим файлом (name.hex).

3.У директорії D:\LAB_3 знаходимо файл відладчика програм

231

FD51.EXE і, натиснувши клавішу <ENTER>,запускаємо його.

4.У відкритому вікні відладчика у вікні команд CMD> вводимо команду L name.hex і натискаємо <ENTER>. У вікні програми буде виведено дизасембльовану програму.

5.Натискаючи клавішу <F1>, крок за кроком виконаємо програму. Дійшовши до команди RET, зафіксуємо в звіті зміст акумулятора.

6.Вихід з програми відладчика проводиться командою QUIT, яка вводиться у вікні команд CMD>.

7.Результати роботи (файли з назвою nаmе і з розширеннями a51, hex, lst, obj) зберегти в директорії D:\LAB_3.

Частина 2. Виконання програми і перевірка результатів Підготовка до роботи. Перед виконанням ч. 2 необхідно скорегувати

програму, складену в частині 1. Для цього досить замінити на початку програми в директивах ORG адреси з 00H на 8000H, а 30H на 8030H і в команді SJMP з 30H на 8030H. Подальше виконання роботи проводиться згідно п. 1-6 ч. 2.

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

1.Користуючись програмою “ Монітор” ПЕОМ, за допомогою директиви “F” заповнити адресний простір з 8000 h до 8050 h константою FF.

2.За допомогою директиви “L” завантажити hex-файл програми в ОЗП стенду за адресою 8000 h.

3.За допомогою директиви “D” з урахуванням початкової і кінцевої адрес вивести на екран текст завантаженої програми.

4.Користуючись директивою “J” з початковою адресою програми як параметром, запустити програму на виконання.

5.Перевірити індикацію порту Р1 лабораторного стенду МК51.

6.Перевірити двійковий код вмісту порту Р1, що висвітився на індикаторах (Р0-Р7). Він повинен відповідати інвертованому змісту акумулятора, який був зафіксований в звіті в першій частині роботи.

Зміст регістра А (відображається в 16-річному коді) і зміст порту P1 (відображається в двійковому коді) повинні бути інверсними.

232

Зміст звіту. Повний текст скорегованої програми з директивами і коментарями і результати розрахунку.

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

1.Структура програми на асемблері.

2.Функції відладчика.

3.Структура вікна і команди відладчика FD51.

4.Функції і структура вікна програми “ Монітор”.

5.Директиви програми “ Монітор”.

6.Алгоритм функціонування монітора лабораторного стенду.

7.Призначення програми ASM-51.EXE і результати її виконання.

8.Устрій, принцип дії і режими роботи УАПП.

9.Зміст файлів name.obj і name.lst.

10.Призначення команди OH name.obj і результати її виконання.

11.Який файл використовується при роботі з відладчиком програм?

12.Як запустити файл відладчика програм?

6.4. Лабораторна робота №4. Дослідження аналого-цифрового перетворювача

Мета роботи – ознайомитися з принципом дії аналогово-цифрового перетворювача (АЦП) і навчитися використовувати його можливості при складанні програм, що управляють, на асемблері МК51.

Підготовка до роботи: вивчити рекомендовану літературу [20,21,26], ознайомитися з принципом дії і правилами роботи з АЦП.

Використовуване устаткування: ПЕОМ, лабораторний стенд МК51,

джерело живлення напругою 5В, вольтметр, потенціометр.

Основні відомості про аналогово-цифровий перетворювач (АЦП)

і цифро-аналоговий перетворювач (ЦАП)

При використанні мікроконтролера для вирішення деяких завдань управління виникає необхідність проведення перетворення аналогових сигналів в цифрові і навпаки – цифрового коду в аналоговий сигнал. Для цього використовують АЦП і ЦАП. При виборі цих пристроїв враховують

233

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

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

2. Апаратно-програмний. Реалізується на основі ВІС ЦАП і програми зважування біт (послідовних наближень побітового урівноваження). Даний спосіб характеризується високою швидкодією і можливістю використання простих і дешевих схем ЦАП і операційного підсилювача.

3.Програмно-апаратний – побудований на основі методу подвійної інтеграції. Найбільш дешевий і повільний. Може забезпечити високу точність перетворення. З додаткового устаткування вимагає два операційних підсилювача і аналоговий мультиплексор на два входи.

4.Апаратно-програмний. Реалізується на основі перетворювача напруга– частота і програми вимірювання періодів сигналу.

Після обробки одержаного сигналу МК видає сигнали управління в двійковому коді, які необхідно перед подачею на пристрій управління об'єктом перетворити на аналоговий сигнал. Для цієї мети використовують ЦАП. ВІС ЦАП підключають до одного з портів МК. Видача аналогового керуючого сигналу здійснюється по команді (OUTL P1, A). При цьому на виході ЦАП з'явиться напруга (струм), пропорційна двійковому коду, завантаженому в порт 1.

Ряд об'єктів управління може потребувати безперервного сигналу , що управляє, в складній формі. Для реалізації такого сигналу в МК використовуються цифрові методи інтеграції. На кожному інтервалі часу функція, яка інтегрується, замінюється її дискретним значенням, а програма реалізується з використанням процедур видачі коду і часової затримки заданої тривалості.

Уцій роботі використовується апаратний спосіб перетворення аналогового сигналу в двійковий код. Аналого-цифрова частина зібрана на

234

мультиплексорі аналогових каналів КР560КН6 (ДА1), десятибітового АЦП К1113ПВ1 (ДА2), і карти читання даних з АЦП, зібраної на регістрі КР1533ИР33 (ДД). АЦП може працювати в двох режимах з різною точністю

– 8 і 10 біт. При роздільній здатності 8 біт, якщо ведеться передача перетвореної інформації через послідовний порт, швидкість буде трохи вища. Перетворені в двійковий код дані поступають в порт P1 мікроконтролера.

Алгоритм прийому даних мікроконтролером від АЦП приведений на рис. 6.6, а текст цієї програми представлений нижче.

Програма прийому даних МК від АЦП

AJMP AZP

.ORG 030H AZP:

P1 .EQU 090H

P3.3 .EQU 0B3H

P3.4 .EQU 0B4H LOOP:

CLR P3.4 WAIT:

JB P3.3,WAIT MOV R0,#C000H MOVX A,@R0 MOV P1,A SETB P3.4

SJMP LOOP END

Рисунок 6.6 – Алгоритм прйому даних мікроконтролером від АЦП

Для вибору номера входу треба занести код входу в регістр, який керує номером входу АЦП. Адреса регістра – А000h.

Коди входів АЦП:

235

Вхід 1 (0)

00В

00Н

Вхід 3 (2)

10В

02Н

Вхід 2 (1)

01В

01Н

Вхід 4 (3)

11В

03Н

Порядок виконання

роботи. Для

виконання завдання необхідно

зібрати схему, приведену на рис. 6.7, в якій подаватиметься сигнал (постійна напруга від 0 до 5 В) на вхід АЦП.

Схема складається з джерела живлення напругою 5 В, потенціометра і вольтметра, який підключений паралельно до входу АЦП. Вольтметр використовується для еталонного контролю напруги сигналу.

Вхід АЦП

+

 

 

 

 

 

 

 

 

 

АЦП

До порту МК

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Стенд МК 51

E1

R1

 

-

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V1

V

SA1

Рисунок 6.7 – Схема емулятора вхідного сигналу для АЦП

Після того, як схема підключена, в ОЗП стенду з персонального комп'ютера необхідно завантажити програму для роботи з АЦП. Програма в шістнадцятирічному коді знаходиться у файлі azp.hex, і після завантаження в ОЗП повинна читати сигнал з входу АЦП і передавати його в порт P1. При цьому відповідно до зміни напруги на вході АЦП (змінюється потенціометром) змінюватиметься і зміст порту P1, що відображатиметься на світлодіодах P0–P7. Для завантаження програми треба перевести стенд в режим роботи з ПЗП, а далі діяти по схемі лабораторної роботи №3 (ч.2): запустити програму “monitor” і за допомогою директиви “L” завантажити файл azp.hex. Після того, як програма завантажена в ОЗП стенду, його треба

236

перевести в режим роботи без ПЗП і вимкнути режим скидання.

За допомогою директиви J8030 програма запускається на виконання, після чого на індикаторах порту P0–P7 у режимі реального часу починає відображатися стан входу АЦП.

Завдання 1. Розрахувати розрядність цифрової індикації порту P1. Розв’язання. Для вирішення цього завдання необхідно, 5–10 вибраних

значень напруги записати в таблицю стану світлодіодів (зміст порту P1) і розрахувати вагомість розряду порту P1 по формулі:

C=U/P1,

де С – відношення, яке характеризує величину зміни напруги на вході АЦП, що викликає зміну сигналу на виході (у порту P1) на одну одиницю;

U – напруга на вході АЦП, показана вольтметром V1; P1 – зміст порту P1 у десятковому коді.

Зміст звіту:

∙схема підключення джерела сигналу до входу АЦП (рис.6.7);

∙таблиця залежності сигналів в порту P1 від сигналів на АЦП;

∙розрахунок вартості розряду індикації порту.

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

1.Викладіть принцип дії схеми (рис. 6.7) і порядок виконання лабораторної роботи.

2.На чому засновані принципи дії АЦП і ЦАП ?

3.Поясніть алгоритм програми прийому даних мікроконтролером з

АЦП.

4.Складіть програму прийому даних з АЦП.

5.Вкажіть способи перетворення аналогового сигналу в цифровий код і

назад.

6.Поясніть структурну схему МК51, що приводиться нижче на рисунку

6.8і її роботу при зборі інформації з аналогових датчиків.

7.Назвіть призначення виводів мікросхеми МК51, приведену на рисунку 5.1, і поясніть схему підключення АЦП до МК51.

8.Поясніть структуру карти адресації бітів в резидентній пам'яті даних, представлену нижче на рис. 6.9.

237

9. Поясніть структуру карти адресації бітів в блоці регістрів спеціальних функцій, приведену нижче на рис. 6.10 і призначення регістрів спеціальних функцій.

Рисунок 6.8 – Структурна схема МК51

238

Карти адресації біт

Рисунок 6.9 – Карта

Рисунок 6.10 – Карта адресації бітів у

блоці регістрів спеціальних функцій

адресації бітів у

 

резидентній пам'яті даних

 

(РПД)

 

239

7.ЗАСТОСУВАННЯ МІКРОКОНТРОЛЕРІВ

Вданий час мікропроцесорні пристрої широко застосовуються для вирішення самих різних завдань практично у всіх областях діяльності людини. Можливі області застосування МК пов'язані з їх архітектурою і розрядністю:

∙ 8-розрядні мікроконтролери сімейства МК51 застосовуються для управління різними технологічними процесами у виробництві, випробуваннях і дослідженнях устаткування, в пристроях управління транспортом, в службовій, комерційній, торговій і побутовій апаратурі, пристроях автоматичного управління вимірювальними приладами;

∙16-розрядні МП використовуються в системах зв'язку, збору і обробки інформації, контрольно-розподільних системах, в системах навігації, аналого-цифрових перетворювачах, в мікроЕОМ широкого призначення;

∙32-розрядні застосовуються в мікро- і міні-ЕОМ широкого призначення, МПС цільового призначення, спеціалізованих процесорах, цифрових фільтрах, автокореляторах.

∙64-розрядні - в мультимедійних, в 2D і 3D графічних системах.

7.1.Застосування мікроконтролерів в електромеханічних системах

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

У [21] приведені класифікація і опис завдань електромеханіки і транспорту, які розв'язуються із застосуванням мікроконтролерних пристроїв. Там же приведені приклади застосування мікроконтролерів на транспорті. Так, для управління потужними транспортними дизельними установками від 250 до 3000 кВт і більше використовується електронний регулятор фірми –« Хайнцман». Там же вказані найбільш відомі фірмивиробники таких регуляторів, як, «Бош», «Хайнцман», «Барбет», «Вудвард» і

240