Taller Micros

Preview:

DESCRIPTION

ucontrolers

Citation preview

#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;

}

}

}

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;

}

Recommended