3
#include <xc.h> #include <stdio.h> #include <stdlib.h> #include <plib/xlcd.h> #include <plib/delays.h> #define _XTAL_FREQ 4000000 int main() { ADCON1=15; TRISA=1; TRISC=0; while(1){ if(PORTAbits.RA0==1 && PORTAbits.RA1==0){ PORTCbits.RC0=1;Delay1KTCYx(2) ; PORTCbits.RC0=0;Delay1KTCYx(2) ; } if(PORTAbits.RA0==0 && PORTAbits.RA1==1){ PORTCbits.RC0=1;Delay10TCYx(30 ); PORTCbits.RC0=0;Delay10TCYx(30 ); } } } Recepción #include <xc.h> #include <stdio.h> #include <stdlib.h> #include <plib/xlcd.h> #include <plib/delays.h> #define _XTAL_FREQ 4000000 void config_se(); int a=0; void main(){ ADCON1=15; TRISA=0; TRISB=0; config_se(); IPEN=0; PEIE=1; RCIE=1; GIE=1; //Recepción while(1){ if(a==1){ PORTA=32; } if(a==2){

Taller Micros

Embed Size (px)

DESCRIPTION

ucontrolers

Citation preview

Page 1: Taller Micros

#include <xc.h>

#include <stdio.h>

#include <stdlib.h>

#include <plib/xlcd.h>

#include <plib/delays.h>

#define _XTAL_FREQ 4000000

int main() {

ADCON1=15;

TRISA=1;

TRISC=0;

while(1){

if(PORTAbits.RA0==1 && PORTAbits.RA1==0){

PORTCbits.RC0=1;Delay1KTCYx(2);

PORTCbits.RC0=0;Delay1KTCYx(2);

}

if(PORTAbits.RA0==0 && PORTAbits.RA1==1){

PORTCbits.RC0=1;Delay10TCYx(30);

PORTCbits.RC0=0;Delay10TCYx(30);

}

}

}

Recepción

#include <xc.h>

#include <stdio.h>

#include <stdlib.h>

#include <plib/xlcd.h>

#include <plib/delays.h>

#define _XTAL_FREQ 4000000

void config_se();

int a=0;

void main(){

ADCON1=15;

TRISA=0;

TRISB=0;

config_se();

IPEN=0;

PEIE=1;

RCIE=1;

GIE=1;

//Recepción

while(1){

if(a==1){

PORTA=32;

}

if(a==2){

PORTBbits.RB0=1;Delay1KTCYx(2);

PORTBbits.RB0=0;Delay1KTCYx(2);

a=0;

}

if(a==3){

PORTBbits.RB1=1;Delay10TCYx(30);

PORTBbits.RB1=0;Delay10TCYx(30);

a=0;

}

}

Page 2: Taller Micros

}

void config_se(){

SPBRG=12;

SYNC=0;

BRGH=1;

BRG16=0;

SPEN=1;

CREN=1;

}

void interrupt interrupcion(){

if(RCIF==1){

PORTAbits.RA3=1;

a=RCREG;

PORTA=a;

RCIF=0;

}

}

Transmisión

#include <xc.h>

#include <stdio.h>

#include <stdlib.h>

#include <plib/xlcd.h>

#include <plib/delays.h>

#define _XTAL_FREQ 4000000

void config_se();

void main(){

config_se();

// Transmisión

ADCON1=15;

TRISA=1;

while(1){

if(PORTAbits.RA0==1){

if(PORTAbits.RA1==1 && PORTAbits.RA2==1){

TXREG=1;

}

if(PORTAbits.RA1==1 && PORTAbits.RA2==0){

TXREG=2;

}

if(PORTAbits.RA2==1 && PORTAbits.RA1==0){

TXREG=3;

}}

}

}

void config_se(){

SPBRG=12;

SYNC=0;

BRGH=1;

BRG16=0;

SPEN=1;

TXEN=1;

}