Pic16f84 Komut Çalışması
-
pic16f84 mikrodenetleyicisinin komutlardan 10 tanesi hariç diğerleri 1 komut saykılı süresinde çalışır bu komutlar;
KOMUTLAR KOMUT SAYKILI
GOTO 2
CALL 2
RETURN 2
program countur e (PC) veri yazan komutlar 2
DECFSZ 1(register içerisindeki sayı 0'A DEĞİLSE)
2(register içerisindeki sayı 0 sa)
RETLW 2
RETFIE 2
INCFSZ 1(test edilen bit 1 se)
2(test edilen bit o sa)
BTFSC 1(test edilen bit 1 se)
BTFSS 2(test edilen bit o sa)
-
lise pic programlama görmüştük... asm dili kullanılıyor, pic çok zevkli bi konu.. Kullandığımız entegrede 16f84 :)
-
tek döngü ile minimum zaman geciktirme
bu gecikme döngüsü hazırlanırken sayaç olarak kullanılacak bir file register tanımlanır bu register içerisine döngünün tekrar sayısı yüklendikten sonra DECFSZ komutu ile tekrar sayısından her defasında 1 çıkartılır. çıkarma işlemi sonucu 0 olunca döngü sona erdirilir şimdi bu şekilde düzenlenen bir döngüde kaç saykıl oluuştuğunu akış diyagramını çizerek görelim SAYAC registeri içerisine yüklenen sayı N = 'h01'='d'1' dir.
KOMUT SAYKIL N-1
MOVLW h'01' 1
MOVWF SAYAC 1
DONGU
DECFSZ SAYAC, F 1*0+2
GOTO DONGU 0 <------------ N-1
toplam 4saykıl
TEK DÖNGÜ İLE MAKSİMUM ZAMAN GECİKTİRME
SAYAC registeri içerisine yüklediğimi sayıyı h'FF' yaparsak yukarıda akış daiyagramını çizdiğimiz gecikme döngüsünden maksimum gecikmeyi sağlarız
SAYAC registeri içerisine yüklediğimiz sayı N=h'FF'= d'255' dir.
SAYKIL TARAFINA AYNI SIRAYLA 1 1 1*254+2
ALT SATIRA 2*254 TOPLAM 766 SAYKIL EDER.
