PIC мк. Эксперимент №7. Использование компаратора.

Задача: Использование модуля компаратора

Исходный материал: PIC16f628a, proteus

Для начала заглянем в даташит и обратим внимание на регистр CMCON.

C2OUT: Выходной бит компаратора 2
Если C2INV = 0:
1 = C2 VIN+ > C2 VIN-
0 = C2 VIN+ < C2 VINWhen
C2INV = 1:
1 = C2 VIN+ < C2 VIN-
0 = C2 VIN+ > C2 VINbit
C1OUT: Выходной бит компаратора 1
Если C1INV = 0:
1 = C1 VIN+ > C1 VIN-
0 = C1 VIN+ < C1 VINWhen
C1INV = 1:
1 = C1 VIN+ < C1 VIN-
0 = C1 VIN+ > C1 VINbit
C2INV: Инверсия выходного бита компаратора 2
1 = C2 инверсия
0 = C2 нет инверсии
C1INV: Инверсия выходного бита компаратора 1
1 = C1 инверсия
0 = C1 нет инверсии
CIS: Выбор входного пина компаратора в некоторых режимах
Если CM<2:0>: = 001
Tогда:
1 = C1 VIN- подключен к RA3
0 = C1 VIN- подключен к RA0
Если CM<2:0> = 010
Тогда:
1 = C1 VIN- подключен к RA3
C2 VIN- подключен к RA2
0 = C1 VIN- подключен к RA0
C2 VIN- подключен к RA1
CM<2:0>: Выбор режимов компаратора

Режимы на рисунке ниже:

Для этого эксперимента нам достаточно одного компаратора, поэтому выставим значение CM = 101

Полный код проекта:


#include <htc.h>
#define _XTAL_FREQ 4000000
#define LED RB0
__CONFIG(WDTDIS & UNPROTECT & MCLREN & LVPDIS & HS);

void main(void) {
CMCON = 0b10000101;
TRISA = 0xFF;
TRISB = 0x00;
PORTB = 0;

for (;;) { LED = C2OUT;}

}

На RA1 подано опорное напряжение 2 вольта, а на RA2 синусоида с размахом 5 вольт. Результат работы:

Исходники здесь

PIC мк. Эксперимент №7. Использование компаратора.: 7 комментариев

  1. подскажите пожалуйста как подключить к такому компаратору два аккумулятора и сравить их напряжение. На входы RA0 и RA1 к примеру.

    Ответить

    sarge Ответил:

    Так вы сами и написали ответ в вопросе – подключайтесь на указанные входы и настраивайте себе хоть прерывания, хоть напряжение по выходу контролируйте.
    Главное, чтобы напряжение на входах были больше минимально допустимого (см. даташит).

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.