Teknikim

Üye Girişi

Önemli! Foruma yazılmayan sorulara cevap verilmeyecektir. Lütfen sorularınızı foruma yazın!
PIC ve PIC Assembly'ye Giriş
 

Yazan: Tuna BULUT, Tarih: 26-01-2008 11:39

Okunma Sayısı : 1223

Beğenilme : 17

Yayınlama yeri : Dersler, PIC Dersleri

Bu giriş yazısında PIC ve PIC Assembly ile ilgili kısa bilgiler verilmektedir. Yazıyı indirmek için tıklayınız

Öncelikle PIC'in ne olduğuna bakalım. PIC(Peripheral Interface Controller) Microchip firmasının ürettiği bir mikrodenetleyicidir. Mikrodenetleyici ise mikroişlemci, RAM, ROM, ALU, kontrol ünitesi ve I/O ünitesini tek bir chip içinde barındıran entegre(tümleşik) devredir. Birçok PIC modeli vardır ancak biz bazı uygulamalarımızda PIC16F628A'yı, bazı uygulamalarımızda da PIC16F877A'yı kullanacağız. Bu PIC modelleri EEPROM bellek yapısına sahip olduğundan, içerisindeki kod, PIC' e uygulanan besleme gerilimi kesilse bile silinmez. Ayrıca bir yazılım aracılığıyla çok rahat bir biçimde programlanabilir ve içerisindeki kod silinebilir.

PIC de özel yazmaçlar(register) ve bu yazmaçların yer aldığı banklar bulunmaktadır. Şekil 1 de PIC16F628A'nın, şekil 2 de de PIC16F877A'nın bellek haritası görülmektedir.

16f628a_memory_map.jpg 16F877A_Memory_Map.jpg
      Şekil 1 - PIC16F628A Bellek Haritası(Memory Map)                               Şekil 2-PIC16F877A Bellek Haritası(Memory Map)

Pic e işlem yaptırabilmek için ilgili yazmacın bulunduğu banka geçilmeli ve yazmacın ilgili bitinin değeri 0 veya 1 yapılmalıdır.

Bank Değiştirme

Bank değiştirme işlemi STATUS yazmacının 5. ve 6. bitleri değiştirilerek yapılır.

Status.jpg

 

 

RP1 RP2 BANK

0      0      0

0      1      1

1      0      2

1      1      3

Örnek: Bu örnekte Bank2 ye geçiş yapılır

BCF     0x03, 5       ;Status yazmacının 5. bitini 0 yap

BSF     0x03, 6       ;Status yazmacının 6. bitini 1 yap

W Yazmacı

Verilerin geçici olarak saklandığı 8 bitlik bir yazmaçtır. Bazı işlemleri yapmak için bu yazmaç kullanılmak zorundadır. Örneğin bir değişkene değer atamak istediğimizde öncelikle bu değer W yazmacına yüklenir oradan da değişkene atanır.

Örnek: Bu örnekte 0xFF hexadecimal sayısı ‘reg' değişkenine atanmaktadır.

MOVLW     0xFF   ;0xFF değerini W yazmacına taşı

MOVWF     reg      ;W yazmacındaki değeri ‘reg' değişkenine ata



   
Beğenilme
E-mail olarak gönder
İlgili makaleler
Teknikim'e kaydet

Okuyucu yorumları  RSS feed Yorum
 

Ortalama Üye Değerlendirmesi

   (0 Oylama)

 


Yorumunuzu ekleyin
Sadece kayitli kullanicilar bir Makaleyi yorumlayabilir. Lütfen ücretsiz üye olun veya giriş yapın.

Gönderilen yeni yorum yok



mXcomment 1.0.8 © 2007-2009 - visualclinic.fr
License Creative Commons - Some rights reserved