hola a todos por fortuna e encontrado lo que queria.. un foro para programar en ccs y ojala poder daer mis aportes y que ojala me puedan solucionar muchas dudas que tengo en algunas areas de programacion de este tema
a continuacion adjunto un programa para un enlace de radiofrecuencia este codigo repsonde muy bien ya lo probe y lo presente en un proyecto de la universidad
este es el codigo del emisor
#include<16f877a.h> #fuses XT,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP #use delay(clock=4000000) #use rs232(baud=2400, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8) #byte PORTD = 0x08 #byte PORTB = 0x06
void main() { set_tris_D(0b11111111);
PORTD=0; PORTB=0;
while(1) { if(PORTD==0){printf("%d",0);} if(PORTD==1){printf("%d",1);} if(PORTD==2){printf("%d",2);} if(PORTD==4){printf("%d",3);} if(PORTD==8){printf("%d",4);} if(PORTD==64){printf("%d",5);} if(PORTD==128){printf("%d",6);}
} }
y este es el codigo del receptor
#include<16f877a.h> #fuses XT,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP #use delay(clock=4000000) #use rs232(baud=2400, parity=N, xmit=PIN_C6, rcv=PIN_C7)
#byte PORTD = 0x08 #byte PORTB = 0x06
enable_interrupts(int_rda); enable_interrupts(global);
char orden;
#int_rda void serial_isr() {
orden=getc()-48;
if(orden==0){PORTD=0b00000000;} if(orden==3){PORTD=0b00000101;} // adelante if(orden==2){PORTB=0b00000110;} // giro
}
void main() { set_tris_D(0b00000000); set_tris_B(0b00000000);
PORTd=0; PORTB=0;
while(1)
{
} }
los modulos de transmision de señal son tlp 434a y rlp434a y son de transmision serial
|