Professional Documents
Culture Documents
Objetivos
1 Armar el circuito bsico para verificar el funcionamiento de la comunicacin serial 1 Probar programas bsicos de Transmisin 1 Probar Programas Bsicos de Recepcin
Actividades
1.- Realizar el montaje del circuito siguiente:
5V 5V 1K Reset 20 1uF + 1 1 16
5V
1uF
+
2 6 1uF
3 1uF
Max232
13 8
+
Viene del pin de TX de DB9 Va al pin de RX del DB9
11 10 15
14 7
2.- Programa de comunicacin bsica. Se ha separado el cdigo y se implementa una funcin enviar(char c). Esta funcin recibe como argumento el carcter c, el cual es transmitido. La funcin es llamada por el main(). La Programacin est ms simplificada.
void enviar(char c) { while(TXIF==0) // Verifica que haya tx { } TXREG=c; } void main() { TRISC.7=1; // habilita El bit para rx TRISC.6=0; // Habilita El bit para tx TXSTA=0b00100000; // Ver registro RCSTA.7=1; // SPEN=1; SPBRG=0xFF; // De acuerdo a la tabla del manual while(1) { enviar('H'); enviar('O'); enviar('L'); enviar('A'); enviar(0x0d); enviar(0x0A); // Puede poner una funcin para retardo } }
5.- Enviando y recibiendo datos Se modifica el programa anterior y se define una funcin char recibe(). Esta devuelve el carcter recibido del puerto.
void enviar(char c) { while(TXIF==0) // Verifica que haya tx { } TXREG=c; } char recibe() { char c; while(RCIF==0) { } c=RCREG; return( c); } void main() { char dato; TRISC.7=1; // habilita para TX TRISC.6=0; // Habilita para RX TXSTA=0b00100000; RCSTA=0b10010000;// SPEN=1; SPBRG=0xFF; // De acuerdo a la tabla del manual while(1) { dato=recibe(); enviar('D'); enviar('A'); enviar('T'); enviar('O'); enviar(' '); enviar(':'); enviar(dato); enviar(0x0d); enviar(0x0a); } }