Yazdığım küçük programda anlamadığım noktaları anlatır mısınız?

grave45

Üye
Katılım
14 Nis 2011
Mesajlar
17
Puanları
1
Yaş
35
LIST P=16F84 ;PIC16F84'ün MPASM'ye tanıt
INCLUDE "P16F84.INC"
_CONFIG _CP_OFF S_WDT_OFF ;_PWRTE_OFF S_RC_OSC
CLRF PORTB ; PORTB'ye bağlı LED'leri söndür
BSF STATUS, RP0 ;BANKl’e geç
CLRF TRISB ;PORTB'nin uçlarını çıkıs yap
BCF STATUS, RP0 ;BANK0’a geç
BSF PORTB, 0 ;PORTB’nin 0.bitindeki LED'i yak
END ;Program komutlarının sonu

programdaki 3. satır ne işlevi görüyor ? Bank0'a geçmek ve bank1e geçmek ne anlama geliyor ne amaçla yazıldı?
 
3. satır da konfirigasyon ayarları yapılıyor.Osilatör seçini, sonsuz döngüleri önlem , güç harcama modu gibi işlemler yapılıyor.
Blanklar ise pic in hafıza sisteminden kaynaklanıyor ,16f84 iki sütunlu bellek bölgesine sahip.Pin giriş çıkış ayarları (tris ) pic in 2. sütun bellek bölgesinde datashete bakarsan demek istediğimi daha rahat anlarsın kolay gelsin.
 
Merhaba
Bu konular hakkında geniş bilgi sahibi olabilmeniz için ucuz,sayfa adedi az ve de anlaşılır şekilde yazılmış bir kitap önereceğim.ALFA yayınlarından Herkes için "PIC PROGRAMLAMA" yazarı NURSEL AK daha sonra da ALTAŞ yayınlarının kitapları da daha ileri gitmenizi sağlayacaktır.
 
Elinde bu şekilde hazır programlar olan varsa ekleyebilirmi?
Ayrıca BSF, CLRF, BCF gibi komutların türkçe açıklamaları varmı??

*Kitap alabilecek kadar vaktim olmadığı için yazıyorum.
 
Kitapçılardan alacak vaktin yoksa aşağıdaki siteden satın alabilirsin;

Mikrodenetleyiciler ve PIC Programlama (16F628A)

Kod:
BSF komut örneği:

BSF PORTA,0

PORTA'nın 0. biti lojik 1 olur.

Kod:
BCF komut örneği:

BCF PORTA,0

PORTA'nın 0. biti lojik 0 olur.

Kod:
BSF komut örneği:

CLRF PORTA

PORTA'nın bütün bitleri lojik 0 olur.
 
Cevabınız için teşekkürler.

Açıkladığınız kodların liste olarak açıklamaları varmı acaba?

Bendekiler ingilizce. az çok anlaşılıyor ama yeterli değil.
 
Configuration larda bir sorun var sanki.. Kitaptan taratılmış sanırım bu satırlar.. Configuration un yarısı da açıklama olarak ayrılmış görünüyor.. Bence o programın doğrusu böyledir..

LIST P=16F84 ;PIC16F84'ün MPASM'ye tanıt
INCLUDE "P16F84.INC"
_CONFIG _CP_OFF &_WDT_OFF &_PWRTE_OFF &_RC_OSC
CLRF PORTB ; PORTB'ye bağlı LED'leri söndür
BSF STATUS, RP0 ;BANK1’e geç
CLRF TRISB ;PORTB'nin uçlarını çıkıs yap
BCF STATUS, RP0 ;BANK0’a geç
BSF PORTB, 0 ;PORTB’nin 0.bitindeki LED'i yak
END ;Program komutlarının sonu

Kendimce tekrardan açıklamak gerekirse..

Configuration pic in sabit ayarlarıdır.. Mesela ne tür kristal kullanacağın(RC_OSC, XT_OSC, LP_OSC, HS_OSC vsvsvs), WDT sayacının aktif pasif olması, yazılımın kod korumalı(CP) olması, başlangıçta kristalin stabilitesinin beklenmesi(PWRT)...

PIC16F serisinde ram e erişen tüm komutlarda sadece 7 bit adresleme yapılabilmektedir, yani 128 bayt.. Haliyle registerler dahil 512 baytlık ram alanı 128er baytlık 4 ayrı banka ayrılmıştır.. 16F84te 2 bank vardır, diğer ikisi kullanım dışıdır.. Hangi 128 baytlık bloğa okuma yazma yapılacağı ise tüm banklarda aynı adreste aynı veriyi içeren STATUS registerindeki RP0 ve RP1 bitleri ile belirlenir..
 

Forum istatistikleri

Konular
129,794
Mesajlar
930,162
Kullanıcılar
452,588
Son üye
morenerji

Yeni konular

Geri
Üst