CCS C ile Karşılaştırıcı ve Voltaj Referans Modülü Uygulaması

pr_01_37_max

 

/******************************************************
 PIC16F877A ile Karşılaştırıcı Modülü Uygulaması
PIC PROG/DEKA : Port B jumper'ı LED konumunda olmalı
*******************************************************/

#include <16f877A.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

// Denetleyici konfigürasyon ayarları
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.

#use fast_io(a) //Port yönlendirme komutları A portu için geçerli
#use fast_io(b) //Port yönlendirme komutları B portu için geçerli

/********* ANA PROGRAM FONKSİYONU********/
void main ( )
{
 setup_psp(PSP_DISABLED); // PSP birimi devre dışı
 setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
 setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
 setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok
 setup_adc(ADC_OFF); // ADC birimi devre dışı
 setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
 setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı

 set_tris_a(0x0B); // RA0,RA1,RA3 pini giriş,RA2 çıkış
 set_tris_b(0x00); // B portu komple çıkış

 output_b(0x00); // İlk anda B portu çıkışını sıfırla

 setup_comparator(A0_A3_A1_A3); // Karşılaştırıcı modülü ayarları yapılıyor
 setup_vref (VREF_A2|VREF_HIGH |15); // Voltaj referans modülü ayarları yapılıyor

 while (1) // Sonsuz döngü
 {
 if (C1OUT==1) // Karşılaştırıcı-1 çıkışı "1" ise
 output_high(pin_b0); // RB0 çıkışı lojik-1
 else
 output_low(pin_b0); // RB0 çıkışı lojik-0

 if (C2OUT==1) // Karşılaştırıcı-2 çıkışı "1" ise
 output_high(pin_b1); // RB1 çıkışı lojik-1
 else
 output_low(pin_b1); // RB1 çıkışı lojik-0
 }
}

Karşılaştırıcı ve Voltaj Referans Modülü Uygulaması

Bu yazı CCS C Örnekleri kategorisine gönderilmiş ve , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.