Elimde bulunan bir kaç zaman gecikme fonksiyonunu paylaşmak istedim arkdaşlar işnize yarayabilir. Kodları programa bir kez dahil edip 16-255 us ,1-255 ms veya 1-255 sn gecikme sağlayabilrisiniz.Programlar 4 mhz frekanslı picler içindir. Programları kullanmak için W registerine gecikme değerini yükleyip ilgili programı çağırmanız yeterli yüksek seviyeli programlama dilleride böyle hazır fonksiyonlar kullanıyor.Fonksiyonu kullanırken fonksiyonun kullandığı ilgili değişkenleri programda tanıtmayı unutmayın
ör:
movlw .100
call delay_ms
Zaman_gecikme (http://rapidshare.com/files/218844275/gecikme_fonksiyonu.rar)
;-------------------------------------------------------------------
; 1-255 sn arasında gecikme sağlayan alt program.
;-------------------------------------------------------------------
delay_s
movwf delay_s_data
delay_s_j0:
movlw .250 ;4 * 250 = 1000 ms bekle,
call delay_ms ;her çevrim 1 sn.
movlw .250
call delay_ms
movlw .250
call delay_ms
movlw .250
call delay_ms
decfsz delay_s_data
goto delay_s_j0
return
;-------------------------------------------------------------------
; 1-255 ms arasında gecikme sağlayan alt program.
;-------------------------------------------------------------------
delay_ms
movwf delay_data
delay_ms_j0
movlw .142
movwf delay_data+1
nop
nop
delay_ms_j1
nop
nop
nop
nop
decfsz delay_data+1, F
goto delay_ms_j1
nop
decfsz delay_data, F
goto delay_ms_j0
nop
return
;-------------------------------------------------------------------
; 16-255 µs gecikme sağlayan alt program.
;-------------------------------------------------------------------
delay_us
movwf delay_data
rrf delay_data, F
rrf delay_data, F
movlw .63
andwf delay_data, F
movlw .3
subwf delay_data, F
nop
decfsz delay_data, F
goto $ - 2
nop
return
Bende tam bunu arıyordum yenı gördüm teşekkürler.
Alıntı yapılan: ylmz - 09 Mayıs 2016, 21:13:27
Bende tam bunu arıyordum yenı gördüm teşekkürler.
http://www.piclist.com/techref/piclist/codegen/delay.htm