hola
primero gracias por la informacion
Soy nuevo en esto de programar pics y me pidieron un mensaje en 3 matrices de 8x8 he probado la rutina de transmision al registro 74164 de bits y esa creo que solo sirve si se usa solo para una matriz haber si me podrian ayudar para que sirva para 3 osea 24 columnas
gracias por su atencion
Creo que la clave para hacer una matriz de 8x16 bits radica en esta parte del código.
Donde pone TX y cargamos a CONTADOR con 8, ¿Por qué crees que se carga con ese valor el CONTADOR?, pues sencillo es, porque el registro 74HC164 es de 8
BITS, si colocas DOS REGISTROS 74HC164 supongo que deberas cargar al CONTADOR con 16. Haz pruebas y cuenta que tal te ha ido. Saludos.
;****************************************************************************************************************************
;RUTINA TRANSMISIÓN BITS A REGISTRO 74HC164
;****************************************************************************************************************************
TX movlw .8 ;pone 8 en W (EN VEZ DE 8 PON 16)
movwf CONTADOR ;carga contador con 8 (AQUI DEBES CARGAR 16)
TXLP bcf EEPROM,DO ;a 0 bit DO
btfsc ALMACEN,0 ;mira el bit 7 de ALMACEN y salta si es 0
bsf EEPROM,DO ;a 1 bit DO
call BITOUT
rrf ALMACEN,F ;rota a izquierda ALMACEN
decfsz CONTADOR,F ;decrementa contador si es 0 salta
goto TXLP
return
BITOUT bsf STATUS,RP0 ;pagina 1
movlw 0X00
movwf TRISA ;puerta A salida
bcf STATUS,RP0 ;pagina 0
btfss EEPROM,DO ;mira el bit DO y salta si vale 1
goto BITLOW
bsf PORTA,3 ;pone a 1 DATA
goto CLOCK
BITLOW bcf PORTA,3 ;pone a 0 DATA