Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi
Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi
Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
LIST P16F877<br />
INCLUDE “P16F877.INC”<br />
SAYAC1 EQU 0x20<br />
SAYAC2 EQU 0x21<br />
ORG 0x003<br />
GOTO BASLA<br />
ORG 0x004<br />
DUR<br />
GOTO DUR<br />
ILK_DEGERLER<br />
CLRF PORTD ; PortD yazmanını temizle<br />
BCF STATUS,6 ; Bank1‟e geç<br />
BSF STATUS,5 ; Bank1‟e geç<br />
CLRF TRISD ; D Portundaki ledler çıkış seçilir<br />
BCF STATUS,5 ; Bank0‟a geç<br />
RETURN<br />
TEKRAR_YAK<br />
CLRF PORTD ; Ledleri söndür<br />
CALL GECIKME ; Gecikme alt programını çağırır<br />
MOVLW b‟00001111‟ ; W kayıtçısına b‟00001111‟ değeri yüklendi<br />
MOVWF PORTD ; W içeriği PortD ye yüklendi<br />
RETURN<br />
GECİKME<br />
MOVLW h „FF‟<br />
MOVWF SAYAC1 ; SAYAC1= d‟255‟<br />
DONGU11<br />
MOVLW h‟FF‟<br />
MOVWF SAYAC2 ; SAYAC2= d‟255‟<br />
DONGU12<br />
DECFSZ SAYAC2,F<br />
GOTO DONGU12<br />
DECFSZ SAYAC1,F<br />
GOTO DONGU11<br />
RETURN<br />
BASLA<br />
CALL ILK_DEGERLER<br />
DONGU<br />
CALL TEKRAR_YAK<br />
CALL GECİKME<br />
GOTO DONGU<br />
END<br />
Gecikme programında iç içe iki döngü kullanılmıştır. Her iki döngü kullanıldığında oluşan toplam<br />
komut çevrim sürelerini hesaplarsak;<br />
KOMUTLAR KOMUT ÇEVRİM SÜRESİ<br />
GECİKME<br />
MOVLW h „FF‟ 1<br />
MOVWF SAYAC1 ; d‟255‟=M 1<br />
DONGU11<br />
MOVLW h‟FF‟ 1xM<br />
MOVWF SAYAC2 ; d‟255‟=N 1xM<br />
DONGU12<br />
DECFSZ SAYAC2,F 1xMxN<br />
GOTO DONGU12 2xMxN<br />
DECFSZ SAYAC1,F 1xM<br />
GOTO DONGU11 2xM<br />
RETURN 2<br />
M ve N yerine 255 yerleştirilirse; Toplam 196.608 çevrim süresi<br />
196.608 x (0.05 x 4)µsn = 39.321 µsn ≡39 msn<br />
İbrahim Türkoğlu, <strong>Fırat</strong> <strong>Üniversitesi</strong> - Elektronik ve Bilgisayar Eğitimi Bölümü, Elazığ- 2010. 113