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