Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ ПРАКТИЧНИХ РОБІ...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
4.39 Mб
Скачать

ВІННИЦЬКИЙ ТЕХНІЧНИЙ КОЛЕДЖ

НАВЧАЛЬНА ПРАКТИКА З МІКРОПРОЦЕСОРНОЇ ТЕХНІКИ

МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ ПРАКТИЧНИХ РОБІТ

галузь знань: 0501 «Інформатика та обчислювальна техніка»

напрямок 6.050102 «Комп’ютерна інженерія»

спеціальність 5.05010201 «Обслуговування комп’ютерних систем та мереж»

Обговорено та затверджено на засіданні циклової комісії «Інформатика та інформаційні комп’ютерні технології»

Протокол №___ від «___»____________2013 року

Голова циклової комісії ________ А. І. Колесник

Вінниця 2013 рік

З М І С Т

ВСТУП………………………………………………………………………………

3

ПРАКТИЧНА РОБОТА №1 Система переривань. Опитування дискретних датчиків. Організація клавіатури…………………………………………………..

4

ПРАКТИЧНА РОБОТА №2 Схеми відображення статичної та динамічної індикації……………………………………………………………………………...

16

ПРАКТИЧНА РОБОТА №3 Організація динамічної індикації. Робота із світлодіодними матрицями. Програмування бігучої стрічки…………………….

27

ПРАКТИЧНА РОБОТА №4 Робота з таймерами-лічильниками………………...

34

ПРАКТИЧНА РОБОТА №5 Перетворення коду в ширину імпульсів…………..

45

ПРАКТИЧНА РОБОТА №6 Розробка апаратної частини………………………..

52

ПРАКТИЧНА РОБОТА №7 Розробка програмної частини………….…………..

68

ПРАКТИЧНА РОБОТА №8 Моделювання роботи…………………..…………..

77

ПРАКТИЧНА РОБОТА №9 Розробка друкованої плати…………….…………..

84

ПРАКТИЧНА РОБОТА №10 Здійснення монтажних робіт……………………..

89

ІНСТРУКЦІЯ З ОХОРОНИ ПРАЦІ ПАЯЛЬЩИКА……………………………...

90

ЛІТЕРАТУРА………………………………………………………………………..

98

ВСТУП

У теперішній час практично неможливо вказати якусь галузь науки і виробництва, в якій би не використовувалися мікроконтролери.

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

Останнім часом широке поширення отримують також програмувальні мікроконтролери, що представляють собою спеціалізовані мікроЕОМ, орієнтовані на вирішення численних завдань в системах управління, регулювання та контролю. Особливу групу складають програмувальні контролери для систем автоматичного регулювання. Найважливішим пристроєм будь-якої системи автоматичного регулювання є пристрій, що задає основний закон управління виконавчим механізмом. Заміна класичних аналогових регуляторів універсальними програмованими мікроконтролерами, здатними програмно перебудовуватися на реалізацію будь-яких законів регулювання, записаних в пам'ять мікроконтролерів, забезпечує підвищення точності, надійності, гнучкості, продуктивності і зниження вартості систем управління. Великою перевагою універсальних мікроконтролерів є їхня здатність виконувати ряд додаткових системних функцій: автоматичне виявлення помилок, контроль граничних значень параметрів, оперативне відображення стану систем і т. п.

Практична робота №1 Система переривань. Опитування дискретних датчиків. Організація клавіатури

Мета роботи: вивчення режимів роботи системи переривань мікроконтролера ATTINY2313, програмна обробка дискретних сигналів.

Теоретичні відомості [1-5]

  1. Опитування дискретних сигналів

Для введення інформації широко застосовуються кнопкові перемикачі і контактні клавіатури. Сигнал таких перемикачів формується шляхом замикання (розмикання) електричного ланцюга [1, 2]. Сигнал, формований контактною парою, супроводжується тремтінням, тривалість якого складає 8 –12 мс (рис. 1.1).

Рисунок 1.1 – Сигнал контактної пари

Для усунення тремтіння контактів (shaking of contacts) на виході контактної пари встановлюють спеціальні формувачі. Приклад такого формувача заснованого на принципі безпосередньої установки RS-тригера приведений на рис. 1.2.

Рисунок 1.2 – Схема усунення тремтіння за допомогою RS-тригера

Для зменшення апаратних витрат застосовують програмне зменьшення тремтіння. Воно полягає в повторному опитуванні контактної пари з затримкою в 12 мс, при збігу результатів опитування кнопка була натиснута, інакше в результаті першого опитування було зафіксовано тремтіння [1,2].

  1. Обробка переривань і скидання

Мікроконтролер ATTINY2313 має 3 джерела сигналу скидання [2, 3]:

  • скидання по включенню живлення (Power-On Reset). MCU скидається при підключенні живлення до виводів VCC і GND;

  • зовнішнє скидання (External Reset). MCU скидається якщо низький рівень присутній на вході більш 50 нс;

  • скидання по сторожовому таймері (Watchdog Reset). MCU -скидається якщо минає період сторожового таймера і сторожовий таймер дозволений.

Протягом скидання всі регістри І/O, за винятком регістра статусу MCU, встановлюються в їхні початкові стани і програма починає роботу з адреси $000. По цій адресі повинна знаходитися команда RJMP - команда абсолютного переходу до підпрограми обробки скидання. Якщо програма ніколи не дозволяє переривання, то вектори переривань не використовуються і по цих адресах можуть розташовуватися коди програми.

Скидання по включенню живлення. Схема скидання по включенню живлення (Power-On Reset - POR) забезпечує запуск мікроконтролера тільки по досягненні напругою Vcc безпечного рівня. Вбудований таймер, трактується вбудованим генератором сторожового таймера, утримує запуск MCU на якийсь час після досягнення граничної напруги вкючения живлення Vpot , що не залежить від швидкості наростання напруги Vcc. Якщо вбудована затримка запуску достатня, то RESET може бути приєднаний до Vcc чи безпосередньо через зовнішній навантажувальний резистор. Утриманням виводу на низькому рівні, під час подачі напруги, період скидання по включенню живлення може бути збільшений.

Зовнішнє керування скиданням. Зовнішнє скидання формується подачею низького рівня на вивід RESET на час не менше двох тактових циклів кварцового генератора. При досягненні напругою на виводі RESET рівня VRST запускається таймер, що затримує запуск MCU на час t TOUT.

Скидання по сторожовому таймері. По закінченні часу, обумовленого сторожовим таймером, таймер формує короткий, тривалістю в один цикл XTAL, імпульс скидання. По падаючому фронті цього імпульсу таймер затримки починає відлік t tout.

Блок переривань приймає запити переривання й організує перехід до виконання визначеної програми, що перериває. Запити переривання надходять із зовнішніх джерел і з джерел, розташованих у різних пристроях мікроконтролера.

Для прийому запитів із зовнішніх джерел використовуються виводи паралельних портів введення/виведення, для яких ця функція є альтернативної. При виконанні альтернативної функції вивід порту має альтернативне ім'я ІNTx (х = 0, 1, ..., 7).

Запит переривання з зовнішнього джерела може бути представлений низьким рівнем сигналу (L), переходом від високого рівня до низького (HL), переходом від низького рівня до високого (LH) або переходом будь-якого напрямку (LH/HL). Вибір способу представлення визначається комбінацією станів розрядів ІSCx0 і ІSCxl у регістрі MCUCR ( $D5).

Кожний запит переривання надходить у блок переривань, якщо переривання в мікроконтролері дозволені (І = SREG.7 = 1) і дозволене переривання по даному запиті. Переривання по окремому запиті дозволено, якщо в одиничному стані знаходиться розряд, що маскує, (MASK) для даного запиту переривання, розташований в одному з регістрів вводу/виводу.

З появою запиту переривання встановлюється в одиничний стан прапор розряд (FLAG) для даного запиту переривання, розташований в одному з регістрів вводу/виводу. Стан прапорця розряду запитується апаратно і, крім того, може бути опитано програмними засобами.

При надходженні запиту блок переривань організує апаратний безумовний перехід до виконання команди, адреса якої (вектор переривання) однозначно зв'язаний з ім'ям запиту переривання По цій адресі в мікроконтролерах серій АТ90 повинна бути записана команда безумовного переходу з мнемокодом RJMP k, машинний код який має формат "слово. По цій команді виконується програмний безумовний перехід до першої команди відповідної програми, що перериває, що може бути розташована в будь-якому місці в FlashROM.

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

При переході до виконання програми, що перериває, розряд І в регістрі SREG апаратно скидається в нульовий стан і переривання по всіх запитах виявляються забороненими. Розряд І встановлюється в одиничний стан при виконанні команди повернення з програми, що перериває, із мнемокодом RETІ. Розряд І може бути встановлений в одиничний стан програмно по команді SEІ в програмі, що перериває. Програма, що виконується при пуску мікроконтролера і по запиті RESET, не містить команди RETІ і для виконання переривань повинна містити команду SEІ.

Переривання по запиті RESET виконується поза залежністю від стану розряду і у регістрі SREG. Опитування стану входів блоку перериванні виконується в кожнім такті. При виявленні запиту код з лічильника команд заноситься в стек, на що затрачається 2 такти, і виконується безумовний перехід по команді з мнемокодом RJMP k (2 такти). Якщо при виявленні запиту переривання процесор не закінчив виконання поточної багатотактової команди, до переходу до програми, що перериває, завершується виконання цієї команди.

Мікроконтролери AVR2313 використовують 10 джерел переривання. Ці переривання і вектор скидання розташовують окремими програмними векторами в просторі пам'яті програм. Кожному перериванню привласнений свій біт дозволу який повинний бути встановлений разом з бітом І регістра статусу.

Молодші адреси простору пам'яті програм автоматично визначаються як вектори скидання і переривань.

Повний перелік векторів представлений у табл. 1.1. Перелік представляє також рівень пріоритету для кожного переривання. Переривання з молодшими адресами мають більший рівень пріоритету. RESET має найвищий рівень пріоритету, що випливає є ІNT0 - запит зовнішнього переривання 0 і т.д.

Перед початком роботи з AVR мікроконтролерами виконується настройка його режимів роботи. Для цього використовуються регистри MCUR, GIMSK, SREG. Даний процес називається ініціалізація [4].