Comunicacion serial pc-pic y viceversa

Hola amigos, soy nuevo en el foro, tambien soy algo novato en esto de los pic's, los he manejado pero ahora se me presenta un problema que no se si esta bien solucionado.

Necesito realizar la comunicacion serial entre la pc con hyperterminal y un pic, en mi caso estoy utlizando el 16f877a, les anexo el codigo y me dicen que tal vale!!!

Muchas gracias de ante mano!!!


include "modedefs.bas"

@ device xt_osc
DEFINE osc 4

dato var byte
datot var byte
rex var portc.7
tex var portc.6


DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 1
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 0
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

pause 2500

trisb= $00 ;puerto b como salida
trisd= $FF ;puerto d como entrada

lcdout $FE,1
LCDOUT $FE,1, "Comunicacion serial"
PAUSE 100
LCDOUT $FE,$C0, "Practica "
pause 400

INICIO:
serin porta.7,N2400,dato ;recibo dato de la pc
lcdout $FE,1
LCDOUT $FE,1,dato ;lo despliego en lcd
pause 2000
datot=portd ;guardo en datot lo que tengo en portd
serout porta.6,N2400,datot ;se envia a la pc

goto INICIO
end


tambien no se exactament si el comando serin y serout los puedo usar con cualquir pin en cualquier puerto o solo en tx y rx??

para enviar un dato a el lcd, lo puedo hacer desde una variable que contenga informacion previanmente cargada por la funcion serin??

y si mando el codigo ascii de una letra por los 8 bits del puerto d, el hyperterminal lo recibira e imprimira como caracter o como 0 y 1??
 
Primero que nada... creo que reconocí el lenguaje, es Basic... no es c, ni otro lenguaje que conozca...
consejo... indícalo a la próxima...

Por lo que entendí en tu programa, el PIC inicializa el LCD, y empieza a recibir datos, pero, primeramente, recuerda que la instrucción serin espera una transición, por lo que detiene totalmente al PIC hasta que reciba un dato... luego envía lo que este en el puerto d al pc... supongo que esto es solo parte de un proyecto mayor.

Estas instrucciones se pueden usar con cualquier pin de PIC, y para usar el hardware del PIC, tienes que usar la instrucción hserin y hserout...

Respecto de lo de hyperterminal, no se usar este programa, en eso no te puedo ayudar...
 
Hola gonzalocg gracias por tu ayuda, efectivamente, esto es parte de un proyecto, disculpa por lo del lenguaje lo recordare para la proxima!!

Me podrias explicar un poco mas de el funcionamiento de hserin y hserout por favor??

Gracias!!!
 
Atrás
Arriba