Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
knigaEMTmikroprotsesori.doc
Скачиваний:
18
Добавлен:
10.03.2016
Размер:
1.33 Mб
Скачать

Дослідження мікроконтролерного модуля аналого-цифрового перетворювача

Мета роботи: вивчити використання вбудованого в мікроконтролер модуля аналого-цифрового перетворювача для введення аналогових сигналів

ТЕОРЕТИЧНІ ВІДОМОСТІ

У технічних системах керування досить часто потрібно реагувати на сигнали аналогових датчиків. Ядро ж мікроконтролера обробляє тільки дискретні сигнали. Для введення в них аналогових сигналів застосовують аналого-цифрові перетворювачі (АЦП), які перетворюють аналогову фізичну величину на цифровий код, що пропорційний цій величині і може оброблятись мікропроцесором. У багатьох сучасних мікроконтролерах АЦП вбудовують у кристал напівпровідника разом з іншими модулями. Це дозволяє зменшити кількість використовуваних АЦП зовнішніх виводів, прискорити його роботу. Щоб підключати сигнали декількох аналогових величин на тому ж кристалі мікроконтролера розміщують електронний комутатор, який дозволяє підключати до АЦП канали декількох аналогових сигналів.

У лабораторній установці застосовується мікроконтролер 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 (при лівому вирівнюванні) і у шістнадцятковій формі виводяться на цифровий індикатор.

Лабораторне обладнання складається з демоплати, плати відладчика і комп'ютера.

ПОРЯДОК ВИКОНАННЯ ЛАБОРАТОРНОЇ РОБОТИ

  1. Приєднати СОМ-порт комп'ютера до плати відладчика, відладчик до демоплати. Ввімкнути живлення демоплати (відладчик живиться від демоплати).

  2. У середовищі MPLAB, створити у папці D:\1Work новий проект з іменем 27ГБ (Г – номер групи, Б – номер бригади), обравши у меню Project-New Project.

  3. Натиснувши кнопку Change, у вікні Development Mode відкрити закладку Tools. Вибрати пункт MPLAB ICD Debugger (відладчик MPLAB) і тип процесора, що встановлений на демоплаті: Processor: PIC16F877. Натиснути кнопку ОК.

  4. У вікні Edit Project додати новий файл на асемблері з іменем проекту та розширенням .asm (Add Node – додати вузол). Після повернення до вікна Edit Project нижче hex-файлу з'явиться ім'я асемблерного файлу. Натиснути кнопку ОК. У середовищі MPLAB IDE створити цей текстовий файл з розширенням .asm (File – New), записавши його у папку 1Work (File - Save As …).

  5. При роботі з відладчиком з'явилось вікно MPLAB ICD. Треба встановити режими його роботи, натиснувши кнопку Options....

У вікні ICD Options слід обрати такі установки:

В рамці Configuration Bits:

    1. Oscillator: XT (генератор: 2-10 МГц)

    2. Watchdog Timer: Off/Disable (сторожовий таймер відключити)

    3. Power Up Timer: On/Enable (таймер затримки після включення живлення ввімкнути)

    4. Brown out Detect: Off/Disable (скидання при зниженні напруги живлення виключити)

    5. Low Voltage Program: Disable (низьковольтне програмування заборонити)

    6. Code Protect Data EE: code protect Off (захист даних EEPROM відмінити)

    7. Flash Memory Write: Memory written to be EECON (запис у флеш-пам'ять через EECON)

    8. Code Protect: Code Protection Off (захист коду програми відмінити)

В рамці Program Options зняти відмітку для пункту ID Locations, інші – встановити.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]