Es un curso taller que explica paso a paso la programacion de microcontroladores PIC con el compilador MIKRO C utilizando el PIC 16F877 .Descripción completa
verilog code for rx
Transmitting a String of Characters from a micro-controller to Personal Computer.
Librería UART de mikroC PRO para el módulo USART El módulo USART se incluye en los microcontroladores PIC16F88, 16F628A y 16F877A (algunos microcontroladores PIC, como el 16F84A, no tienen este módulo). La biblioteca UART de mikroC PRO proporciona las herramientas para hacer que el empleo de este módulo en modo asincrónico (full-dúplex) sea tan sencillo como nunca lo había sido hasta ahora. Esto permite la comunicación con otros dispositivos a través del protocolo RS232. En la tabla 10.2 se pueden ver las funciones incorporadas con sus características más sobresalientes.
Tabla 10.2 Funciones de la librería UART para el módulo USART
Ejemplo en mikroC PRO con el PIC16F88
Estos ejemplos corresponden al PIC16F88. El código fuente para los microcontroladores PIC16F628A y 16F877A se encuentra en las carpetas correspondientes que acompañan a este libro. Ejemplo-USART_01.c: Lo que escriba por el teclado del computador se visualizará en el módulo LCD y será enviado de vuelta al computador, por lo que se visualizará también en el monitor. Cuando se hayan ingresado 16 caracteres el LCD se borrará y empezará nuevamente en la primera fila y primera columna (figuras 10.7.1, 10.7.2 y 10.7.3).
Figura 10.7.1 Comunicación con el computador por medio del MAX232 //USART_01.c //Declaración de las 12 variables necesarias para la conexión //del módulo LCD. sbit LCD_RS at RA4_bit; sbit LCD_EN at RA6_bit; sbit LCD_D4 at RA0_bit;
sbit LCD_D5 at RA1_bit; sbit LCD_D6 at RA2_bit; sbit LCD_D7 at RA3_bit; sbit LCD_RS_Direction at TRISA4_bit; sbit LCD_EN_Direction at TRISA6_bit; sbit LCD_D4_Direction at TRISA0_bit; sbit LCD_D5_Direction at TRISA1_bit; sbit LCD_D6_Direction at TRISA2_bit; sbit LCD_D7_Direction at TRISA3_bit; // Fin de declaración de variables de conexión. char uart_rd, contador=0; void main(){ OSCCON=0x60; while (OSCCON.IOFS==0);
//Oscilador interno a 4MHz (TCI=1 us). //Esperar mientras el oscilador está inestable.