A continuación se muestra el diagrama de bloques de la transferencia de datos entre el puerto UART del microcontrolador 89c51 y la computadora personal.
Convertidor de nivel Max232
Microcontrolador UART 8051(89c51,89c52)
El microcontrolador Uart 89c51 se utiliza para recibir datos desde la PC. También puede utilizar cualquier otro microcontrolador de la serie 8051, como el microcontrolador 89c52. Pero primero asegúrese de que tenga UART (transmisor receptor asíncrono universal) incorporado para comunicación en serie.
El puerto 1 de nuestro microcontrolador se utiliza como puerto de salida. Está conectado a los pines de datos del LCD de 16×2.
- El pin #5 del puerto 3 está conectado al pin rs (selección de registro) de la pantalla LCD de 16×2.
- El pin n.º 6 del puerto 3 está conectado al pin en (habilitar) de la pantalla LCD de 16×2.
- El pin 7 del puerto 3 está conectado al pin rw (lectura y escritura) del LCD 16×2.
Si no sabe cómo conectar la pantalla LCD con el microcontrolador 8051 (89c51,89c52), aquí tiene algunos buenos tutoriales, simplemente revíselos.
- LCD 16×2 FUNCIONANDO.
- DIFERENCIA ENTRE COMANDOS Y ENVÍO DE DATOS A LCD.
- MOSTRAR SU NOMBRE EN LA LCD usando el MICROCONTROLADOR 8051.
Código de proyecto
En la función principal, primero llamé a la función lcdinit para inicializar el lcd de 16×2. Todos los comandos utilizados en la función se analizan en profundidad en los tutoriales anteriores. Luego se configura el modo de temporizador. TMOD=0x02 significa que está seleccionado Temporizador1, Modo2 (recarga automática de 8 bits). TH1=0xFD es en realidad un temporizador de un byte alto, proporcionar un valor hexadecimal 0xFD a TH1 significa configurar la velocidad en baudios de comunicación entre el microcontrolador 8051 y la PC a 9600 bps (bits por segundo). SCON=0x50 en realidad define nuestro formato de bits de datos en serie Total = 8 bits de datos con 1 bit de inicio y 1 bit de parada. TR1=1 significa ejecutar el temporizador uno. Todo este fenómeno con el significado completo de las declaraciones (SCON,TMOD,TH) se analiza en los dos tutoriales siguientes. También se analiza cómo calcular los valores de velocidad en baudios.
- CÓMO ENVIAR DATOS SERIE A PC (Hyperterminal).
- 8051(89c51) REGISTROS DEL TEMPORIZADOR.
while(RI==0) está comprobando continuamente el indicador RI (interrupción de recepción). Este indicador se convierte automáticamente en uno cuando 8051(89c51,89c52) recibe cualquier dato en su pin RXD( P3^0 ). Cuando RI se convierte en 1, significa que tenemos un byte de datos en nuestro registro SBUF (búfer serie). Luego, en la siguiente instrucción, tomé el byte del registro SBUF y lo guardé en datos de variables de caracteres. Luego dejé el indicador RI bajo nuevamente para recibir el siguiente byte. El Byte que guardé en la variable de datos ahora se envía a la función de visualización para que se muestre en la pantalla LCD de 16×2.