Mikrodenetleyici Programlama #3

Herkese merhaba Dostlar

Verdiğimiz 2 sayfa bilgiden sonra artık programlamaya geçebiliriz. Eğer bir mikrodenetleyiciyi, assembly ile programlamak istiyorsanız öncelikle bilmeniz gereken bir kaç bilgi var.Bizim kullanacağımız mikrodenetleyici PIC16f84 olduğu için ona göre anlatacağım. Bir mikrodenetleyiciyi programlamadan önce bazı hazırlıklar yapmamız gerekiyor. Hangi pinlerin giriş hangi pinlerin çıkış olacağına karar vermemiz gerekiyor. PIC16F84’te iki adet port bulunur bunlardan biri A diğeri B portudur. PIC16F84’te toplamda 13 adet giriş ve çıkış yapabileceğimiz pinler bulunmaktadır. A portunda 5, B portunda 8 olmak üzere. Fakat programlama yaparken biz bunu sanki 16 adet pin varmış gibi kabul ederek programlamamız gerekiyor. Aşağıdaki oklarla gösterdiğim giriş ve çıkışları istediğimiz gibi değiştirebiliriz.

Gelelim programlamaya başlamadan önce ne gibi bir hazırlık yapmamız gerekiyor.Aşağıdaki çizdiğim resme bakarak anlatacağım sizde ona bakarak anlamaya çalışın.

 

PIC16F84’te iki adet bank vardır. Bu bank sayıları mikrodenetleyiciye göre değişkenlik gösterebilir.Peki bu banklar ne işe yarıyor ;

Bank1 dediğimiz bölge bizim programı yazmadan önce hazırlık yapacağımız kısımdır.Hangi pinlerin çıkış hangi pinlerin giriş olacağına karar vereceğimiz bölge. Arkadaşlar bakın burada giriş ve çıkış dediğimiz şey şudur;

Giriş dediğimiz elemanlar şunlardır : Anahtar, Buton, sensör ve benzeri

Çıkış dediğimiz elemanlar da şunlardır : Led, röle ve benzeri

Hadi Başlayalım :

Kullanacağımız kelimelerin anlamlarını zamanla öğrenirsiniz.

BSF = 1 yapmak için

BCF = 0 yapmak için 

CLRF = Hepsini 0 yap

Not defterini açtık ve en başa derleyici programının (MPLAB programı) hangi mikrodenetleyiciyle çalıştığımızı anlayabilmesi için şunu yazmamız gerekiyor

LIST P=16F84

INCLUDE “P16F84.INC”

Bu iki satır derleyici içindi.Sizde hangi model mikrodenetleyici kullanıyorsanız onu yazın. Programı ilk yazmaya başlarken mikrodenetleyicimiz BANK0 konumundadır. Bizim bunu BANK 1 konumuna getirmemiz gerekiyor.Bunun yapmamız için resimde gördüğünüz STATUS’un 6’ıncı bitini 0 , 5’inci bitini 1 yapmamız gerekiyor.Not defterimize yazmaya devam ediyoruz.

BSF STATUS, 5   > Statusun 5. bitini 1 yap

BCF STATUS, 6 > Statusun 6.bitini 0 yap ( zaten 0 olduğu için bunu yazmanıza pek gerek yoktur )

İşte BAŞARDINIZ. Bank1 konumunu geçmek bu kadar basit. Şimdide TRISB çıkış yapalım ve Bank0 konumuna geri dönelim.

LIST P=16F84                       >>> derleyicinin mikrodenetleyici tanıması için

INCLUDE “P16F84.INC”  >>> derleyicinin mikrodenetleyici tanıması için

BSF STATUS, 5                     >>> BANK1 geçmek için yazılan kod

CLRF TRISB                          >>> TRISB çıkış yapmak için yazılan kod

BCF STATUS, 5                     >>> BANK0 geri dönmek için yazılan kod

Bu bölüm sadece hazırlık bölümüdür PORTB çıkışlarına enerji gitmeyecektir yada taktığınız ledler yanmayacaktır burada sadece pinlere çıkış elemanı mı yoksa giriş elemanı mı bağlayacağımıza karar verdik.

 

En kolay ve basit haliyle anlatmaya çalıştım umarım anlayabilmişinizdir. Bir sonraki dersimizde görüşmek üzere.

Not : Burada verdiğimiz bilgiler yüzeysel bilgilerdir tabiki eksiklerimiz olacaktır. Ben bildiklerimi aktarmaya çalıştım.Bilgi paylaştıkça çoğalır. Kolay Gelsin iyi çalışmalar.

 

 

 

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir