Colección de citas famosas - Slogan de motivación - Cifrado de programación de AT89C52

Cifrado de programación de AT89C52

Hay un Flash PEROM de 8k bytes dentro del microcontrolador AT89C52. Esta matriz de almacenamiento Flash está en un estado borrado cuando sale de fábrica (es decir, el contenido de todas las celdas de memoria).

son FFH). Los usuarios pueden programarlo. La interfaz de programación puede recibir señales de habilitación de programación de alto voltaje (12 V) o bajo voltaje (Vcc). El modo de programación de bajo voltaje

es adecuado para sistemas de programación en línea de usuario, mientras que el modo de programación de alto voltaje es compatible con programadores EPROM de uso general.

Entre los microcontroladores AT89C52, algunos son métodos de programación de bajo voltaje, mientras que otros son métodos de programación de alto voltaje. Los usuarios pueden leer el

byte de firma en el chip a partir del número de modelo. el chip.Obtenga esta información.

La matriz de memoria de programa del AT89C52 se programa mediante escritura de bytes. Cada vez que se escribe un byte, se debe escribir un no byte en la memoria del programa PEROM en todo el chip.

> Byte nulo, el contenido de toda la memoria debe borrarse mediante borrado de chip. Antes de programar, se deben configurar la dirección, los datos y las señales de control como se muestra en la Tabla 9 y la Figura 11. El método de programación del AT89C52 es el siguiente:

1. Agregue la señal de dirección de la unidad a programar en la línea de dirección.

2. Agregue los bytes de datos que se escribirán en las líneas de datos.

3. Activar la señal de control correspondiente.

4. En el modo de programación de alto voltaje, agregue un voltaje de programación de 12 V al terminal EA/Vpp.

5. Cada vez que se escribe un byte en la matriz de memoria Flash o se escribe un bit de cifrado de programa, se agrega un pulso de programación ALE/PROG. Cada ciclo de escritura de bytes

es autotemporizado, normalmente alrededor de 1,5 ms. Repita los pasos 1-5 para cambiar la dirección de la unidad de programación y los datos escritos hasta que se complete toda la programación del archivo. AT89C52 tiene 3 bits de cifrado de programa, que se pueden obtener programando (P) o no programando (U) los 3 bits de cifrado LB1, LB2 y LB3 en el chip.

Cuando se programa el bit de cifrado LB1, durante el período de reinicio, el nivel lógico del terminal EA se muestrea y se bloquea. Si el microcontrolador no se reinicia después del encendido, el nivel bloqueado se bloqueará. /p>

El valor inicial es un número aleatorio, y este número aleatorio se guardará hasta que se restablezca realmente. Para que el microcontrolador funcione correctamente, el valor del nivel EA bloqueado debe ser consistente con el nivel lógico actual del pin. Además, los bits de cifrado sólo se pueden borrar borrando todo el chip. El microcontrolador AT89C52 utiliza Data Palling para indicar el final de un ciclo de escritura. En un ciclo de escritura, si necesita leer el último byte escrito, el bit más alto de los datos leídos (P0.7) es el byte escrito original. del bit más alto. Una vez completado el ciclo de escritura, los datos de salida son datos válidos y se puede ingresar el siguiente ciclo de escritura de bytes. Una vez que comienza el ciclo de escritura, Data Palling puede ser válido en cualquier momento.

Listo/Ocupado: El progreso de la programación de bytes se puede monitorear a través de la señal de salida "RDY/BSY". Durante la programación, después de que ALE cambia al nivel alto "H", el P3.4 (RDY/BSY) terminal El nivel baja, lo que indica el estado de programación (estado ocupado). Una vez completada la programación, P3.4 cambia al nivel alto para indicar el estado listo.

Verificación del programa: si los bits de cifrado LB1 y. LB2 no está en progreso, los datos del código se pueden volver a leer a los datos escritos originalmente a través de la dirección y las líneas de datos, utilizando el circuito que se muestra en la Figura 12. El bit de cifrado no se puede verificar directamente y la verificación del bit de cifrado. se puede verificar verificando y escribiendo el estado de la memoria.

Borrado de chip: usando la combinación correcta de señales de control (Tabla 6) y manteniendo un ancho de pulso bajo de 10 mS en el pin ALE/PROG. la matriz PEROM (4k bytes) y tres cifrados. Un bit se borra por completo. La matriz de códigos escribe "1" en cualquier celda que no esté vacía durante la operación de borrado del chip. Este paso debe realizarse antes de la reprogramación.

Leer los bytes de firma en el chip: Hay 3 bytes de firma en el microcontrolador AT89C52, las direcciones son 030H, 031H y 032H. Se utiliza para declarar el fabricante, el número de modelo y el voltaje de programación del dispositivo. La lectura del byte de firma AT89C52 requiere configurar P3.6 y P3.7 en un nivel lógico bajo. El proceso de lectura del byte de firma es similar a la verificación normal de las unidades 030H, 031H y 032H. Solo el valor de retorno tiene el siguiente significado:

(030H)=1EH declara que el producto es fabricado por ATMEL.

(031H)=52H se declara como microcontrolador AT89C52.

(032H)=FFH se declara como voltaje de programación de 12V.

(032H)=05H se declara como voltaje de programación de 5V.