"Karmaşıklığı kontrol etmek Programlamanın en asıl işidir."

28 Ağustos 2014 Perşembe

CCS C Toggle uygulaması

output_toggle( )




Sözdizimi:
output_toggle(pin)

Parametreler:
Pinler cihazların .h dosyasında tanımlanır.Gerçek değeri biraz adresidir. #define PIN_A3 43: Örneğin, port (bayt 5) biraz 3 5 * 8 + 3 veya 43'e değerini aşağıdaki gibi bu tanımlanır olurdu.

Dönüş:
Tanımsız

Fonksiyon:
Belirtilen pinin yüksek(high) / düşük(low) durumunu değiştirir. (0 ise 1 -> 1 ise 0) yapar

Durum:
Bütün cihazlar

Gereksinim:
Pin sabitleri .h dosyası cihazlarda tanımlandığı gibidir

Örnek:
output_toggle(PIN_B4);

Örnek Dosya:
Yok





Örnek Uygulama ;

/******************************************************
      PIC16F877 ile Led Toggle Uygulaması

Bu program ile B portuna bağlı 8 LED'i TOGGLE komutu ile
sırayla yakıp söndürmektedir.

Yazan   :SERDAR ÇİÇEK
*******************************************************/
#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 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_b(0x00);    // RB0 portu tümüyle çıkış olarak ayarlandı.

   output_b(0x00);      // B portu çıkışı sıfırlanıyor

   basla:

   delay_ms(500);          // 500 ms'lik gecikme veriliyor
   output_toggle(pin_b0);  // RB0 ucunun çıkış durumu tersleniyor
   delay_ms(500);          // 500 ms'lik gecikme veriliyor
   output_toggle(pin_b1);  // RB1 ucunun çıkış durumu tersleniyor
   delay_ms(500);          // 500 ms'lik gecikme veriliyor
   output_toggle(pin_b2);  // RB2 ucunun çıkış durumu tersleniyor
   delay_ms(500);          // 500 ms'lik gecikme veriliyor
   output_toggle(pin_b3);  // RB3 ucunun çıkış durumu tersleniyor
   delay_ms(500);          // 500 ms'lik gecikme veriliyor
   output_toggle(pin_b4);  // RB4 ucunun çıkış durumu tersleniyor
   delay_ms(500);          // 500 ms'lik gecikme veriliyor
   output_toggle(pin_b5);  // RB5 ucunun çıkış durumu tersleniyor
   delay_ms(500);          // 500 ms'lik gecikme veriliyor
   output_toggle(pin_b6);  // RB6 ucunun çıkış durumu tersleniyor
   delay_ms(500);          // 500 ms'lik gecikme veriliyor
   output_toggle(pin_b7);  // RB7 ucunun çıkış durumu tersleniyor
   delay_ms(500);          // 500 ms'lik gecikme veriliyor

   goto basla;
}

0 yorum:

Yorum Gönder

İletişim Formu

Ad

E-posta *

Mesaj *