Ejercicios de MCU
Los datos de la unidad RAM50H en el chip se envían a la unidad RAM5000H fuera del chip
MOV A, 50H
MOV DPTR, #5000H
MOVX @ DPTR, A
Los datos de la unidad RAM60H en el chip se envían a la unidad RAM60H fuera del chip
MOV A, 60H
MOV DPTR, #60H
MOVX @DPTR, A
Los datos de la unidad RAM1000H fuera del chip se envían a la unidad RAM50H en el chip
MOV DPTR, #1000H
MOVX A,@DPTR
p>MOV 50H, A
Los datos de la unidad RAM1000H fuera del chip se envían a la unidad RAM50H fuera del chip
MOV DPTR, #1000H
MOVX A,@ DPTR
MOV DPTR, #50H
MOVX @DPTR, A
Los datos en R1 se envían a R3
MOV, R3, R1
El contenido de ROM1000H se envía al 3000H fuera del chip
89C51 es una memoria flash de solo lectura programable y borrable de 4K bytes (FPEROM: memoria de solo lectura programable y borrable falsa). Microprocesador CMOS de 8 bits de bajo voltaje y alto rendimiento, comúnmente conocido como microcontrolador. 89C2051 es un microcontrolador con 2K bytes de memoria flash programable y de solo lectura borrable. La memoria borrable de solo lectura del microcontrolador se puede borrar repetidamente 100 veces. El dispositivo se fabrica utilizando la tecnología de fabricación de memoria no volátil de alta densidad de ATMEL y es compatible con el conjunto de instrucciones y los pines de salida estándar de la industria MCS-51. El 89C51 de ATMEL es un microcontrolador eficiente debido a la combinación de una CPU versátil de 8 bits y memoria flash en un solo chip, y el 89C2051 es una versión optimizada del mismo. El microcontrolador 89C proporciona una solución muy flexible y económica para muchos sistemas de control integrados.
1. Características principales:
·Compatible con MCS-51
·Memoria flash programable de 4K bytes
Vida útil: 1000 ciclos de escritura/borrado
Tiempo de retención de datos: 10 años
·Operación estática completa: 0Hz-24Hz
·Bloqueo de memoria de programa de tres niveles
·RAM interna de 128*8 bits
·32 líneas de E/S programables
·Dos temporizadores/contadores de 16 bits
·5 fuentes de interrupción
·Serial programable canal
·Modos de inactividad y apagado de bajo consumo
·Circuito de reloj y oscilador en chip
2. Descripción del pin:
VCC: tensión de alimentación.
GND: Tierra.
Puerto P0: El puerto P0 es un puerto de E/S bidireccional de drenaje abierto de 8 bits, cada pin puede absorber corriente de puerta 8TTL. Cuando se escribe 1 en el pin del puerto P1 por primera vez, se define como una entrada de alta impedancia. P0 se puede utilizar en una memoria de datos de programa externa y se puede definir como el octavo bit de datos/dirección. Durante la programación FIASH, el puerto P0 sirve como puerto de entrada del código original. Cuando FIASH realiza la verificación, P0 genera el código original. En este momento, el P0 externo debe estar alto.
Puerto P1: el puerto P1 es un puerto de E/S bidireccional de 8 bits con una resistencia pull-up interna. El búfer del puerto P1 puede recibir y emitir corriente de puerta 4TTL. Después de escribir 1 en el pin del puerto P1, se eleva internamente y se puede usar como entrada. Cuando el puerto P1 se baja externamente a un nivel bajo, generará corriente. Esto se debe al pull-up interno. Durante la programación y verificación FLASH, el puerto P1 se recibe como la octava dirección.
Puerto P2: el puerto P2 es un puerto de E/S bidireccional de 8 bits con una resistencia pull-up interna. El búfer del puerto P2 puede recibirlo y generar 4 corrientes de puerta TTL cuando se escribe el puerto P2. con "1", su pin es elevado por la resistencia pull-up interna y sirve como entrada. Por lo tanto, cuando se utiliza como entrada, el pin del puerto P2 se baja externamente y se emitirá corriente. Esto se debe al pull-up interno. Cuando el puerto P2 se utiliza para acceder a la memoria de programa externa o a la memoria de datos externa de direcciones de 16 bits, el puerto P2 genera los ocho bits superiores de la dirección. Cuando se proporciona la dirección "1", aprovecha el pull-up interno. Al leer y escribir en la memoria de datos de direcciones externa de ocho bits, el puerto P2 genera el contenido de su registro de función especial. El puerto P2 recibe la señal de dirección alta de ocho bits y la señal de control durante la programación y verificación FLASH.
Puerto P3: Los pines del puerto P3 son 8 puertos de E/S bidireccionales con resistencias pull-up internas, que pueden recibir y emitir 4 corrientes de puerta TTL. Cuando se escribe "1" en el puerto P3, se elevan internamente a un nivel alto y se utilizan como entrada. Como entrada, dado que el pull-down externo es bajo, el puerto P3 emitirá corriente (ILL) debido al pull-up.
El puerto P3 también se puede utilizar como algunos puertos de funciones especiales del AT89C51, como se muestra en la siguiente tabla:
Funciones alternativas del pin del puerto
P3.0 RXD (Puerto serie de entrada serie)
P3.1 TXD (Puerto serie de salida)
P3.2 /INT0 (interrupción externa 0)
P3.3 / INT1 (Interrupción externa 1)
P3.4 T0 (Entrada externa del temporizador 0)
P3.5 T1 (Entrada externa del temporizador 1)
P3.6 /WR (estroboscópico de escritura de memoria de datos externa)
P3.7 /RD (estroboscópico de lectura de memoria de datos externa)
El puerto P3 es para programación flash y verificación de programación al mismo tiempo Recibir algunos señales de control.
RST: Restablecer entrada. Cuando el oscilador reinicia el dispositivo, el pin RST debe mantenerse alto durante dos ciclos de la máquina.
ALE/PROG: Al acceder a la memoria externa, el nivel de salida permitido por el bloqueo de dirección se utiliza para bloquear el byte de estado de la dirección. Durante la programación FLASH, este pin se utiliza para ingresar pulsos de programación. En tiempos normales, el terminal ALE emite una señal de pulso positiva con un período de frecuencia constante, y esta frecuencia es 1/6 de la frecuencia del oscilador. Por lo tanto, se puede utilizar como pulso para una salida externa o con fines de temporización. Sin embargo, tenga en cuenta que se omitirá un pulso ALE siempre que se utilice como memoria de datos externa. Si desea deshabilitar la salida de ALE, establezca 0 en la dirección SFR8EH. En este momento, ALE sólo funciona cuando las instrucciones MOVX y MOVC son ALE. Además, este pasador está ligeramente elevado. Si el microprocesador está en el estado de ejecución externa ALE desactivado, configurar este bit no tiene ningún efecto.
/PSEN: Señal estroboscópica para memoria de programa externa. /PSEN se afirma dos veces por ciclo de máquina durante la recuperación de instrucciones de la memoria de programa externa. Pero al acceder a la memoria de datos externa, estas dos señales /PSEN válidas no aparecerán.
/EA/VPP: Cuando /EA permanece bajo, la memoria de programa externa (0000H-FFFFH) se utiliza durante este período, independientemente de si hay memoria de programa interna. Tenga en cuenta que en el modo de cifrado 1, /EA está bloqueado internamente para REINICIAR; cuando el terminal /EA permanece alto, la memoria interna del programa está bloqueada. Durante la programación FLASH, este pin también se usa para aplicar la potencia de programación de 12 V (VPP).
XTAL1: La entrada del amplificador de oscilación inversa y la entrada del circuito de trabajo del reloj interno.
XTAL2: Salida del oscilador inversor.
3. Características del oscilador:
XTAL1 y XTAL2 son la entrada y salida del amplificador inversor respectivamente. El amplificador inversor se puede configurar como un oscilador en chip. Se pueden utilizar tanto la oscilación de cristal de piedra como la oscilación de cerámica. Si se utiliza una fuente de reloj externa para controlar el dispositivo, XTAL2 debe dejarse desconectado.
La entrada restante a la señal del reloj interno debe pasar a través de un flip-flop dividido por dos, por lo que no se requiere el ancho de pulso de la señal del reloj externo, pero el ancho requerido de los niveles alto y bajo del pulso debe estar asegurado.
4. Borrado de chip:
El borrado eléctrico de toda la matriz PEROM y los tres bits de bloqueo se puede lograr usando la combinación correcta de señales de control y manteniendo el pin ALE bajo durante 10 ms. Durante una operación de borrado de chip, la matriz de códigos se escribe solo con "1" y esta operación debe realizarse antes de reprogramar cualquier byte de memoria que no esté vacío.
Además, AT89C51 está equipado con lógica de estado estable, que puede realizar lógica estática en condiciones de frecuencia baja a cero y admite dos modos de apagado seleccionables por software. En modo inactivo, la CPU deja de funcionar. Pero la RAM, los temporizadores, los contadores, el puerto serie y el sistema de interrupción siguen funcionando. En el modo de apagado, el contenido de la RAM se guarda y el oscilador se congela, desactivando todas las demás funciones del chip hasta el próximo reinicio del hardware.
5. Características estructurales:
CPU de 8 bits;
Oscilador en chip y circuito de reloj
32 E/S; línea;
Rango de direccionamiento de memoria externa ROM, RAM64K;
Dos temporizadores/contadores de 16 bits
5 fuentes de interrupción, dos prioridad de interrupción; >
Puerto serie full-duplex;
Procesador booleano