SERI DATA VE 74HC164 PROBLEMI

Başlatan mesmert, 13 Kasım 2007, 15:53:23

mesmert

Aşağıdaki resimde kurduğum gibi bir devre kurdum ama anlamadığım bir konu acaba seri data göndermedemi hata var yoksa devredemi anlayamadım sorunum şu seri data gönderdiğimde herhangi bir çıkış 1 olduğunda diğer çıkışlarda yaklaşık 3V gibi bir voltaj oluyor ve ben bu çıkışları opto bağladığımda çıkış akftif oluyo hatam nedir acaba
[/URL][/img]

asm kodu aşağıdaki gibi OUTPUT_1,0 74hc164 gönderdiğim zaman 74hc164 Q0 aktif oluyor.
ANA_DONGU
	BTFSS		PORTB,0
	GOTO		B_1
	CALL		200MS_BEKLE
	BSF		OUTPUT_1,0
	CALL		74_VERIGONDER
	
B_1
	BTFSS		PORTB,1
	GOTO		ANA_DONGU
	CALL		200MS_BEKLE
	BSF		OUTPUT_1,1
	CALL		74_VERIGONDER
	GOTO		ANA_DONGU

		

74_VERIGONDER
	MOVF		VERI_1,0
	IORWF		OUTPUT_1,0
	MOVWF		VERI_1

	
	CLRF		VERI_S
    	MOVLW   	.8         		;
    	MOVWF   	VERI_S       	;
VERIGONDER_1
    	RLF		VERI_1,1	   	;
    	BTFSS   	STATUS,C   		;
	GOTO		$+3
	BSF		PORTC,3
	GOTO		$+2
	BCF		PORTC,3

	BSF		PORTC,0
	NOP
	BCF		PORTC,0
	DECFSZ  	VERI_S,1    	;
    	GOTO    	VERIGONDER_1	;
  	CLRF		VERI_1
	RETURN

elektromer

Merhaba mesmert,
Hala problemin devam ediyorsa dilerim cevabım işini görür. Sen hallettiysende merak eden arkadaşlara ipucu olur dilerimç

Verdiğin devreyi denemek için şu şekilde dizayn ettim ve gayet düzgün çalışıyor.





74_VERIGONDER 
   MOVF      VERI_1,0 
   IORWF      OUTPUT_1,0 
   MOVWF      VERI_1 

    
   CLRF      VERI_S 
       MOVLW      .8               ; 
       MOVWF      VERI_S          ; 
VERIGONDER_1 
       RLF      VERI_1,1         ; 
       BTFSS      STATUS,C         ; 
   GOTO      $+3 
   BSF      PORTC,3 
   GOTO      $+2 
   BCF      PORTC,3 

   BSF      PORTC,0 
   NOP 
   BCF      PORTC,0 
   DECFSZ     VERI_S,1       ; 
       GOTO       VERIGONDER_1   ; 
     CLRF      VERI_1 
   RETURN


Yukarıdaki kodunu az değiştirdim.

74_VERIGONDER 
   MOVF      VERI_1,0 
   IORWF      OUTPUT_1,0 
   MOVWF      VERI_1 

       MOVLW      .8               ; 
       MOVWF      VERI_S          ; 
VERIGONDER_1 
       RLF      VERI_1,1         ; 
       BCF      PORTC,3 
       BTFSC      STATUS,C         ; 
       BSF      PORTC,3 
  
       BSF      PORTC,0 
       NOP 
       BCF      PORTC,0 
       DECFSZ     VERI_S,1       ; 
       GOTO       VERIGONDER_1   ; 
       CLRF      VERI_1 
       RETURN

Dilerim işine yarar.
Her şey gönlünüzce olsun..

mesmert

74hc164 yerine 4094 kullanarak sorunu çözebildim.

recebcolak

Alıntı yapılan: "recebcolak"[code];********************************************************
YAZ_DISPLAY
         MOVLW   d'08'
         MOVWF   N_
Y_DISPLAY    
     BCF     DCLK
         BTFSS   R_1,0
         BCF     BBIR
         BTFSC   R_1,0
         BSF     BBIR
     BTFSS   R_2,0
         BCF     BIKI
         BTFSC   R_2,0
         BSF     BIKI
     BTFSS   R_3,0
         BCF     BUC
         BTFSC   R_3,0
         BSF     BUC
         BTFSS   R_4,0
         BCF     BDORT
         BTFSC   R_4,0
         BSF     BDORT
         NOP
         NOP                    
         NOP
         NOP
         BSF     DCLK
         RRF     R_1,F
     RRF     R_2,F
     RRF     R_3,F
     RRF     R_4,F
         DECFSZ  N_,F
         GOTO    Y_DISPLAY
     RETURN
[code]
ben herkesi sevdim bilmiyorum sevildimmi?