Este es un circuito que hice para intentar validar que el microcontrolador de 20 pines es un AT89Cx051. y el LED correcto se encenderá según la cantidad de RAM que tenga el chip.
Mientras que el primer paso es exitoso, el segundo paso causa un reinicio. No sé si debería culpar al chip o si hay algo que pueda hacer para mejorar mi circuito, especialmente con el reloj. Solo necesito adelantar el reloj en uno. Ahora agregué un capacitor de 47nF a través del botón del reloj para tratar de evitar el debouncing.
Así es como funciona el circuito
- El botón NORM (arriba a la izquierda) se presiona para que RST = 5V. Esto funciona.
-
El primer byte de datos se verifica a través del primer decodificador (IC1E), por lo que 1E_DETECT es cero. Esto funciona.
-
Mantengo presionado el botón del reloj para hacer que el reloj tenga una transición baja a alta. La triste verdad es que el contenido de P1 no cambia hasta que suelte el botón (haciendo XTAL transistion alto a bajo, lo que es contrario a lo que indica la hoja de datos).
-
Al soltar el botón, el circuito se restablece porque el MSB en el puerto 1 tiene una lógica alta.
Basado en todas las hojas de datos que leí para AT89C2051, AT89C4051 y AT89C1051, (Atmel) indican que los datos en la 1ª dirección (que mi circuito siempre detecta correctamente) son 1Eh. Luego indican que el segundo byte es 11h, 21h o 41h, dependiendo de la cantidad de ram que tiene el chip. En ninguna parte de sus documentos se indica que el MSB de P1 está configurado al leer bytes de firma.
Entonces, ¿cuál es el mejor curso de acción que debería tomar aquí?
-
¿Quejarse ante las personas a las que les compré los circuitos integrados que sus chips no funcionan?
-
¿Agregar / cambiar / eliminar condensadores y / o resistencias?
-
¿Algo más?
Y en caso de que alguien se pregunte, todos los diodos son 1N4148, y las resistencias para los LED son 1K, y la potencia está regulada en 5 VCC. y los diodos organizados en grupos de tres son de 3 entradas ni de compuertas y yo usé diodos porque hubiera sido imposible crear una PCB de una sola cara si utilizara los propios chips de compuerta lógica.