Mikroprotsesorni-pristroyi (1)
.pdfУ вікні дисків вибираємо клавішами управління курсором (<←> уліво, <→> управо) диск 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
