21.08.2013 Views

Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi

Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi

Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Gecikme sürelerini sayaçlara yüklediğimiz M ve N sabitlerini değiştirerek ayarlamak<br />

mümkündür. Örneğin gecikme süresinin 10 milisn olması için dış ve iç döngü sayaçlarının<br />

değerlerinin ne olması gerektiğini bulalım:<br />

10.000/(0.05 x 4) = 3xNxN N=129<br />

bu değer h‟81‟ değerine karşılık gelir. Böylece 10 milisn gecikme elde edilir.<br />

Örnek 9.9: PortA‟nın 1. ucuna bağlı butona 10 defa basıldıktan sonra PortB deki tüm ledleri yakan<br />

program.<br />

LIST P16F877<br />

INCLUDE “P16F877.INC”<br />

SAYAC1 EQU h „20‟<br />

SAYAC2 EQU h „21‟<br />

MEM EQU h „22‟<br />

CLRF PORTB ; PortB‟yi sil<br />

BSF STATUS,5 ; Bank1‟e geç<br />

CLRF TRISB ; PortB‟nin uçları çıkış<br />

BSF TRISA,1 ; Porta‟nın 1. biti giriş<br />

CLRF MEM ; MEM kayıtçısını temizle<br />

TEKRAR<br />

BTFSC PORTA,1 ; PortA‟nın 1.bit‟i 0 mı?<br />

GOTO TEKRAR ; Hayır tekrar test et<br />

INCF MEM ; Evet, MEM=MEM+1<br />

MOVF MEM,W ; W=MEM<br />

SUBLW d „10‟ ; W= d „10‟-W<br />

BTFSC STATUS,2 ; STATUS‟un 2.biti 0 mı?<br />

GOTO YAK ; Hayır, Z=1<br />

CALL GECİKME ; Gecikme altprogramını çağır<br />

GOTO TEKRAR ;<br />

YAK<br />

MOMVLW h „FF‟ ; W= h „FF‟<br />

MOVWF PORTB ; PortB‟deki tüm ledleri yak<br />

DONGU<br />

GOTO DONGU ;<br />

;***************GECİKME ALTPROGRAMI***********<br />

GECIKME<br />

MOVLW h „FF‟<br />

MOVWF SAYAC1<br />

DONGU1<br />

MOVLW h „FF‟<br />

MOVWF SAYAC2<br />

DONGU2<br />

DECFSZ SAYAC2,F<br />

GOTO DONGU2<br />

DECFSZ SAYAC1,F<br />

GOTO DONGU1<br />

RETURN<br />

END<br />

İbrahim Türkoğlu, <strong>Fırat</strong> <strong>Üniversitesi</strong> - Elektronik ve Bilgisayar Eğitimi Bölümü, Elazığ- 2010. 114

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!