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

DOCS / вычтехника / PIC16_2014

.pdf
Скачиваний:
18
Добавлен:
14.02.2015
Размер:
607.08 Кб
Скачать

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

Тема: Обробка натиснень від окремих клавіш.

Мета:

1.Засвоїти принцип програмної фільтрації випадкових перемикань клавіш під час натискання та відпускання (“брязкіт контактів”);

2.Отримати навики використання окремих клавіш для управління мікроконтролером.

Завдання:

1.Ініціалізувати порт B для введення даних та програмно підключити підтягувальні резистори;

2.Реалізувати процедуру програмної фільтрації “брязкоту контактів”;

3.Отримати номера та кількість натиснутих клавіш для управління світлодіодами, що підключено до порту A (табл. 3.1).

Таблиця 3.1 Варіанти завдань для лабораторної роботи №3*

 

Реакція при натисненні на клавішу

 

Режим управління

 

 

 

 

 

 

 

 

 

 

світлодіодами

 

SB1

 

SB2

SB3

SB4

SB5

SB6

SB7

 

SB8

 

 

 

 

 

 

 

 

 

 

 

 

1

 

S

S

 

P

Циклічний зсув ліворуч

 

 

 

 

 

 

 

 

 

 

 

 

2

 

S

P

 

Циклічний зсув праворуч

 

 

 

 

 

 

 

 

 

 

 

 

3

P

 

P

S

 

Інверсія

 

 

 

 

 

 

 

 

 

 

 

 

4

S

 

S

P

 

P

Інверсія парних бітів

 

 

 

 

 

 

 

 

 

 

 

 

5

 

P

S

 

S

Інверсія непарних бітів

 

 

 

 

 

 

 

 

 

 

 

 

* – для всіх варіантів тактова частота мікроконтролеру дорівнює 4 МГц; частота зміни стану світлодіодів повинна дорівнювати 2 Гц; S – запуск відповідного режиму управління поточним станом світлодіодів (тільки при натисненні клавіші, при утриманні – повторний запуск не виконується);

P – зупинка режиму; початковий стан молодшої частини порту A – 1011.

11

Для оцінки результатів виконання програми слід використовувати засоби емуляції, які надаються середовищем розробки MPLAB, а також схему, яку наведено на рис. 3.1.

Рис. 3.1 Схема підключення окремих клавіш та світлодіодів Схема забезпечує обробку натиснень на клавіші SB1-SB8

(підтягувальні резистори підключаються програмно) та управління станом світлодіодів VD1-VD4, струм через які обмежується резисторами R1-R4.

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

При замиканні та розмиканні контактів клавіш виникають імпульсні завади, які викликані “брязкотом контактів”. Це обумовлено пружними властивостями контактів. На рис. 3.2 представлений приклад процесу зміни напруги при замиканні клавіші.

Рис. 3.2 Процес зміни напруги при замиканні клавіші Цей процес може інтерпретуватися як декілька розмикань і замикань

клавіші, що призведе до багаторазового спрацьовування виконуючого пристрою. Для усунення “брязкоту контактів” використовують апаратні та програмні способи. Апаратні способи потребують додаткових елементів

(наприклад, RC-ланки для фільтрації сигналу).

12

Програмні способи полягають:

1.У повторному опитуванні стану клавіш із затримкою на час більший від тривалості перехідного процесу “брязкоту контактів”;

2.У серії з N опитувань стану клавіш (загальна тривалість серії

також повинна перевищувати тривалість перехідного процесу).

Якщо попередній стан не співпадає з поточним (перший спосіб) або не співпадають стани двох послідовних опитувань у серії (другий спосіб),

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

Для схеми на рис. 3.1 розімкненому стану клавіш відповідає рівень логічної 1, а замкненому – рівень логічного 0. Для визначення кількості натиснутих клавіш та їх номерів необхідно послідовно перевірити стан 8

бітів, які отримані в процесі фільтрації. При виявленні логічного 0

запам’ятовується номер клавіші та збільшується кількість натиснутих клавіш. Якщо кількість натиснутих клавіш дорівнює 1, то далі проводиться перевірка номера натиснутої клавіші та виконання відповідних дій.

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

1.Опішить процес “брязкоту контактів”.

2.Вкажіть способи програмної фільтрації “брязкоту контактів”.

3.Розрахуйте кількість опитувань в серії, якщо тривалість “брязкоту контактів” дорівнює 20 мс, а частота опитуваннь – 200 Гц.

4.Наведіть приклад програмування TMR0 при FOSC=4 МГц для 10

опитувань в серії та тривалості “брязкоту контактів” 20 мс.

5.Наведіть алгоритм визначення номеру натиснутої клавіші.

6.Наведіть алгоритм виконання певних дій при натисненні на відповідні клавіші.

13

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

Тема: Опитування матричної клавіатури.

Мета:

1.Засвоїти принцип опитування матричної клавіатури;

2.Отримати навики використання матричної клавіатури для управління мікроконтролером.

Завдання:

1.Ініціалізувати порт B для введення даних та програмно підключити підтягувальні резистори;

2.Реалізувати процедуру сканування матричної клавіатури з програмною фільтрацією “брязкоту контактів”;

3.Отримати номера та кількість натиснутих клавіш для управління світлодіодами, що підключено до порту A (табл. 4.1).

Таблиця 4.1 Варіанти завдань для лабораторної роботи №4*

Номера клавіш

Режим управління

 

 

світлодіодами

 

Запуск режиму

Зупинка режиму

 

 

 

 

1

SB3, SB6, SB11

SB1, SB7, SB16

Циклічний зсув ліворуч

 

 

 

 

2

SB7, SB10

SB5, SB8, SB14

Циклічний зсув праворуч

 

 

 

 

3

SB2, SB4, SB9

SB12, SB13

Інверсія

 

 

 

 

4

SB5, SB11, SB15

SB2, SB6, SB12, SB16

Інверсія парних бітів

 

 

 

 

5

SB4, SB7, SB8, SB13

SB5, SB15

Інверсія непарних бітів

 

 

 

 

* – для всіх варіантів тактова частота мікроконтролеру дорівнює 4 МГц; частота зміни стану світлодіодів повинна дорівнювати 2 Гц; запуск виконується тільки при натисненні клавіші, при утриманні клавіші повторний запуск не виконується); початковий стан молодшої частини порту A – 1011.

14

Для оцінки результатів виконання програми слід використовувати засоби емуляції, які надаються середовищем розробки MPLAB, а також схему, яку наведено на рис. 4.1.

Рис. 4.1 Схема підключення матричної клавіатури (KB4x4) та світлодіодів Схема забезпечує обробку натиснень на клавіші SB1-SB16 (рис. 4.2) у

складі матричної клавіатури (підтягувальні резистори підключаються програмно) та управління станом світлодіодів VD1-VD4, струм через які обмежується резисторами R1-R4.

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

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

представлена матрична клавіатура, яка містить 16 клавіш, що підключено в матрицю розміром 4x4. Застосування матричної клавіатури дозволяє істотно зменшити кількість виводів мікроконтролеру, які використовуються для роботи з клавіатурою. Але це призводить до більш складного алгоритму опитування клавіатури. Алгоритм опитування матричної клавіатури розміром 4x4 (без урахування програмної фільтрації

“брязкоту контактів”) складається з наступних дій:

1.Виводи мікроконтролеру, що відповідають лініям KB0-KB7,

налаштовуються на режим введення з підтягувальними резисторами;

2.Вивід KB3 налаштовується на режим виведення логічного 0;

15

3.Зчитується та зберігається стан виводів KB4-KB7;

4.Вивід KB3 налаштовується на режим введення з підтягувальним резистором;

5.Пункти 2-4 повторюються для виводу KB2;

6.Пункти 2-4 повторюються для виводу KB1;

7.Пункти 2-4 повторюються для виводу KB0;

8.Збережені значення перевіряються в пошуках бітів, які дорівнюють логічному 0 (відбувається визначення номерів натиснутих клавіш).

Рис. 4.2 Матрична клавіатура (4x4 клавіші)

Алгоритм опитування може бути побудований на базі сканування як рядків, так и стовпців. Але при любому способі сканування можливі так звані “фантомні натиснення”. Вони з'являються у випадку натиснення 3 (або більше) клавіш, перша з яких знаходиться в сканованому рядку, друга в тому ж стовпці, що й перша, а третя в тому ж рядку, що й друга.

Наприклад, при натисненні клавіш SB7, SB11 та SB12 буде зафіксовано

“фантомне натиснення” на клавішу SB8. Для усунення “фантомних натиснень” необхідно або ускладнювати схему, або реагувати на одночасне натиснення не більш, ніж двох клавіш.

16

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

1.Наведіть переваги та недоліки матричної клавіатури відносно клавіатури з окремих клавіш.

2.Розрахуйте мінімальну кількість виводів мікроконтролеру для обробки натиснень від 40 клавіш.

3.Наведіть алгоритм опитування матричної клавіатури.

4.Наведіть алгоритм визначення номеру натиснутої клавіші матричної клавіатури.

5.При яких умовах з’являються “фантомні натиснення”?

6.Як можна позбавитися “фантомних натиснень”?

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

Тема: Генерація дискретних та аналогових сигналів.

Мета:

1.Засвоїти принцип формування дискретних сигналів на довільних виводах мікроконтролеру;

2.Отримати навики використання ШІМ для генерації аналогових

сигналів.

Завдання:

1.Ініціалізувати порт B для виведення даних;

2.Реалізувати процедури періодичної зміни стану виводів RB4-RB7

відповідно до форми сигналу, що генерується (табл. 5.1);

3.Налаштувати модуль CCP1 для генерації сигналу трикутної форми за допомогою 8-розрядного ШІМ-сигналу на виводі RB3 (табл. 5.1).

17

Таблиця 5.1 Варіанти завдань для лабораторної роботи №5*

 

Період, с

Період сигналу

 

 

 

трикутної форми, с

 

Меандр

 

Трифазна послідовність

 

 

 

 

 

1

5

 

1,5

2

 

 

 

 

 

2

2

 

3

1

 

 

 

 

 

3

1

 

0,6

4

 

 

 

 

 

4

1,25

 

0,75

0,5

 

 

 

 

 

5

0,5

 

4,5

2,5

 

 

 

 

 

* – для всіх варіантів тактова частота мікроконтролеру дорівнює 4 МГц. Для оцінки результатів виконання програми слід використовувати

засоби емуляції, які надаються середовищем розробки MPLAB, а також схему, яку наведено на рис. 5.1.

Рис. 5.1 Схема підключення світлодіодів до виводів RB3-RB7 Схема забезпечує індикацію стану виводів RB3-RB7 за допомогою

світлодіодів VD1-VD5, струм через які обмежується резисторами R1-R5.

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

Для генерації дискретного сигналу необхідно мати опорний генератор, який забезпечує потрібні часові характеристики сигналу. В мікроконтролері для цього використовуються таймери, які налаштовуються на переривання з певною частотою. Частота переривань розраховується за формулою: Fпереривань = 1 / ( TN ), де T – період сигналу,

18

N – кількість змін сигналу за період. Ця формула використовується у випадках, коли між змінами сигналу проходить однаковий час. Для сигналів більш складної форми таймер може постійно переналаштовуватися на різні витримки часу, наприклад. На рис. 5.2

наведено приклад сигналів, які повинні генеруватися відповідно завданню на лабораторну роботу.

Рис. 5.2 Приклад сигналів (RB3* – сигнал після фільтру)

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

зміни сигналу за період, тому частота переривань повинна бути у 3 рази вищою за частоту трифазної послідовності.

Для генерації аналогових сигналів за допомогою мікроконтролера можуть використовуватися або цифро-аналогові перетворювачі, або ШІМ з фільтрами низької частоти. При використанні ШІМ частота ШІМ-сигналу повинна бути не менш, ніж у 10 разів вищою за частоту аналогового сигналу. Амплітуда аналогового сигналу відповідає коефіцієнту

19

заповнення ШІМ. Тому для генерації сигналу трикутної форми необхідно з певною частотою змінювати коефіцієнт заповнення ШІМ. Для

8-розрядного ШІМ коефіцієнт заповнення може змінюватися від 0 до 255.

Частота переривань для генерації сигналу трикутної форми розраховується за формулою: Fпереривань = 1 / ( T∙510 ), де T – період сигналу, 510 – кількість дискретних рівнів сигналу за період (0, 1, 2, ... 254, 255, 254, ... 3, 2, 1).

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

1.Як реалізувати генерацію меандру?

2.Як реалізувати генерацію n-фазної послідовності?

3.Розрахуйте частоту переривань для генерації меандру з частотою

100 Гц.

4.Розрахуйте частоту переривань для генерації трифазної послідовності з частотою 50 Гц.

5.За допомогою яких модулів можна генерувати аналогові сигнали?

6.Розрахуйте частоту переривань для генерації сигналу трикутної форми з частотою 20 Гц.

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

Тема: Обмін даними за допомогою УАПП.

Мета:

1.Засвоїти принципи асинхронного обміну даних за допомогою УАПП;

2.Отримати навики використання УАПП для обміну інформацією.

Завдання:

1.Ініціалізувати порт A та вивід RB2 для виведення даних, а вивід RB1

для введення даних;

20

Соседние файлы в папке вычтехника