Skip to content

AlejandroHZ-sys/pic-rs232-uart-communication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📡 PIC RS-232 UART Communication 📌 Descripción

Este proyecto implementa un sistema de comunicación serial asíncrona entre microcontroladores PIC utilizando UART (RS-232). El sistema permite transmitir y recibir cadenas de texto ASCII, integrando teclado matricial y pantalla LCD para interacción local y visualización de mensajes recibidos.

El objetivo del proyecto es comprender el funcionamiento de la UART, la transmisión serial, el manejo de buffers y la validación de datos en sistemas embebidos.

🎯 Objetivos

Implementar comunicación serial UART entre microcontroladores PIC

Configurar y validar el baud rate y formato serial (8N1)

Transmitir y recibir texto ASCII

Mostrar datos recibidos en un LCD

Probar el sistema mediante simulación en Proteus

🧠 Entorno de Desarrollo

Lenguaje: C

Compilador: XC8

IDE: MPLAB X

Microcontrolador: PIC de 8 bits

Programación: Bare-metal

🔧 Tecnologías Utilizadas

UART / RS-232

Comunicación serial asíncrona

Formato: 8 bits de datos, sin paridad, 1 bit de paro (8N1)

Baud rate típico: 9600 bps

Conversión de niveles

El PIC trabaja a niveles TTL

RS-232 real requiere conversión (MAX232)

En simulación se utiliza terminal virtual / COMPIM

LCD alfanumérico 16×2

Teclado matricial 4×4

⚙️ Funcionamiento del Sistema

El proyecto utiliza un solo firmware (main.c).

El mismo programa puede funcionar como emisor o receptor

El rol depende de:

la conexión física (TX ↔ RX)

la configuración del sistema

el dispositivo al que esté conectado

No existen dos programas distintos; el mismo .hex se graba en ambos microcontroladores durante la simulación.

🔄 Flujo General

El sistema inicializa:

UART

LCD

Teclado matricial

El usuario ingresa texto mediante el teclado.

Al confirmar el envío:

El mensaje se transmite por UART.

Cuando se recibe un mensaje:

Se captura en un buffer por UART

Se muestra en el LCD con el prefijo Rx:

El sistema permite:

borrar caracteres

limpiar líneas

enviar múltiples mensajes

🧪 Simulación en Proteus Configuración importante

El mismo archivo .hex debe cargarse en ambos PICs

Verificar:

Baud rate configurado en ambos dispositivos

Formato serial 8N1

Conexión correcta:

TX de un PIC → RX del otro

RX de un PIC → TX del otro

GND común

Elementos simulados

Dos microcontroladores PIC

Terminal virtual / COMPIM

LCD 16×2

Teclado matricial

Comunicación RS-232

⚠️ En caso de no recibir datos:

Revisar puertos TX/RX

Confirmar baud rate

Verificar que ambos PICs usen el mismo .hex

✨ Features Principales

Comunicación UART estable

Envío y recepción de texto ASCII

Manejo de buffer de recepción

Visualización en LCD

Interacción por teclado matricial

Código modular (UART, LCD, teclado)

Compatible con simulación y hardware real

🗂️ Estructura del Repositorio pic-rs232-uart-communication/ │ ├── README.md ├── .gitignore │ ├── src/ │ ├── main.c │ ├── ADC.c / ADC.h │ ├── LCD.c / LCD.h │ ├── Matriz.c / Matriz.h │ ├── UART.c / UART.h │ ├── config.c / config.h │ ├── hex/ │ └── pic_rs232_uart.hex │ └── proteus/ ├── rs232_simulation.pdsprj └── screenshots/

🎓 Aplicaciones

Comunicación entre sistemas embebidos

Enlace PIC–PIC o PIC–PC

Sistemas maestro–esclavo simples

Prácticas académicas de microcontroladores

📌 Estado del Proyecto

✔ Finalizado 📚 Proyecto académico

About

UART (RS-232) serial communication between PIC microcontrollers with LCD and keypad interface, simulated in Proteus.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages