Daha önceki konularımız anlaması daha kolay, port sayısı daha az olan 16F84A modeliydi. Bugün 16F877 modeline geçeceğiz. 16F877 modeli, birçok yönden 16F84A modelinden üstün bir pic tir. Öncelikle 16F877'ten bahsedersek, A, B, C, d ve E olmak üzere 5 tane port vardır ve toplam 40 ayağı bulunur. CCS'te 16F877'yi programlarken, 16F84'te tanımlamadığımız birkaç farklı kod olacaktır.

HEX ve Binary sayı sistemlerinden haberdar olmak önemlli ve gereklidir. Hex sayı sistemi, 16'lık tabanda yazılan sayı sistemidir. Binary ise, 'lik tabanda. Örneğin 0b0001 bir binary sayıdır. 0b kısmı bu sayının binary olduğunu göstermek içindir. Aynı şekilde 0x00 da bir hex sayısıdır. Burada da 0x kısmı bu sayının hexa desimal bir sayı olduğunu göstermek içindir.

16F877 için hazırlamış olduğumuz kodlara bakacak olursak;

#include "C:Program FilesPICCExamplesilg. -3. h"

#fuses xt, nowdt, noprotect, nobrownout, nolvp, noput, nowrt, nodebug, nocpd

#use delay(clock=4000000)

#use fast_io(b)

void main()

{

setup_adc_ports(NO_ANALOGS);

setup_adc(ADC_OFF);

setup_psp(PSP_DISABLED);

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);

// TODO: USER CODE!!

setup_CCP1(CCP_OFF); //CCP1 devre dışı bırakılır

setup_CCP2(CCP_OFF); //CCP2 devre dışı bırakılır

set_tris_b(0x00); //RB portu tamamı çıkış

output_b(0x00); // B portu çıkış olarak ayarlanır.

basla:

delay_ms(400); //400ms gecikme

output_toggle(pin_b0); //RB0 ucunun çıkış durumu tersleniyor

delay_ms(400); //400ms gecikme

output_toggle(pin_b1); //RB0 ucunun çıkış durumu tersleniyor

delay_ms(400); //400ms gecikme

output_toggle(pin_b2); //RB0 ucunun çıkış durumu tersleniyor

delay_ms(400); //400ms gecikme

output_toggle(pin_b3); //RB0 ucunun çıkış durumu tersleniyor

delay_ms(400); //400ms gecikme

output_toggle(pin_b4); //RB0 ucunun çıkış durumu tersleniyor

delay_ms(400); //400ms gecikme

output_toggle(pin_b5); //RB0 ucunun çıkış durumu tersleniyor

delay_ms(400); //400ms gecikme

output_toggle(pin_b6); //RB0 ucunun çıkış durumu tersleniyor

delay_ms(400); //400ms gecikme

output_toggle(pin_b7); //RB0 ucunun çıkış durumu tersleniyor

delay_ms(400); //400ms gecikme

goto basla;

}

Aynı programı farklı kodlarla ve farklı şekillerde yapmak isterseniz;

Sırayla binary sayı sayan bir kod;

#include "C:Program FilesPICCExamplesilg. -3. h"

#fuses xt, nowdt, noprotect, nobrownout, nolvp, noput, nowrt, nodebug, nocpd

#use delay(clock=4000000)

#use fast_io(b)

int16 x;// x isminde bir sayı

void main()

{

setup_adc_ports(NO_ANALOGS);

setup_adc(ADC_OFF);

setup_psp(PSP_DISABLED);

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);

// TODO: USER CODE!!

setup_CCP1(CCP_OFF); //CCP1 devre dışı

setup_CCP2(CCP_OFF); //CCP2 devre dışı

set_tris_b(0x00); //RB portu tümüyle çıkış

output_b(0x00); // B portu çıkış

basla:

x=0;

a:

if (x<0b1111111)

{

x++;

output_b(x);

delay_ms(100);

goto a;

}

goto basla;

}

Bir başka; sırayla yukardan aşağı doğru sönen bir kod;

#include "C:Program FilesPICCExamplesilg. -3. h"

#fuses xt, nowdt, noprotect, nobrownout, nolvp, noput, nowrt, nodebug, nocpd

#use delay(clock=4000000)

#use fast_io(b)

int16 x;// x isminde bir sayı

int a;

void main()

{

setup_adc_ports(NO_ANALOGS);

setup_adc(ADC_OFF);

setup_psp(PSP_DISABLED);

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);

// TODO: USER CODE!!

setup_CCP1(CCP_OFF); //CCP1 devre dışı

setup_CCP2(CCP_OFF); //CCP2 devre dışı

set_tris_b(0x00); //RB portu tümüyle çıkış

output_b(0x00); // B portu çıkış

basla:

a=0b11111111;

x=0;

for(x=0;x<8;x++ )

{

output_b(a);

delay_ms(100);

a=a<<1;

}

goto basla;

}



Görüldüğü üzere, komutlarda oynanarak, aynı devre üzerinde farklı oluşumlar hazırlamak mümkündür. Ben hazırladığım bütün devreleri similatör üzerinde test ettim ve sorunsuz çalışıyor, aynı şekilde sizlerde kodları deneyebilirsiniz.

Başarılar...

Kategoriler:

Yapılan Yorumlar

Henüz kimse yorum yapmamış.

Bu sayfada yer alan bilgilerle ilgili sorularınızı sorabilir, eleştiri ve önerilerde bulunabilirsiniz. Yeni bilgiler ekleyerek sayfanın gelişmesine katkıda bulunabilirsiniz.

Yorum Yapın

Adınız:
E-Mail:
Mesajınız:
Doğrulama: Güvenlik Kodu
 
Hosts Dosyası Nedir?     Ekinoks Nedir?     Vista Transformation Pack 5.5     Samsung'un 32 GB Flash Sürücüsü Görücüye Çıktı     İntel'in Core 2 Duo E6400'ü %56'lık oc ile fiyat-performans kralı     İşte Karşınızda Yeni Honda Civic     Cubase 4 - Devrimci bir kilometre taşı Müzik prodüksiyon yazılımı.     M-Audio, Avid/Digidesign tarafından satın alındı - İki dev birleşti     M-Audio MobilePre USB - USB Beslemeli, Pre-amplifikatörlü USB Ses Kartı     VW Touran CCS (BiZEL Motorlu Tek Araç)     Avedesk Bölüm2     Windows Vista Güncelleştirme Paketi     StrokeIt 9.5     Murat Günak kimdir?     AMD: Fusion ile CPU ve GPU'yu Birleştiriyor.     NanoTeknoloji Nedir?     Arama Motorları Nasıl Çalışır?     Java Destekli Telefonlar için 3D Performans ve Kalite Testleri     Barkod Nedir?     VW Tiguan ( Küçük Touareg )     Cubase 4 - Kontrol Odası (Control Room)     SSL Nedir? Nasıl Çalışır?     C-Metisse (Citroen'in Yeni Bombası)     Avedesk Bölüm 3 - Ave Scripter Eklentileri     MouseIMP Pro     H-racer ve Hydrogen Station     Ürün İncelemesi: Toshiba USB 2.0 1GB Flash Bellek     Beklenen oyun: Trackmania UNITED çıktı!     Ürün incelemesi: Saitek P3000 Wireless PRO Gamepad     Windows Vista Sidebar     Ürün İncelemesi: APC Back-UPS RS 1000VA Kesintisiz Güç kaynağı(KGK)     Pardus Linux 2007 Beta 2     Ekran Kartları Nasıl Çalışır?     AMD FireSTREAM Kartlara Logosunu Verdi     VISTA TRANSFORMATION PACK 6.0     Samsung'tan Dünyanın En İnce Cep Telefonu     Nintendo Wii Haber Kanalı Artık Yayında     Saab Bio Power     Hidrojen Kullanan Otomobil Sayısı Her Geçen Gün Artıyor!     Yüzyılın icadı: Erke Dönergeci     Apple iPhone     TecrubeliPilotAraniyor.COM     10.000 Pardus     Super Mario artık Nintendo Wii ‘de     Mobility Radeon X1900     Vista'nın da çıkmasıyla beraber 4 çekirdekli işlemciler artık standart hale geliyor     Avedesk Eklentilerin Ayarlanması     Dünyanın İlk Boxer Turbo Dizel Motoru     Ford Mustang Giugiaro Konsept     Yüzyılın yarış oyunu: Test Drive Unlimited!     Dizüstü Canavarı: Monster T2-Rex T72M575U1     Microsoft Virtual PC 2007     ATI Catalyst 7.2 Sürücüleri Çıktı!     Kuantum Bilgisayarlar Geliyor     MSN alternatifi, kullanıcıların yeni gözdesi: Trillian     Kuantum Bilgisayarlar     Video oyunları çocukları zayıflatıyor     Yahoo Messenger Vista !     Vista üzerinde IIS 7.0 Kurulumu     F1'e geri sayım…     HP iPAQ Voice Messenger 510 ; Ses tanıma, Wi-Fi, Windows Mobile 6.0 hepsi bir arada     Corel WordPerfect Lightning' in halka açık beta sürümünü yayımlıyor!     Toshiba'dan 51 GB HD DVD     Intel 11X Fabrikasını Yenliyor     Casper, dört çekirdekli Intel CoreTM 2 Quad Q6600 işlemciye sahip yeni modelini pazara sundu.     Değişen İklim Değil,Enerji Olsun!..     Far Cry'ın devam oyunu, muhteşem grafikleriyle: Crysis     IBM Dünya'nın En Güçlü Bilgisayarını Geliştriyor     Küresel Isınmanın Nedenleri? Sebepleri?     Elbit Systems VIPeR "avcı-katil" robotu çıkarıyor     Vista Aero Reloaded     Oyunlar yeni bir boyut kazandı: TrackIR!     Hard Disk Pazarının Kralı: Seagate     Yod'm 3D     Hava Kirliliğini Arttıran Sıcaklık İnversiyonu- Bölüm2     Yahoo'dan Sınırsız Email Kapasitesi     Hava Kirliliğini Arttıran Sıcaklık İnversiyonu- Bölüm1     Adobe'den Ücretsiz PDF Oluşturma Hizmeti     Türk insanına has Google Logoları…     AeroClear Glass for Vista Theme     Google Spreadsheets     Vista'da Farklı Temalar Kullanmak     NuSphere PhpED IDE     Ati HD2900XT, Nvidia 8800GTX'a Karşı: Crysis Demo ve 3DMark06 Testleri     Nükleer Santraller: Nasıl Çalışır? Problemleri Nelerdir?     Mucitlerimiz Gün Işığına Çıkıyor     768MB 8800GTX, 512MB ATI HD 2900XT, 640MB 8800GTS Oyun ve 3DMark06 Testleri     İTÜRO     Free Loader güneş pili     Vestel, Tamamen Türk Yapımı Yakıt Pili Üretti     İTÜ Robot Olimiyatları     Hovercraft: Sınır Tanımayan Araç     Boğaziçi Üniv. Robot Günleri     Beynimiz Nasıl Öğreniyor?     Yenilenebilir Enerji Kaynakları Nelerdir?     Adobe CS3 ile Mac'te, Daha Fazla Şey Yapın     Kuzey Işıkları'nın Dansı     Motorlarda Yanma Odaları ve Özellikleri     Güneş Enerjisi Nedir?     Crysis'in sahne tasarımlarına bir göz atalım    
Coğrafya
Coğrafya Sitesi
Tarih Sitesi
Türkçe Sitesi
Bilgi Sitesi
Bilgiler