Введення аналогових сигналів і формування дискретних статичних сигналів

Розглянемо приклад, в якому необхідно ввести від 2-х незалежних датчиків аналогові сигнали постійного струму (U1 і U2), виконати порівняння їх між собою і за результатами порівняння здійснити:

1) У випадку, якщо U1 <= U2 управління передається фрагменту програми з адресою А1 і встановлюється в "1" прапорець FO;

2) У випадку, якщо U1 > U2 управління передається на фрагмент програми з адресою А2, прапорець FO встановлюється в "0", формуються дискретні керуючі сигнали, що змінюються від "0" до "1".

Для рішення даної задачі, якщо немає будь-яких обмежень, більш доцільно використати МК PIC16C71, бо цей мікроконтролер має вбудований 4-канальний АЦП. Для вводу двох напруг, що порівнюються, використовуються два аналогових канали (лінії AIN0 і AIN1 порту А). Переключення каналів здійснюється за допомогою зміни бітів CHS0 і CHS1 в регістрі ADCON0, що призначений для управління АЦП.

 

Структура регістра ADCON (адреса 08h в пам'яті даних) наступна:

7 0

ADCS1 ADCS0   CHS1 CHS0 GO/DONE ADIF ADON

 

ADON – Включення АЦП:

· ADON = 0: АЦП не працює і не споживає струму;

· ADON = 1: АЦП працює і зайняв лінії введення/виведення.

ADIF - Прапорець переривання по закінченню перетворення:

· встановлюється апаратно, коли перетворення закінчене;

· скидається програмно.

GO:/DONE – Запуск АЦП (початок перетворення):

· встановлюється програмно;

· скидається апаратно, коли перетворення закінчене.

CHS1, CHS0 – Вибір аналогового каналу:

· CHS1, CHS0 = 00: канал 0 (AIN0);

· 01: канал 1 (AIN1);

· 10: канал 2 (AIN2);

· 11: канал 3 (AIN3).

ADCS1, ADCS0 – Вибір частоти перетворення.

· ADCS0, ADCS0 = 00: fosc/2;

· 01: fosc/8;

· 10: fosc/32;

· 11: fRC (частота від власного

· RC-генератора).

Сигнал управління, що сформувався, видається через вивід RB1 порту В. Для порівняння двох восьмирозрядних кодів, що представляють собою результати перетворення сигналів U1 і U2, можна скористатися стандартною процедурою СОМР, розглянутою раніше.

З метою підвищення точності й стабільності роботи АЦП в даному випадку більш доцільно використовувати кварцовий ХТ-генератор.

На підставі початкового завдання і попередніх міркувань можна запропонувати функціональну схему і алгоритм робочої програми МКУ (див. рис. 6.1 і 6.2 відповідно).

 

 

 
 

Рис. 6.1. Функціональна схема пристрою

 

Текст програми у відповідності з даним алгоритмом наведений нижче:

 

; Текст програми

LIST p = 16c71, r = HEX

TITLE "Z8"