
- •Література
- •Інформаційні ресурси
- •Використання 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. Результати вимірів і обчислень
- •Мікроконтролерне дослідження дренькоту контактів
- •Результати вимірів кількості замикань контактів
Дослідження мікроконтролерного модуля аналого-цифрового перетворювача
Мета роботи: вивчити використання вбудованого в мікроконтролер модуля аналого-цифрового перетворювача для введення аналогових сигналів
ТЕОРЕТИЧНІ ВІДОМОСТІ
У технічних системах керування досить часто потрібно реагувати на сигнали аналогових датчиків. Ядро ж мікроконтролера обробляє тільки дискретні сигнали. Для введення в них аналогових сигналів застосовують аналого-цифрові перетворювачі (АЦП), які перетворюють аналогову фізичну величину на цифровий код, що пропорційний цій величині і може оброблятись мікропроцесором. У багатьох сучасних мікроконтролерах АЦП вбудовують у кристал напівпровідника разом з іншими модулями. Це дозволяє зменшити кількість використовуваних АЦП зовнішніх виводів, прискорити його роботу. Щоб підключати сигнали декількох аналогових величин на тому ж кристалі мікроконтролера розміщують електронний комутатор, який дозволяє підключати до АЦП канали декількох аналогових сигналів.
У лабораторній установці застосовується мікроконтролер PIC16F877 з восьмиканальним десятирозрядним АЦП порозрядного врівноваження. До каналу 0 (вивод RA0/AN0) на електронній платі підключено потенціометр, у якого сигнал можна змінювати в діапазоні (0...5 В).
Нижче подано довідкову інформацію про роботу модуля АЦП мікроконтролера PIC16F877.
Для керування цим модулем використовується 4 регістри:
ADCON0, ADCON1 – регістри управління модулем;
ADRESH – регістр старшої частини результату АЦ перетворення;
ADRESL – регістр молодшої частини результату перетворення;
Призначення бітів регістра ADCON0:
біти 7, 6: ADCS1, ADCS0 – вибір джерела тактового сигналу АЦП
00 – fген./2; 01 – fген./8; 10 – fген./32; 11 – внутрішній генератор модуля АЦП;
біти 5-3: CHS2-CHS0 – вибір аналогового каналу
000 – канал 0 (RA0/AN0),
001 – канал 1 (RA1/AN1),
010 – канал 2 (RA2/AN2),
011 – канал 3 (RA3/AN3),
100 – канал 4 (RA5/AN4),
101 – канал 5 (RE0/AN5),
110 – канал 6 (RE1/AN6),
111 – канал 7 (RE2/AN7);
біт 2: GO/DONE – пуск АЦ перетворення
1 – команда "почати АЦ перетворення або воно триває;
0 – АЦ перетворення завершено;
біт 1: не використовується;
біт 0: ADON – біт ввімкнення модуля АЦП
1 – модуль АЦП ввімкнуто,
0 – модуль АЦП вимкнуто, він не споживає енергії.
Призначення бітів регістра ADCON1:
біт 7: ADFM – формат результату АЦ перетворення
1– праве вирівнювання,
0 – ліве вирівнювання;
біти 6-4 не використовуються;
біти 3-0: PCFG3…PCFG0 – біти керування налагодженням каналів АЦП (табл. 8.1).
27.1 – Біти керування налагодженням каналів АЦП
PCFG3:PCFG0 |
RE2 |
RE1 |
RE0 |
RA5 |
RA3 |
RA2 |
RA1 |
RA0 | |
0000 |
A |
A |
A |
A |
A |
A |
A |
A | |
0001 |
A |
A |
A |
A |
Vоп+ |
A |
A |
A | |
0010 |
D |
D |
D |
A |
A |
A |
A |
A | |
0011 |
D |
D |
D |
A |
Vоп+ |
A |
A |
A | |
0100 |
D |
D |
D |
D |
A |
D |
A |
A | |
0101 |
D |
D |
D |
D |
Vоп+ |
D |
A |
A | |
011x |
D |
D |
D |
D |
D |
D |
D |
D | |
1000 |
A |
A |
A |
A |
Vоп+ |
Vоп– |
A |
A | |
1001 |
D |
D |
A |
A |
A |
A |
A |
A | |
1010 |
D |
D |
A |
A |
Vоп+ |
A |
A |
A | |
1011 |
D |
D |
A |
A |
Vоп+ |
Vоп– |
A |
A | |
1100 |
D |
D |
D |
A |
Vоп+ |
Vоп– |
A |
A | |
1101 |
D |
D |
D |
D |
Vоп+ |
Vоп– |
A |
A | |
1110 |
D |
D |
D |
D |
D |
D |
D |
A | |
1111 |
D |
D |
D |
D |
Vоп+ |
Vоп– |
D |
A |
Умовні позначення:
А – аналоговий вхід, D – цифровий канал введення/виведення.
Процес аналого-цифрового перетворення починається в момент встановлення біта GO = 1 (при ADON = 1). Перетворення триває приблизно від 10 до 200 мкс (в залежності від обраної тактової частоти). Після його завершення результат можна отримати з пари регістрів ADRESH, ADRESL.
У даній програмі використовується 8 з десяти розрядів результату перетворення, які беруться з регістра ADRESH (при лівому вирівнюванні) і у шістнадцятковій формі виводяться на цифровий індикатор.
Лабораторне обладнання складається з демоплати, плати відладчика і комп'ютера.
ПОРЯДОК ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ
Приєднати СОМ-порт комп'ютера до плати відладчика, відладчик до демоплати. Ввімкнути живлення демоплати (відладчик живиться від демоплати).
У середовищі MPLAB, створити у папці D:\1Work новий проект з іменем 27ГБ (Г – номер групи, Б – номер бригади), обравши у меню Project-New Project.
Натиснувши кнопку Change, у вікні Development Mode відкрити закладку Tools. Вибрати пункт MPLAB ICD Debugger (відладчик MPLAB) і тип процесора, що встановлений на демоплаті: Processor: PIC16F877. Натиснути кнопку ОК.
У вікні Edit Project додати новий файл на асемблері з іменем проекту та розширенням .asm (Add Node – додати вузол). Після повернення до вікна Edit Project нижче hex-файлу з'явиться ім'я асемблерного файлу. Натиснути кнопку ОК. У середовищі MPLAB IDE створити цей текстовий файл з розширенням .asm (File – New), записавши його у папку 1Work (File - Save As …).
При роботі з відладчиком з'явилось вікно MPLAB ICD. Треба встановити режими його роботи, натиснувши кнопку Options....
У вікні ICD Options слід обрати такі установки:
В рамці Configuration Bits:
Oscillator: XT (генератор: 2-10 МГц)
Watchdog Timer: Off/Disable (сторожовий таймер відключити)
Power Up Timer: On/Enable (таймер затримки після включення живлення ввімкнути)
Brown out Detect: Off/Disable (скидання при зниженні напруги живлення виключити)
Low Voltage Program: Disable (низьковольтне програмування заборонити)
Code Protect Data EE: code protect Off (захист даних EEPROM відмінити)
Flash Memory Write: Memory written to be EECON (запис у флеш-пам'ять через EECON)
Code Protect: Code Protection Off (захист коду програми відмінити)
В рамці Program Options зняти відмітку для пункту ID Locations, інші – встановити.