Por favor, perdóname por cruzar los cables en la parte superior de los circuitos integrados, pero quería hacer las cosas y aún así no tengo suerte. Déjame explicarte el circuito.
Creé un circuito en el que tres líneas de datos de puertos paralelos están conectadas a tres líneas de estado a través de búferes (74HC125). Las líneas de estado también están conectadas a un subcircuito (no se muestra) a través de un cable plano de 3 pulgadas y 10 conductores.
El subcircuito contiene un módulo de radio que no funciona a 5 V (por lo que incluí 3 V en el conector). También contiene un microcontrolador (AT89C4051) en el que las tres líneas (DI, DO e ICLK) están conectadas a sus pines de puerto.
También, en el subcircuito, incluí LED para depuración. Configuré mi programa de microcontrolador para que no se encienda ningún LED hasta que ICLK vuelva a estar bajo y luego nuevamente a un nivel alto.
Así que hice una prueba de loopback de cada pin. Conecté este circuito en mi computadora y probé cada línea una por una con Quick Basic. Sí, ese programa es muy útil, todo lo que tuve que hacer fue ejecutar estas instrucciones:
out &H378,&Hx0 ;where x=number representing what bits are set or cleared
print inp(&H379) ;if high nibble except MSB is same as what was put in then everything works
Por lo tanto, este circuito en particular funciona incluso con el protector de metal del conector del puerto paralelo eliminado.
Aquí es donde suceden resultados extraños.
Tan pronto como lo conecto al puerto de la PC sin alimentación externa, algunos LED brillan levemente, pero nunca pedí esto.
Una vez que aplico la alimentación de 5 V después, a veces el circuito funciona y otras veces no. A veces, una luz se enciende de inmediato.
Podría sospechar problemas con el bucle de tierra pero no he detectado ninguno de ellos en ninguno de los PCB
Entonces, ¿lo único que puedo suponer es que el puerto paralelo produce interferencias?
Los circuitos están muy cerca de la computadora.
Esto me tienta a conectar a tierra todas las entradas no utilizadas del puerto paralelo en un intento de reducir la interferencia, pero ¿debería hacerlo?
La única otra opción para mí es deshacerme de este circuito y hacer uno con unos pocos botones y presionarlos un millón de veces para ejecutar pruebas, que es lo que no quiero hacer.
Configuré mi puerto en la PC para que sea compatible con AT (modo SPP).
Si no, ¿es mi PC completamente culpable?