Ali AKMAN Subroutine, Interrupt, LPM BİL325 C Ders - 5
Ali AKMAN Günün PROGRAMI Alt Programlar Kesmeler Düşük Güç Çalışma Modları Subroutine, Interrupt, LPM
Ali AKMAN Alt Program Yapısı Alt programın çağrılması ;Argumanlar R12 – R15 registerlarına atanir. call #SubroutineLabel Alt program SubroutineLabel: ;R4 – R11 register değerleri stackta korunur ;Alt program govdesi ;Stacktan R4 – R11 register değerleri alınır ret Subroutine, Interrupt, LPM
Ali AKMAN Yerel Değişkenler Yerel değişkenlerin depolama: CPU Registerları: Alt program içinde kullanılmadan önce değerleri stackta koruma altına alınmalı RAM: Tercih edilmez. Alt program çağrılsa da çağrılmasa da değişkenler yer kaplar. Stack: Genellikle kullanılabilecek CPU registerı kalmadığında değişkenlere stack üzerinde yer tahsis edilir. Subroutine, Interrupt, LPM
Ali AKMAN Yerel Değişkenler Yerel Değişken Register Subroutine, Interrupt, LPM Yerel Değişken Stack
Ali AKMAN Argümanlar Geri Dönüş Subroutine, Interrupt, LPM Argümanlar: R12 – R15 Stack Geri Dönüş R12 – R15 Stack Niye 6(SP) ?
Ali AKMAN KesMeler Sistem Reset Non-maskable Interrupts Toplu olarak etkileri iptal edilemez. Bireysel olarak (Kesme Bayrakları ile) etkileri iptal edilir. Maskable Interrupts SP register’ı GIE biti kullanılarak toplu olarak etkisizleştirilebilirler. Kesme bayrakları ile etkinleştirilirler. Subroutine, Interrupt, LPM
Ali AKMAN KesMeler
Ali AKMAN KesMeler Assembly Uygulama
Ali AKMAN KesMeler C Uygulama
Ali AKMAN Düşük Güç Modları Aktif Mod: CPU, saat blokları ve etkinleştirilmiş modüller aktif durumdadır. Yaklaşık 300 A akım çekilir. LPM0: CPU ve MCLK aktif değil, SMCLK ve ACLK aktif kalır. Yaklaşık 85 A akım çekilir. LMP3: CPU, MCLK, SMCLK ve DCO etkin değil, ACLK aktif kalır. Yaklaşık 1 A akım çekilir. Standart düşük güçte çalıştırma modudur. LMP4: CPU ve tüm saat blokları etkin değil. Yaklaşık 0.1 A akım çekilir. Subroutine, Interrupt, LPM
Ali AKMAN Düşük Güç Modları Subroutine, Interrupt, LPM
Ali AKMAN Düşük Güç Modları Subroutine, Interrupt, LPM Assembly Uygulama
Ali AKMAN Düşük Güç Modları Subroutine, Interrupt, LPM C Uygulama