İlk Uygulamalar
Ali ÇAKIR
0 yorum
Buton ile Led Yakma, CCS C ile PIC Programlama, PIC programlama, PIC Programlama Port Okuma ve Bilgi Gönderme, PIC16f877 programlama ile led yakma
CCS C ile PIC16F877 Uygulamaları
Led Yakma
#include <16F877.h> #FUSES NOWDT //Watch Dog Timer Kullanma #FUSES RC //Resistor/Capacitor Osilatör ile CLKOUT #FUSES NOPUT //Power Up Timer Kullanma #FUSES PROTECT //Rom'a Yazıla Verilerin Okunamasını Engelle #FUSES NOBROWNOUT //Brownout Reset Kullanma #FUSES NOLVP //Düşük Gerilimler ile Programlamayı Kapt #FUSES NOCPD //Data EEPROM Korumasız #FUSES NOWRT //Program Belleği Yazmaya Açık #FUSES NODEBUG //ICD için Hata Ayıklama Modu Kapalı #use fast_io(a) #use fast_io(b) int1 x; void main() { /*Genel Pic de bölmlerinin ayarlamaları yapılıyor*/ setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); /* A pinleri a0 giriş hariç lojik-0 çıkış yapılıyor*/ set_tris_a(0b00000001); /* B pinleri komle lojik-0 çıkış yapılıyor */ set_tris_b(0x00); while(1) { /* a0 pininden okunan değer x'e atanıyor*/ x=input(pin_a0); /* x tek bitlik değeri b0' atanıyor*/ output_bit(pin_b0,x); } }
Projeye ulaşmak için tıklayınız.
Kloser içinde bulunan .Hex uzantılı dosyayı PIC16F877 yükleyerek çalıştırabilirsiniz.
Buton İle Led Yakma
#include <16F877.h> #FUSES NOWDT //Watch Dog Timer Kullanma #FUSES RC //Resistor/Capacitor Osilatör ile CLKOUT #FUSES NOPUT //Power Up Timer Kullanma #FUSES PROTECT //Rom'a Yazılan Verilerin Okunamasını Engelle #FUSES NOBROWNOUT //Brownout Reset Kullanma #FUSES NOLVP //Düşük Gerilimler ile Programlamayı Kapt #FUSES NOCPD //Data EEPROM Korumasız #FUSES NOWRT //Program Belleği Yazmaya Açık #FUSES NODEBUG //ICD için Hata Ayıklama Modu Kapalı #use fast_io(a) #use fast_io(b) int1 x; void main() { /*Genel Pic de bölmlerinin ayarlamaları yapılıyor*/ setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); /* A pinleri a0 giriş hariç lojik-0 çıkış yapılıyor*/ set_tris_a(0b00000001); /* B pinleri komle lojik-0 çıkış yapılıyor */ set_tris_b(0x00); while(1) { /* a0 pininden okunan değer x'e atanıyor*/ x=input(pin_a0); /* x tek bitlik değeri b0' atanıyor*/ output_bit(pin_b0,x); } }
Projeye ulaşmak için tıklayınız.
Kloser içinde bulunan .Hex uzantılı dosyayı PIC16F877 yükleyerek çalıştırabilirsiniz.
Port Okuma ve Bilgi Gönderme
#include <16F877.h> #FUSES NOWDT //Watch Dog Timer Kullanma #FUSES RC //Resistor/Capacitor Osilatör ile CLKOUT #FUSES NOPUT //Power Up Timer Kullanma #FUSES PROTECT //Rom'a Yazılan Verilerin Okunamasını Engelle #FUSES NOBROWNOUT //Brownout Reset Kullanma #FUSES NOLVP //Düşük Gerilimler ile Programlamayı Kapt #FUSES NOCPD //Data EEPROM Korumasız #FUSES NOWRT //Program Belleği Yazmaya Açık #FUSES NODEBUG //ICD için Hata Ayıklama Modu Kapalı /*Programda zamanlama kullanılacaksa*/ #use delay(clock=4000000) /*Port yönlendirme yapılıyor */ #use fast_io(b) #use fast_io(a) /* Portb kelimesi b portunun adresine yerleştirilmiştir*/ #byte portb=6 int x; void main() { /*Genel Pic de bölmlerinin ayarlamaları yapılıyor*/ setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); /* A pinleri hexadecimal gösterimle lojik-1 giriş yapılmıştır binary 11111111*/ set_tris_a(0xFF); /*B pinleri tümüyle çıkış yapılmıştır binary gösteri*/ set_tris_b(0xFF); /* B portu giriş lojik-1 yapılıyor*/ output_b(0x00); // b portun tüm pinleri enerjilendi while(1) { /* a portu tüm pinleri okunuyor*/ x=input_a(); /* x değişkenin son iki biti sıfırlanmıştır*/ x=x&0b00111111; /* x degeri b portuna çıkış olarak gönderiliyor.*/ portb=x; } }
Projeye ulaşmak için tıklayınız.
Kloser içinde bulunan .Hex uzantılı dosyayı PIC16F877 yükleyerek çalıştırabilirsiniz.
5
1
vote
Article Rating