Autor Tema: comunicacion Serial  (Leído 1611 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado arturo98370

  • PIC10
  • *
  • Mensajes: 4
comunicacion Serial
« en: 28 de Mayo de 2012, 17:30:03 »


hola buenas tardes a todos..

Estoy aprendiendo a programar y me han encargado en mi escuela a conectar 2 registros de corrimiento 74LS165 para trabajar con el 16f84 uno solo si me trabaja pero al querer conectar el otro en serie no se como leerlo no se como debe de ir el programa para que me pueda leer los 16 bits de los 2 registros este es el fragmento del programa que hasta ahora tengo, he llamado la rutina para leer un registro y guardar los primeros 8 bits en una variale y enseguida volvar a llamar la rutina para guardar los siguientes 8bits pero el programa no funciona solo me funciona con los primeros 8 no puedo leer los 16

pueden ayudarme por favor, muchas gracias de antemano
PS_IN:                         
   MOVLW   D'8'                     
   MOVWF   PS_CTR                     
   BCF   PORTA,PS_CLOCK               
   BCF   PORTA,PS_SHIFT_NOT_LOAD       
   BSF   PORTA,PS_SHIFT_NOT_LOAD         

;Lectura del dato serial transmitido por el 74165. Recibido por PORTA2 del PIC.   
PS_LOOP:
   BTFSS   PORTA,PS_DATA         
   GOTO   GOT_ZERO
   BSF   STATUS,C            
   GOTO   SHIFT_IN

GOT_ZERO:
   BCF      STATUS,C               

SHIFT_IN:
     RLF   PS_REG,F               
     BSF   PORTA,PS_CLOCK         
                           
     BCF   PORTA,PS_CLOCK         
     DECFSZ PS_CTR,F            
     GOTO   PS_LOOP               
     RETURN                  

    

inicio  BSF      STATUS,RP0        
                               
      CLRF   PORTB         
        MOVLW    B'11100'       
        MOVWF    PORTA            
        BCF      STATUS,RP0        
        CLRF     PORTA            
      CLRW               

      CALL PS_IN
      
   MOVF PS_REG,W
   MOVWF LIBRE
   CALL    PS_IN
   MOVF   PS_REG,W
   MOVWF   LIBRE2
   
   END