İlginç bir problem...

Başlatan murbay, 07 Mayıs 2008, 21:21:04

murbay

İlginç bir problem...
aşağıdaki çok basit bir trafik lambası devresi. Kodlar ise aşağıda. asm ile yazıldı. Devre ve program ISIS'te oldukça güzel çalışıyor. Ancak uygulamada sadece birinci led yaklaşık 2 saniye yanıp sönüyor. Normalde kırmızı led bir müddet yanacak, sonra sarı kısa bir süre yanacak daha sonrada yeşil led bir müddet yanacak ve tekrar kırmızı led yanacak.
Herşey gayet basit gözüküyor. Ancak devreyi gerçekleştirince mümkün değil çalışmıyor.
Donanımsal sorun yok, çünkü PICBASIC ile yazdığım kod ile aynı devre mükemmel çalışıyor.
Sorun asm'de sanırım. Ben hata göremedim...


;========TRAFİK LAMBASI UYGULAMA PROGRAMI======S_2005=======
	LIST	P=16F84
	INCLUDE	"P16F84.INC"
SAYAC1	EQU	H'0C'
SAYAC2	EQU	H'0D'
SAYAC3	EQU	H'0E'
	CLRF	PORTB
	BSF	STATUS,5
	CLRF	TRISB
	MOVLW	H'FF'
	MOVWF	TRISA
	BCF	STATUS,5

BUTON
	BTFSC	PORTA,1
	GOTO	BUTON
TRAFIK
	MOVLW	B'00000001'
	MOVWF	PORTB
	CALL	GECIKME1 
	MOVLW	B'00000010'
	MOVWF	PORTB	
	CALL	GECIKME2 
	MOVLW	B'00000100'
	MOVWF	PORTB
	CALL	GECIKME1
	GOTO	TRAFIK

GECIKME1	
	MOVLW	d'100'
	MOVWF	SAYAC1
G1
	MOVLW	d'250'
	MOVWF	SAYAC2
G2
	MOVLW	d'250'
	MOVWF	SAYAC3
G3
	DECFSZ	SAYAC3,F
	GOTO	G3
	DECFSZ	SAYAC2,F
	GOTO	G2
	DECFSZ	SAYAC1,F
	GOTO	G1
	RETURN
GECIKME2
	MOVLW	d'100'
	MOVWF	SAYAC1
D1
	MOVLW	d'100'
	MOVWF	SAYAC2
D2
	MOVLW	d'200'
	MOVWF	SAYAC3
D3
	DECFSZ	SAYAC3,F
	GOTO	D3
	DECFSZ	SAYAC2,F
	GOTO	D2
	DECFSZ	SAYAC1,F
	GOTO	D1
	RETURN
	END
Açıklayıcı olun, gizemli yazmak maharet değildir...

elmaalma

WDT Kapalı mı? Açık olabilir.

XX_CİHAN_XX

__Config  _WDT_OFF yaptın mı ?
Edit : @elmaalma benden önce davranmış  :P
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

murbay

WDT her iki durumda da denendi. Hatta PWRT de denendi...

Tekrar denerim...
Açıklayıcı olun, gizemli yazmak maharet değildir...

ems20

pice programı yüklerken portB nin LVT sini kapattınmı

murbay

Alıntı yapılan: "ems20"pice programı yüklerken portB nin LVT sini kapattınmı

anlamadım açıklar mısın?
Açıklayıcı olun, gizemli yazmak maharet değildir...

ilker_32

Yüzeysel bakınca kodlar normal gibi. Fakat benim başıma şöyle bir hata gelmişti.

;***********************
LIST   P=16F84
INCLUDE   "P16F84.INC"
;***********************

Elindeki pic'de muhtemelen komparatör vardır.

;***********************
LIST   P=16F84A
INCLUDE   "P16F84A.INC"
;***********************

Bu şekilde deneyebilirsin.

WDT, PWRTE bunlarla ilgisi yoktur. İkisinide kapat. Diğerleri zaten bildiğimiz şeyler.