Buenas Noches amigos y amigas de foros electronica, soy nuevo en esta area y quisiera saber si me pueden ayudar con una transmision de modulos RF para comunicar dos pic 16f877a, en el proyecto que quiero haces es transmitir codigo morse, en primera instancia quisiera transmitir una palabra para que sea mostrada por una LCD de 16x2, si aguna persona pe pudiare ayudar se lo agradeceria...! yo tengo el codigo morse ya hecho en microc pero no se cono hacer para transmitirlo...!
el codigo es:
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_bit;
sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;
#define t_punto 120
//#define t_raya 3 * t_punto
//#define t_sep t_punto
//#define t_sep_letras 3 * t_punto
//#define t_sep_palabra 5 * t_punto
void main() {
unsigned char i, p, n, fin_letra;
TRISC = 0x01;
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Out(1, 3, "Codigo MORSE");
i = 1;
while(1)
{
p = 0;
n = 0;
if(PORTC.B0==0)
{
Delay_ms(t_punto/2);
if(PORTC.B0==0)
{
fin_letra = 0;
do
{
Delay_ms(t_punto);
p = p << 1;
n++;
if(PORTC.B0==0) // raya
{
p++;
Delay_ms(2 * t_punto);
}
Delay_ms(t_punto);
if(PORTC.B0==1) // Termino letra
{
if(n==1)
{
switch (p)
{
case 0: Lcd_Out(2,i,"E");
break;
case 1: Lcd_Out(2,i,"T");
break;
}
}
if(n==2)
{
switch (p)
{
case 0: Lcd_Out(2,i,"I");
break;
case 1: Lcd_Out(2,i,"A");
break;
case 2: Lcd_Out(2,i,"N");
break;
case 3: Lcd_Out(2,i,"M");
break;
}
}
if(n==3)
{
switch (p)
{
case 0: Lcd_Out(2,i,"S");
break;
case 1: Lcd_Out(2,i,"U");
break;
case 2: Lcd_Out(2,i,"R");
break;
case 3: Lcd_Out(2,i,"W");
break;
case 4: Lcd_Out(2,i,"D");
break;
case 5: Lcd_Out(2,i,"K");
break;
case 6: Lcd_Out(2,i,"G");
break;
case 7: Lcd_Out(2,i,"O");
break;
}
}
if(n==4)
{
switch (p)
{
case 0: Lcd_Out(2,i,"H");
break;
case 1: Lcd_Out(2,i,"V");
break;
case 2: Lcd_Out(2,i,"F");
break;
case 3: Lcd_Out(2,i,"x");
break;
case 4: Lcd_Out(2,i,"L");
break;
case 5: Lcd_Out(2,i,"x");
break;
case 6: Lcd_Out(2,i,"P");
break;
case 7: Lcd_Out(2,i,"J");
break;
case 8: Lcd_Out(2,i,"B");
break;
case 9: Lcd_Out(2,i,"X");
break;
case 10: Lcd_Out(2,i,"C");
break;
case 11: Lcd_Out(2,i,"Y");
break;
case 12: Lcd_Out(2,i,"Z");
break;
case 13: Lcd_Out(2,i,"Q");
break;
case 14: Lcd_Out(2,i,"x");
break;
case 15: Lcd_Out(2,i,"no existe");
break;
}
}
i++;
fin_letra = 1;
}
} while(fin_letra==0);
Delay_ms(2 * t_punto);
if(PORTC.B0==1) // Termino palabra
{
Lcd_Out(2,i," ");
Delay_ms(2 * t_punto);
}
Delay_ms(500);
if(i>15)
{
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Out(1, 1, "Codigo Morse");
i = 1;
}
else
i++;
} }
}
}