agradecido
Üye
- Katılım
- 13 Ara 2018
- Mesajlar
- 12
- Puanları
- 1
- Yaş
- 26
Öncelikle merhaba. Aşağıda yazdığım kod PIC16F84A için 1sn gecikme kodu. Ancak hesapladığım zaman her seferinde 0,25sn gecikme çıkıyor. PIC'in 4Mhz olduğunu düşünüyorum KÇS=1x10^(-6)saniye.(10x100x250/1.000.000=0,25sn) Sizce bu hesaplamada hatayı nerede yapıyorum? Kodun mantığı ve gecikmenin 1 saniye çıkması konusunda yardımcı olabilir misiniz?
Kod:
; ----1SN_GECIKME.ASM---------
list p=16F84
include "P16F84.INC"
org h'00'
;-----------------------------------
clrf PORTA
clrf PORTB
bsf STATUS, RP0
clrf TRISA
bcf STATUS, RP0
cblock h'0C'
SAY1, SAY2, SAY3, LEDR
endc
clrf LEDR
;----------------------------
RESET comf LEDR, 1
movf LEDR, 0
movwf PORTA
DONGU movlw d'10'
movwf SAY1
K1 movlw d'100'
movwf SAY2
K2 movlw d'249'
movwf SAY3
K3 NOP
decfsz SAY3, 1
goto K3
decfsz SAY2, 1
goto K2
decfsz SAY1, 1
goto K1
goto RESET
end
Moderatör tarafında düzenlendi: