08.05.2013 Views

PIC TRAINER 2.0 - Ucontrol

PIC TRAINER 2.0 - Ucontrol

PIC TRAINER 2.0 - Ucontrol

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

.proyectos >> Comunicación inalámbrica entre <strong>PIC</strong>s<br />

.Programa del MICRO TX<br />

#include <br />

void TxSerial( char d_ ) // Función para transmitir un dato de forma serial<br />

{<br />

TXREG = d_;<br />

while( !TRMT );<br />

}<br />

void InicioSerial( void ) // Función d inicio de la USART<br />

{<br />

TRISB1 = 1;<br />

TRISB2 = 0;<br />

TXSTA = 0x24;<br />

RCSTA = 0x90;<br />

BRGH = 1; // Configuración de la USART a 2400 bits por segundo<br />

SPBRG = 103;<br />

}<br />

void main( void ) // Funcion principal<br />

{<br />

char DATO;<br />

INTCON = 0; // Configuración de las interrupciones<br />

TRISB = 0xFF; // Se configuran los pines de los leds como salidas<br />

RBPU = 0; // Se activan las resistencias PULL-UP<br />

InicioSerial(); // Función d inicio de la USART<br />

while(1)<br />

{<br />

DATO = (~PORTB>>4)&15; // Se guarda en la variable DATO el valor de los 4 pulsadores<br />

TxSerial( 170 ); // Se transmite una bandera de inicio con la secuencia de bits: 10101010<br />

TxSerial( DATO ); // Se transmite el dato de manera redundante. 8 veces<br />

TxSerial( DATO );<br />

TxSerial( DATO );<br />

TxSerial( DATO );<br />

TxSerial( DATO );<br />

TxSerial( DATO );<br />

TxSerial( DATO );<br />

TxSerial( DATO );<br />

}<br />

}<br />

__CONFIG( 0x3F09 );<br />

.Programa del MICRO RX<br />

#include <br />

// Declaración de variables de trabajo<br />

char n=0;<br />

char Trama[4]={1,2,3,4};<br />

char DATO;<br />

void InicioSerial( void )// Función para la configuración de la USART.<br />

{<br />

TRISB1 = 1;<br />

TRISB2 = 0;<br />

TXSTA = 0x24;<br />

RCSTA = 0x90;<br />

BRGH = 1;<br />

SPBRG = 103;<br />

}<br />

void interrupt VET( void ) // Vector de interrupciones.<br />

{<br />

if( RCIF ) //Interrupción serial<br />

{<br />

DATO = RCREG; //Lectura del buffer de entrada serial<br />

//página 0x39 //página 0x3A<br />

switch( DATO ) // Se evalúa el dato que llega<br />

{<br />

case 170: for( n=0; n

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!