/* EJEMPLO 8-1
Autor: Mikel Etxebarria
Orozko-Bizkaia, Noviembre 2010
El módulo USART.
Transmisión asíncrona
El módulo USART de los dispositivos PIC16F87X incorpora el hardware necesario para implemen-
tar comunicación serie asíncrona full-duplex o sincrona half-duplex. En este último caso el
USART se puede comportar como Master o Slave.
El ejemplo transmite una trama cada segundo con el carácter ASCII de la letra A. */
#include <16f886.h>
/* Ajusta los valores de las palabras de configuración durante el ensamblado.Los bits no empleados
adquieren el valor por defecto.Estos y otros valores se pueden modificar según las necesidades */
#fuses NOLVP,PUT,NOWDT,EC_IO,NOFCMEN,NOBROWNOUT //Palabra 1 de configuración
#fuses NOWRT,BORV40 //Palabra 2 de configuración
/* Con estas directivas las funciones "input" y "output_bit" no reprograman
el pin de la puerta cada vez que son utilizadas. Si no se indica el
modo fast_io se asume por defecto standard_io el cual reprograma el pin
siempre antes de ser utilizadas estas funciones. */
#use fast_io (C)
#use delay(clock=4000000)
//Habilita las funciones RS232, velocidad a 9600 baudios
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
main()
{
SETUP_ADC_PORTS(NO_ANALOGS); //Puerta A y B Digitales
set_tris_c(0b10111111); //RC7/Rx entrada, RC6/Tx salida
while(1)
{
putc('A'); //Transmite el caracter
delay_ms(1000); //Temporiza 1 segundo
}
}