Identificando 8051 microcontroladores de basura (actualizados)

0

Aquí estoy con otra pregunta sobre el 8051.

Después de investigar varios recursos, leí en la hoja de datos que el pin ALE está habilitado de forma predeterminada, pero se puede desactivar en el código, sin embargo, no usé el código para deshabilitar el pin. También establece que el ALE se emite a una velocidad constante de 1/6 de la frecuencia del oscilador.

Lo que quiero hacer es identificar si el microcontrolador en sí mismo es basura (al probar los pines) antes de intentar programarlo. El que estoy usando es AT89C51-24PC.

Intenté reiniciar para ver si mi código se ejecutará con el micro en una placa de prueba sin éxito. En las pruebas probé un cristal de 8 MHz con cada pata conectada a tierra a través de tapas de 10 pF sin éxito. Luego reemplacé ese acuerdo con un cristal de 32Khz y aún obtengo el mismo resultado.

Ahora intenté conectar ALE a tierra a través de una resistencia LED + 1K en serie y el LED permanece apagado. Si conecto ALE a VCC a través del resistor LED + 1K, el LED permanece encendido.

Como no le he dicho explícitamente al micro que deshabilite ALE, esperaría que el LED parpadee a alta velocidad pero no lo está.

En todas las pruebas, el pin de reinicio se conecta a tierra a través de una resistencia de 10K.

¿Es suficiente mi prueba de ALE o debo hacer algo más en cuanto al hardware para comprobar si el chip está dañado internamente? (y no, no voy a conectar los pines a una fuente de alto voltaje)

ACTUALIZAR

He arreglado el código de mi programador para que se envíen las señales correctas al chip y aún así no tengo suerte.

Mi código es este:

mov R6,#0h
mov R7,#0h
l3:
l2:
l:
djnz R7,l
djnz R6,l2
dec P1
ljmp l3
END

Cuando probé el LED en el pin ALE ahora con un cristal de 8Mhz embebido en la placa de pruebas con topes de 10pF, la luz parece funcionar normalmente, sin embargo, la salida a P1 se mantiene a nivel lógico alto cuando debería disminuir de 255 a 0 una y otra vez. cuando conecté el Led + Resistor de + ve a pines aleatorios (uno a la vez), noté que PSEN hizo que el led no se encendiera justo después de que se reiniciara el reinicio, pero luego esperé con la esperanza de que se encendiera porque si el chip estaba literalmente nunca programado, entonces FFh o 00h se almacenarán en el chip que, desde una fuente, representa "Mov R7, A" y "nop" respectivamente. Ninguna de las dos instrucciones genera un bucle, así que pensé que si ese es el caso, cuando el chip quiera el byte 4097 o posterior, ¿no cambiaría el estado de PSEN? (también conocido como luz en mi caso)?

Ahora siento que necesito desperdiciar una placa de circuito solo para probar un chip, pero ¿hay otras opciones aquí?

actualización 2

No lo entiendo. Ahora, en el tablero, decidí agregar un paquete de resistencias SIP (de modo que todos los pines P0 estén conectados individualmente a VCC a través de resistencias 4.7K), y cuando conecté el PSEN a VCC a través del LED y la resistencia 1K, el LED estaba apagado al principio Luego, después de unos segundos, estaba parpadeando sin cesar. Supongo que esto me dice que mi programa nunca entró en el chip en primer lugar. Estoy empezando a pensar que el EPROM en mi chip está roto antes de que lo reciba. Voy a probar otros chips 8051 y ver qué pasa.

    
pregunta

0 respuestas

Lea otras preguntas en las etiquetas