¿Para qué se utilizan los puertos del microcontrolador at89c51?
AT89C51 es un microcontrolador CMOS de 8 bits de bajo voltaje y alto rendimiento con 4K bytes de memoria flash de solo lectura programable y borrable (FPEROM—Falsh?Programmable?and?Erasable?Read?Only?Memory ) Procesador, comúnmente conocido como microcontrolador. AT89C2051 es un microcontrolador con 2K bytes de memoria flash de solo lectura programable y 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 AT89C51 de ATMEL es un microcontrolador eficiente gracias a la combinación de una CPU versátil de 8 bits y memoria flash en un solo chip, del cual el AT89C2051 es una versión optimizada. El microcontrolador AT89C proporciona una solución muy flexible y económica para muchos sistemas de control integrados. La apariencia y la disposición de los pines se muestran en la figura
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 · Funcionamiento totalmente estático: 0 Hz-24 MHz · 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 · Canal serie programable · Bajo consumo modos de inactividad y apagado · Oscilador en chip y circuito de reloj
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 recibir y emitir 4 corrientes de puerta TTL. Cuando se escribe "1" en el puerto P2, su pin. es internamente La resistencia pull-up se eleva 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 de AT89C51, como se muestra en la siguiente tabla: ¿Pin de puerto? Función alternativa ¿P3.0? RXD (puerto de entrada serie) P3.1? TXD (puerto de salida serie) ¿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 (memoria de datos externa estroboscópico de escritura) P3.7?/RD (estroboscópico de lectura de memoria de datos externa) El puerto P3 recibe algunas señales de control para programación flash y verificación de programación al mismo tiempo. 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 bloqueo de dirección permite utilizar el nivel de salida 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 solo funciona cuando se ejecuta MOVX y la instrucción MOVC es 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: Entrada del amplificador de oscilación inversa y entrada del circuito operativo del reloj interno. XTAL2: Salida del oscilador inversor. 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.