999 sayıcı ve LCD sorunu

Başlatan apsua, 01 Temmuz 2011, 10:27:29

apsua

Merhaba,
999'a kadar saniyede bir artan sayaç yaptım ve bunu LCD'ye yazdıran bir program yazdım. Program Proteus'ta güzel bir şekilde çalışmasına karşın pic'e attığımda 001-ve 002 arasında gidip geliyor. Günlerdir sorunu çözemedim. Bu konuda bir fikriniz varsa benimle paylaşırsanız çok sevinirim. Şimdiden teşekkürler.
list p=16f84a
include "p16f84a.inc"

cblock h'0c'
birler,onlar,yuzler,SAYAC1,SAYAC2,SAYAC3,SAYACA,SAYACB
endc

	clrf birler
	clrf onlar
	clrf yuzler
	clrf PORTB
	bsf STATUS,5 
	clrf TRISB
	clrf TRISA
	bcf STATUS,5

basla
	call GECIKME
	incf birler,f
	
onlar_kont
	movfw birler
	movlw d'10'
	subwf birler,w
	btfss STATUS,2
	goto yuzler_kont
	incf onlar,f
	clrf birler

yuzler_kont

	movfw onlar
	movlw d'10'
	subwf onlar,w
	btfss STATUS,2
	goto yazdir
	incf yuzler,f
	clrf onlar

yazdir

	MOVLW H'01' ;EKRANI TEMIZLE KURSORU BASA GETIR
	CALL KOMUTYAZ
	MOVLW H'30' ; 8BIT BAGLANTI 1SATIR VE KARAKTER FONTU
	CALL KOMUTYAZ
	MOVLW H'0C' ; EKRAN AC KURSORU KAPAT KURSOR YANIP SONMEZ
	CALL KOMUTYAZ
	CALL SATIRYAZ
	goto basla 

KOMUTYAZ

	BCF PORTA,1
	MOVWF PORTB 
	BSF PORTA,0
	CALL GECIK
	BCF PORTA,0
	RETURN

VERIYAZ
	BSF PORTA,1
	MOVWF PORTB
	BSF PORTA,0
	CALL GECIK
	BCF PORTA,0
	RETURN

SATIRYAZ

	MOVLW 'S'
	CALL VERIYAZ
	MOVLW 'a'
	CALL VERIYAZ
	MOVLW 'n'
	CALL VERIYAZ
	MOVLW 'i'
	CALL VERIYAZ
	MOVLW 'y'
	CALL VERIYAZ
	MOVLW 'e'
	CALL VERIYAZ
	MOVLW ':'
	CALL VERIYAZ
	MOVFW yuzler
	addlw b'00110000' 
	CALL VERIYAZ
	MOVFW onlar
	addlw b'00110000' 
	CALL VERIYAZ
	MOVFW birler
	addlw b'00110000' 
	CALL VERIYAZ
	RETURN



GECIK

	MOVLW H'05'
	MOVWF SAYACA
	
D1
	MOVLW H'FF'
	MOVWF SAYACB	
D2

	DECFSZ SAYACB,F
	GOTO D2
	DECFSZ SAYACA,F
	GOTO D1
	RETURN


GECIKME 
        MOVLW   D'5' 
        MOVWF   SAYAC1 
DON1 
        MOVLW   D'250' 
        MOVWF   SAYAC2 
DON2 
        MOVLW   D'250' 
        MOVWF   SAYAC3 
DON3  
        DECFSZ  SAYAC3,F 
        GOTO    DON3 
        DECFSZ  SAYAC2,F 
        GOTO    DON2 
        DECFSZ  SAYAC1,F 
        GOTO    DON1
		RETURN

end

fahri-

büyük bir ihtimalle şemada hata vardır. şemayı görebilirmiyiz. proteus bazı hataları görmez çünkü

apsua

Alıntı yapılan: fahri- - 01 Temmuz 2011, 11:55:48
büyük bir ihtimalle şemada hata vardır. şemayı görebilirmiyiz. proteus bazı hataları görmez çünkü

teşekkür ederim yardımınız için wdt'nin açık olmasıymış problem.