No hay salida o salida no válida en un registro de desplazamiento 74HC595

0

Tengo un microcontrolador PIC18F2550 en una placa con tres chips 74HC595 encadenados. Estas son pantallas de 7 segmentos y todo funciona bien. Las pantallas de 7 segmentos están conectadas con un cable. La cosa está conectada a mi computadora con USB. Aquí es donde le da poder.

Luego agregué otro 74HC595 en una placa separada para controlar los LED. No está encadenado con los otros chips, sino que está conectado a pines separados en el microcontrolador. Estos LED a veces están encendidos y otras veces apagados, pueden cambiar de estado una vez cuando intento configurarlos en diferentes estados de software, o no. Por lo general, todos esos LED terminan encendidos o apagados. Las pantallas de 7 segmentos siguen funcionando como se esperaba.

Luego agregué otro 74HC595 en otra placa para controlar una pantalla separada de 7 segmentos y lo conecté a un conjunto separado de pines en el micro. Funciona de la misma manera que la otra placa separada.

Elesquemamuestrala"placa principal". Estos 74HC595 están funcionando correctamente. Los otros dos están conectados de la misma manera a través de tiras de pines (que se muestran en el esquema como SV5 y SV6) y cables de puente.

Ah, y todos los LED (incluidos los segmentos de pantalla de 7 segmentos) tienen resistencias de 1k conectadas en serie para limitar la corriente. Aquí hay un esquema de una de las otras placas conectadas vía Conectores SV5 y / o SV6. Estos son los que no funcionan correctamente.

He intentado ralentizar el lado del software de enviar bits a estos registros de desplazamiento sin suerte. En todas partes dice que no debería usar cables largos entre chips. ¿Tiene 10cm de largo? ¿Debo agregar algunos condensadores de desacoplamiento o algo al lado de esos registros de desplazamiento que no funcionan? ¿Debería preferir rehacer todo en un tablero? ¿Hay algún error en el diseño? ¿O qué?

    
pregunta Mape

1 respuesta

1

¿A qué pines del micro conectaste los registros de desplazamiento extra?

¿Utiliza rutinas separadas para hablar con cada conjunto de registros de turnos?

Cosas para verificar:

1) Cable de masa corto y pesado entre los registros de desplazamiento extra y la placa principal (con el micro en él).

2) desacoplar el (los) condensador (es) en los registros de desplazamiento.

3) borde de reloj frente a cambio de datos. Puede cambiar de forma segura la línea de datos y la línea de reloj al mismo tiempo, siempre que el borde del reloj sea el borde NO activo. Es decir: la línea del reloj va de HI a LO.

Sin embargo, debe permitir un tiempo de configuración suficiente para el nivel de datos antes de afirmar el límite del reloj activo (LO a HI).

Los cables largos pueden exacerbar este problema: la línea del reloj tiene una capacidad más alta porque está alimentando múltiples chips. La línea de datos solo alimenta un chip.

    
respondido por el Dwayne Reid

Lea otras preguntas en las etiquetas