İlk Uygulamalar

CCS C ile PIC16F877 Uygulamaları

Led Yakma

  1. #include <16F877.h>
  2.  
  3. #FUSES NOWDT //Watch Dog Timer Kullanma
  4. #FUSES RC //Resistor/Capacitor Osilatör ile CLKOUT
  5. #FUSES NOPUT //Power Up Timer Kullanma
  6. #FUSES PROTECT //Rom'a Yazıla Verilerin Okunamasını Engelle
  7. #FUSES NOBROWNOUT //Brownout Reset Kullanma
  8. #FUSES NOLVP //Düşük Gerilimler ile Programlamayı Kapt
  9. #FUSES NOCPD //Data EEPROM Korumasız
  10. #FUSES NOWRT //Program Belleği Yazmaya Açık
  11. #FUSES NODEBUG //ICD için Hata Ayıklama Modu Kapalı
  12.  
  13. #use fast_io(a)
  14. #use fast_io(b)
  15.  
  16. int1 x;
  17.  
  18. void main()
  19. {
  20. /*Genel Pic de bölmlerinin ayarlamaları yapılıyor*/
  21. setup_adc_ports(NO_ANALOGS);
  22. setup_adc(ADC_OFF);
  23. setup_spi(SPI_SS_DISABLED);
  24. setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
  25. setup_timer_1(T1_DISABLED);
  26. setup_timer_2(T2_DISABLED,0,1);
  27.  
  28. /* A pinleri a0 giriş hariç lojik-0 çıkış yapılıyor*/
  29. set_tris_a(0b00000001);
  30.  
  31. /* B pinleri komle lojik-0 çıkış yapılıyor */
  32. set_tris_b(0x00);
  33.  
  34. while(1)
  35. {
  36. /* a0 pininden okunan değer x'e atanıyor*/
  37. x=input(pin_a0);
  38. /* x tek bitlik değeri b0' atanıyor*/
  39. output_bit(pin_b0,x);
  40.  
  41. }
  42. }

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

  1. #include <16F877.h>
  2.  
  3. #FUSES NOWDT //Watch Dog Timer Kullanma
  4. #FUSES RC //Resistor/Capacitor Osilatör ile CLKOUT
  5. #FUSES NOPUT //Power Up Timer Kullanma
  6. #FUSES PROTECT //Rom'a Yazılan Verilerin Okunamasını Engelle
  7. #FUSES NOBROWNOUT //Brownout Reset Kullanma
  8. #FUSES NOLVP //Düşük Gerilimler ile Programlamayı Kapt
  9. #FUSES NOCPD //Data EEPROM Korumasız
  10. #FUSES NOWRT //Program Belleği Yazmaya Açık
  11. #FUSES NODEBUG //ICD için Hata Ayıklama Modu Kapalı
  12.  
  13. #use fast_io(a)
  14. #use fast_io(b)
  15.  
  16. int1 x;
  17.  
  18. void main()
  19. {
  20. /*Genel Pic de bölmlerinin ayarlamaları yapılıyor*/
  21. setup_adc_ports(NO_ANALOGS);
  22. setup_adc(ADC_OFF);
  23. setup_spi(SPI_SS_DISABLED);
  24. setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
  25. setup_timer_1(T1_DISABLED);
  26. setup_timer_2(T2_DISABLED,0,1);
  27.  
  28. /* A pinleri a0 giriş hariç lojik-0 çıkış yapılıyor*/
  29. set_tris_a(0b00000001);
  30.  
  31. /* B pinleri komle lojik-0 çıkış yapılıyor */
  32. set_tris_b(0x00);
  33.  
  34. while(1)
  35. {
  36. /* a0 pininden okunan değer x'e atanıyor*/
  37. x=input(pin_a0);
  38. /* x tek bitlik değeri b0' atanıyor*/
  39. output_bit(pin_b0,x);
  40.  
  41. }
  42. }

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

  1. #include <16F877.h>
  2.  
  3. #FUSES NOWDT //Watch Dog Timer Kullanma
  4. #FUSES RC //Resistor/Capacitor Osilatör ile CLKOUT
  5. #FUSES NOPUT //Power Up Timer Kullanma
  6. #FUSES PROTECT //Rom'a Yazılan Verilerin Okunamasını Engelle
  7. #FUSES NOBROWNOUT //Brownout Reset Kullanma
  8. #FUSES NOLVP //Düşük Gerilimler ile Programlamayı Kapt
  9. #FUSES NOCPD //Data EEPROM Korumasız
  10. #FUSES NOWRT //Program Belleği Yazmaya Açık
  11. #FUSES NODEBUG //ICD için Hata Ayıklama Modu Kapalı
  12.  
  13. /*Programda zamanlama kullanılacaksa*/
  14. #use delay(clock=4000000)
  15.  
  16. /*Port yönlendirme yapılıyor */
  17. #use fast_io(b)
  18. #use fast_io(a)
  19.  
  20. /* Portb kelimesi b portunun adresine yerleştirilmiştir*/
  21. #byte portb=6
  22.  
  23. int x;
  24. void main()
  25. {
  26. /*Genel Pic de bölmlerinin ayarlamaları yapılıyor*/
  27. setup_adc_ports(NO_ANALOGS);
  28. setup_adc(ADC_OFF);
  29. setup_spi(SPI_SS_DISABLED);
  30. setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
  31. setup_timer_1(T1_DISABLED);
  32. setup_timer_2(T2_DISABLED,0,1);
  33.  
  34. /* A pinleri hexadecimal gösterimle lojik-1 giriş yapılmıştır binary 11111111*/
  35. set_tris_a(0xFF);
  36. /*B pinleri tümüyle çıkış yapılmıştır binary gösteri*/
  37. set_tris_b(0xFF);
  38.  
  39. /* B portu giriş lojik-1 yapılıyor*/
  40. output_b(0x00);
  41. // b portun tüm pinleri enerjilendi
  42.  
  43. while(1)
  44. { /* a portu tüm pinleri okunuyor*/
  45. x=input_a();
  46. /* x değişkenin son iki biti sıfırlanmıştır*/
  47. x=x&0b00111111;
  48.  
  49. /* x degeri b portuna çıkış olarak gönderiliyor.*/
  50. portb=x;
  51.  
  52. }
  53. }

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
Abone ol
Bildir
0 Yorum
Satır İçi Geri Bildirimler
Tüm yorumlar
0
Düşüncelerinizi paylaşınx