CCS C ile Kızıl Ötesi İletişim Uygulaması

pr_01_37_max

Alıcı:

/***********************************************
 PIC16F877 ile Kızıl Ötesi Alıcı Uygulaması
************************************************/
#include <16f877.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

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

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

#define use_portb_lcd TRUE // LCD B portuna bağlı

#include <lcd.c> // lcd.c dosyası programa ekleniyor

#use rs232 (baud=2400,rcv=pin_C1,stop=1,parity=n) // RS232 ayarları yapılıyor

char data[16]; // dizi tanımlanıyor

/******************* 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ışı

 lcd_init(); // LCD hazır hale getiriliyor

 delay_ms(2000); // İletişime başlamadan 2 saniye bekleniyor

 while(1) // Sonsuz döngü
 {
 if (input(pin_c1)==0) // RC1 ucu sıfır ise (Kızıl ötesi alıcı, veri aldıysa)
 {
 gets(data); // RX ucuna gelen veriyi al
 printf(lcd_putc,"\f%s",data); // LCD'ye alınan string ifadeyi gönder
 delay_ms(1000); // 1 saniye bekleniyor
 printf(lcd_putc,"\f"); // LCD temizleniyor
 delay_ms(500); // 0.5 saniye bekleniyor
 }
 }
}

Verici:

/***********************************************
 PIC16F877 ile Kızıl Ötesi Verici Uygulaması
************************************************/
#include <16f877.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

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

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

#use rs232(baud=2400, xmit=PIN_C6, stop=1, parity=n) // RS232 iletişim ayarları yapılıyor

/******************* 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_adc_ports(NO_ANALOGS); // ANALOG giriş yok
 setup_adc(ADC_OFF); // ADC birimi devre dışı
 setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı

 setup_timer_2(T2_DIV_BY_1,25,1); // Timer2 ayarları yapılıyor, PWM sinyali frekansı=~38Khz olacak şekilde
 set_pwm1_duty(12); // PWM sinyalinin görev saykıl oranı belirleniyor
 setup_CCP1(CCP_PWM); // CCP modülü PWM çıkışı için ayarlanıyor 

 while(1) // Sonsuz döngü
 {
 printf("CCS C\r"); // Seri port çıkışından (TX) bilgi gönderiliyor
 delay_ms(500); // 0.5 saniye gecikme veriliyor
 }
}

Kızıl Ötesi İletişim Uygulaması

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