Смекни!
smekni.com

Мікропроцесорні пристрої (стр. 18 из 21)

ADCS0 у регістрі ADCON0);

включити модуль АЦП (біт ADON у регістрі ADCON0).

2. Настроїти переривання від модуля АЦП (при необхідності):

скинути прапор закінчення переривання (біт ADIF у регістрі ADCON0); дозволити переривання від АЦП (біт ADIE у регістрі INTCON); дозволити всі переривання (біт GIE у регістрі INTCON).

3. Витримати паузу 20 – 30 мкс.

4. Почати аналого-цифрове перетворення:

установити біт запуску АЦП (біт GO/DONE у регістрі ADCON0).

5. Очікувати закінчення перетворення, наприкінці якого автоматично виконується:

скидання біта закінчення перетворення (біт GO/DONE у регістрі ADCON0);
формування сигналу (установка біта ADIF у регістрі ADCON0).

6. Отримати результати перетворення:

прочитати результат перетворення (регістр ADRES); скинути, якщо необхідно, прапорець закінчення переривання (біт ADIF у регістрі ADCON0).

7. Виконати дії, починаючи з пункту 1 або пункту 2, для виконання наступного перетворення.

2.2 Вивод аналогових сигналів виконується за допомогою цифро-аналогових перетворювачів. Сигнал з амплітудою, пропорційною цифровому коду, можна також одержати, використовуючи широтноімпульсну модуляцію (ШІМ), що представляє собою сигнали змінної тривалості при постійному періоді. Амплітуда такого сигналу, що пройшов через інтегруючий ланцюжок або через фільтр низької частоти (ФНЧ), пропорційна тривалості ШІМ сигналу.

На рисунку 5.2 наведений приклад формування ШІМ сигналу з різною тривалістю tи1, tи2, tи3 і постійним періодом T.

Uвих, В

tі1

Рисунок 5.2- Форма ШІМ сигналу

На рисунку 5.3 наведений приклад схеми формування аналогового сигналу з ШІМ сигналу із використанням RC ланцюжка у якості ФНЧ першого порядку і повторювача на операційному підсилювачі.

Рисунок 5.3 - Формування аналогового сигналу

Для розрахунку значень R і C звернемося до амплітудно-частотної характеристики (АЧХ) ФНЧ, що представлена на рисунок 5.4.

Ширина спектра вихідного сигналу без використання ФНЧ дорівнює PWM = 1/T, а при використанні ФНЧ – ГР. Частота
повинна бути значно менше (у 5 і більш разів) частоти PWM. Тоді, задавши одне зі значень R або C, за формулою RC = 1/(2 ), де = ГР – частота зрізу фільтра, можна знайти інше значення.

К

1

0,707

Рисунок 5.4 - Амплітудно-частотна характеристика ФНЧ

3 Завдання по лабораторній роботі 3.1 Введення аналогових сигналів.

3.1.1 Виконати конфігурацію мікроконтролера на вводу аналогових сигналів.

3.1.2 Ввести сигнали з двох аналогових датчиків U1 і U2.

3.1.3 Зробити порівняння введених сигналів.

3.1.4 За результатами порівняння виконати підпрограму згідно варіанту.

3.1.5 Визначити час виконання перетворення АЦП.

3.2 Вивід аналогових сигналів.

3.2.1 На заданому виводі мікроконтролера сформувати сигнал із заданим періодом повторення T і числом рівнів квантування N.

4 Варіанти завдання 4.1.

1

2

3

4

5

6

7

8

9

10 11 12 13 14 15 16 17 18 19 20
U1 < U2 A B C D E

F

G H

I

J

A B C D E

F

D C

I

J

U1 = U2

I

J

G H E

F

D C B

J

A

I

C G

F

E G H

I

A
U1 > U2 A

J

C H B D G C

I

E

J

B H D E E D H B

J

Дії підпрограм:

A – інкремент комірки пам'яті даних;

B – декремент 16-розрядного лічильника в пам'яті даних;

C – читання 8-розрядного числа з порту B і запис його в комірку пам'яті даних;

D – запис поточного значення таймера (регістр TMR0) в комірку пам'яті даних;

E

– формування позитивного імпульсу тривалістю ti = 5 tц на виводі RB0, де tц – тривалість командного циклу;

F – інкремент 16-розрядного лічильника в пам'яті даних;

G – одночасне інвертування сигналів на виводах RB0 і RB1;

H – декремент комірки пам'яті даних;

I – обмін рівнів сигналів на виводах RB1 і RB2;

J – прийом дискретного сигналу з виводу RB3 і видача його на вивід RB0. Варіанти завдання 4.2

1

2

3

4

5

6

7

8

9

10 11 12 13 14 15 16 17 18 19 20

Вивід RB

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

T, мс

2

4

8

16 32 64

2

4

8

16 64

2

4

8

16 32 64

2

4

8

N

25

6

12

8

64 32 25

6

12

8

64 32 25

6

12

8

64 32 25

6

12

8

64 32 25

6

12

8

64 32

Тактування мікроконтролера виконати від тактового генератора з частотою OSC = 4 МГц.

Приклад програми. Фрагмент програми, що виконує настроювання АЦП і аналого-цифрове перетворення вхідного сигналу з виводу RA2/AN2.

; підключення файлу з описом стандартних констант і значень #include p16c71.inc

; Настроювання АЦП

initAD

bsf STATUS, RP0 ; вибір банку 1

movlw b‘00000000‘ ; вив.RA3-RA0–аналогові входи

movwf ADCON1

bcf STATUS, RP0 ; вибір банку 0

movlw b'11010001' ; RC-генератор для АЦП,

movwf ADCON0 ; канал 2, дозвіл АЦП

; Перетворення Convert

call Delay30us ; затримка 30 мкс

bsf ADCON0, GO_DONE ; запуск АЦП loop btfsc ADCON0, GO_DONE ; перетворення закінчене?

goto loop ; продовжити чекання

movf ADRES, W ; результат перетворення в W

… ; продовження програми

5 Моделювання роботи АЦП у пакеті MPLAB

5.1 Створити текстовий файл із передбачуваними значеннями результатів перетворення АЦП, наприклад adcres.reg

5.2 Відкрити вікно Register Stimulus через меню: Debug->Simulator Stimulus->Register Stimulus->Enable...

5.3 У полі Program Memory Address вказати адресу команди в пам'яті програм (дозволяється і рекомендується вказувати мітку), наприклад, ares.

5.4 У полі Register Address вкажіть адресу або символьне ім'я регістра, наприклад, ADRES.

5.5 Натисніть кнопку Browse... для вказівки файлу стимулу, наприклад, adcres.reg.

5.6 Після скидання мікроконтролера, щораз, коли значення лічильника команд PC співпаде з указаною адресою ares, у регістр ADRES буде занесене значення з файлу adcres.reg. При досягненні кінця файлу adcres.reg підстановка почнеться з початку файлу, тобто буде виконуватися циклічно.

6 Зміст звіту 6.1 Тема.