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??
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??