Autor Tema: recivir dato por el serial y mostrarlo en el puertoD pic16f877  (Leído 1347 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado E_Castillo

  • PIC10
  • *
  • Mensajes: 2
recivir dato por el serial y mostrarlo en el puertoD pic16f877
« en: 07 de Abril de 2012, 11:59:16 »
buenos dias... tengo un enorme dolos de cabeza con este  simple programita en PicBasic

como el titulo lo dice estoy usando el pic16f877 y quiero recivir un dato a travez del puerto serie y mostrarlo en el puerto D, pero no me sale :(

el codigo que tengo es:

define osc 20
include "MODEDEFS.bas"
Entrada var byte
TrisC = %10000000 'C7 como entrada, las demás salidas
TrisD = %00000000 'puerto D como salida
Loop1:
    serin portc.7,T9600,entrada
    portD=entrada
goto Loop1

P.D. el transmisor lo he echo con VB6.0 y en proteus se mira que efectivamente manda los datos, pero no se porque el pic no los recive o reconoce ni los muestra en el puertoD. 

P.D2. agrego un zip con el programa en VB6.0, el programa del pic en PicBasic Pro y el archivo de proteus.

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: recivir dato por el serial y mostrarlo en el puertoD pic16f877
« Respuesta #1 en: 08 de Abril de 2012, 08:43:31 »
Este sencillo programa lo he probado sobre un hard con Pic16F88 y funciona correctamente, me devuelve la tecla pulsada en el hyperterminal.
Puedes hacer pruebas a partir de aquí.

Código: [Seleccionar]
'PIC16F88, Basic PSI
Define CLOCK_FREQUENCY = 8
Const hser_rcsta = 0x90
Const hser_tsta = 0x20
Const hser_baud = 9600

AllDigital
OSCCON = 0x7e  'Reloj interno a 8Mhz
TRISA = 0xff  'Puerto A como Entradas
TRISB = 0x00  'Puerto B como Salidas
PORTB = 0
Hseropen 9600

Dim i As Byte

WaitMs 100

loop:
Hserin i
Hserout i
Goto loop
End

PD: Te dejo el archivo .Hex  probado en la realidad.
« Última modificación: 08 de Abril de 2012, 08:53:31 por dogflu66 »
Saludos desde Granada, España.