- •Література
- •Інформаційні ресурси
- •Використання mplab для складання та налагодження програм мікроконтролера
- •Теоретичні відомості
- •Порядок виконання лабораторної роботи
- •Лабораторна робота № 21 Дії з портами мікроконтролера, логічні операції та обробка окремих бітів
- •Теоретичні відомості
- •21.1. Аналіз роботи програми
- •Лабораторна робота № 22 Створення програмної затримки часу за допомогою циклів
- •Теоретичні відомості
- •22.1. Результати аналізу програми
- •Лабораторна робота № 23 Створення затримки часу за допомогою переривань від таймера
- •23.2. Варіанти задання коефіцієнтів ділення переддільника
- •23.2. Алгоритм управління світлодіодами з затримкою від таймера tmr0
- •23.3. Результати аналізу програми
- •Використання енергонезалежної пам'яті даних
- •У регістрі eecon1 розміщені такі біти керування:
- •24.1. Блок-схема алгоритму обміну з eeprom
- •Використання клавіатури з мікроконтролером
- •Теоретичні відомості
- •25.1. Таблиця результатів тестування
- •Виведення цифрової інформації на семисегментні індикатори
- •Основи використання mplab-icd пояснено далі в ході роботи.
- •Закрити вікно icd Options ().
- •Дослідження мікроконтролерного модуля аналого-цифрового перетворювача
- •Закрити вікно icd Options().
- •27.1. Результати вимірів і обчислень
- •Мікроконтролерне дослідження дренькоту контактів
- •Результати вимірів кількості замикань контактів
23.3. Результати аналізу програми
Мітка, на якій здійснено зупинку |
Вміст регістрів у 16-й системі |
Час за віртуальним секундоміром, мкс | ||
COUNT |
PORTB |
TMR0 | ||
pochat |
|
|
|
|
inttmr |
|
|
|
|
vert |
|
|
|
|
inttmr |
|
|
|
|
vert |
|
|
|
|
inttmr |
|
|
|
|
switch |
|
|
|
|
inttmr |
|
|
|
|
vert |
|
|
|
|
inttmr |
|
|
|
|
vert |
|
|
|
|
inttmr |
|
|
|
|
switch |
|
|
|
|
ЗМІСТ ЗВІТУ
Звіт має містити: назву та мету лабораторної роботи, скорочений порядок виконання лабораторної роботи, функціональну схему таймера, алгоритм і програму з коментарем, таблицю аналізу програми, передбачені розрахунки, перелік імен регістрів спеціального призначення, що використовуються у дослідженій програмі, формат та опис дії кожного виду команд, що вперше зустрічаються у дослідженій програмі мікроконтролера.
КОНТРОЛЬНІ ЗАПИТАННЯ
Як створити затримку часу, використовуючи переривання від таймера ?
Як підключити переддільник до таймера із заданим коефіцієнтом ділення ?
Як розрахувати за заданою затримкою числове значення, що заноситься в таймер TMR0 ?
Як виконується команда retfie?
Що потрібно змінити у дослідженій програмі, щоб затримка часу становила 10 с. ?
Лабораторна робота № 24
Використання енергонезалежної пам'яті даних
Мета роботи: засвоїти правила використання енергонезалежної пам'яті даних
ТЕОРЕТИЧНІ ВІДОМОСТІ
Досягненням сучасних електронних технологій є EEPROM пам'ять, що зберігає вміст при виключенні живлення. При цьому є можливість не тільки читати вміст EEPROM, а й записувати туди дані як при програмуванні, так і під час роботи контролера. У мікросхемах PIC16F628 вбудовано 128 байтів такого виду пам'яті.
При роботі з EEPROM пам'яттю в мікроконтролерах PIC16FXXX
використовуються регістри оперативної пам'яті :
EEDATA – регістр обміну даними з EEPROM пам'яттю;
EEADR – зберігає адресу комірки EEPROM, до якої здійснюється звертання;
EECON1 – регістр керування обміном з EEPROM пам'яттю;
EECON2 – фізично відсутній регістр, що використовується виключно як службовий регістр при запису в EEPROM.
У регістрі eecon1 розміщені такі біти керування:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
X |
X |
X |
EEIF |
WRERR |
WREN |
WR |
RD |
Біти 5-7 не використовуються;
біт 4 EEIF – ознака (Flag) переривання після закінчення запису:
1 – запис завершено (скидати програмно),
0 – запис не починався або не закінчено;
біт 3 WRERR – ознака помилки запису в EEPROM :
1 – запис попередньо перервано,
0 – запис здійснено успішно;
біт 2 WREN – дозвіл запису в EEPROM:
1 – запис дозволений,
0 – запис заборонений;
біт 1 WR – біт керування записом в EEPROM :
1 – почати цикл запису (встановлюється програмно, скидається тільки апаратно після завершення запису),
0 – цикл запису закінчено;
біт 0 RD – біт керування читанням з EEPROM :
1 – почати читання (встановлюється програмно, скидається тільки апаратно після завершення читання),
0 – читання завершено.
Перед записом в EEPROM в EEADR слід занести адресу потрібної комірки EEPROM, а в EEDATA – байт даних. Щоб не допустити випадковий запис у EEPROM передбачено здійснювати його після встановлення біта WREN = 1 і послідовного надсилання в EECON2 коду h'55', потім h'AA' ( що нагадує пароль, без якого не можна виконати запис). Далі слід встановити WR = 1. Запис в EEPROM триває 4-8 мс. Після завершення запису біт WR автоматично скидається в 0. Не можна починати запис нового байта поки WR = 1.
Читання з EEPROM пам'яті виконується простіше. В EEADR слід занести адресу EEPROM і встановити в EECON1 біт RD в 1. Дані зразу після цього можуть бути отримані з регістра EEDATA.
На рис. 24.1 зображено алгоритм, який передбачає опитування вимикачів RA0, RA4. Якщо включити на мить RA0, виконається підрахунок суми заданої кількості чисел з EEPROM і обчислення середнього з округленням результату до цілого та запис його в EEPROM. Воно буде збережено і при виключеному живленні.
Якщо після включення живлення ввімкнути на мить вимикач RA4, середнє значення, записане в EEPROM, порівнюється з двійковим числом, набраним попередньо на вимикачах порту В. Якщо значення збігаються, засвітиться світлодіод RA3, якщо ні – RA1.
ПОРЯДОК ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ
У середовищі MPLAB створити у папці D:\ 1Work новий проект з іменем 24ГБ (Г – номер групи, Б – номер бригади), обравши у меню Project-New Project.
У вікні Edit Project додати новий файл на асемблері 24ГБ.asm (Add Node – додати вузол). Після повернення до вікна Edit Project нижче hex-файла з'явиться файл з розширенням .asm. Після появи вікна середовища MPLAB IDE створити цей текстовий файл з розширенням .asm (File – New), записавши його у папку D:\1Work (File - Save As …).