240 likes | 456 Views
2.HAFTA Mikroişlemci Laboratuvarı. PIC ASSEMBLY KOMUTLARI. PIC BELLE K YAPISI. PIC mikrodenetleyicisinin belleği, program ve RAM belleği olmak üzere iki ayrı bellek bloğundan oluşur . Program Belleği = Her bir bellek hücresi içerisine 14 bit uzunluğundaki program komutları saklanır .
E N D
2.HAFTA Mikroişlemci Laboratuvarı PIC ASSEMBLY KOMUTLARI
PIC BELLEK YAPISI • PICmikrodenetleyicisininbelleği, program ve RAM belleği olmak üzere iki ayrı bellek bloğundan oluşur. • Program Belleği=Her bir bellek hücresi içerisine 14 bit uzunluğundaki program komutları saklanır. • RAM Bellek=Bu bellek içerisindeki file registerleri içerisine yerleştirilen veriler PIC CPU'sunun çalışmasını kontrol ederler. File registerlerin bellek uzunluğu 8 bit'tir.
W register • Bir PIC'te gerçekleşen tüm aritmetik işlemler ve atama işlemleri için W register kullanma zorunluluğu vardır. Örneğin iki register içindeki veriler toplanmak istendiğinde, ilk olarak registerlerden birinin içeriği W registere aktarılır. Daha sonra da diğer registerin içerisindeki veri W registeri içerindekiyle toplanır.
PIC ASSEMBLYTALİMATLARI Daha önce ortalama bir PIC mikro denetleyici (PIC16F84, PIC16F877 gibi) komut setinde 35 adet komut bulunur. Program yazarken bu komutlar haricinde bazı assembler derleyici talimatlarını da kullanmamız gerekir. Bunlar;
PIC16F84 / PIC16F877 KOMUT SETİ __CONFIG _XT_OSC & _PWRTE_ON & _BODEN_OFF & _CP_OFF & _WDT_OFF & _LVP_OFF & _CPD_OFF __CONFIG h’3F31’;__CONFIG b’11111100110001’ Not: Program belleğinin 2007h adresinde olup 14 bittir. Bu bitlere sadece PIC programlama aşamasında erişilebilmektedir.
SAYILARIN GÖSTERİMİ Yazım formatında bir önemli konu da sayıların gösterim şeklidir. Assembly içinde aksi belirtilmedikçe her sayı onaltılık tabanda kabul edilir. Aşağıdaki tabloda hangi tabandaki sayının nasıl gösterildiği yer almaktadır
Örnek 1: PORB nin 7. bitine bağlı ledi yakıp söndüren program ;==LED.ASM === LIST P=16F84 #INCLUDE<P16F84.INC> BSF STATUS,5 CLRF TRISB ; PORTB nin tüm uçları çıkış yapıldı BCF STATUS,5 CLRF PORTB ; PORTB’ ye b’0000 0000’ değeri yüklendi DON: BSF PORTB,7 ; PORTB nin 7.bitini yak BCF PORTB,7 ; PORTB nin 7. bitini söndür GOTO DON END
Örnek 2: PORTB ‘ye bağlı 8 ledi dörtlü olarak (ilk önce LSB tarafı daha sonra MSB tarafı olacak şekilde) yakıp, söndüren söndüren bir flashör devresi ve programı: Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU