recibir y mostrar dato en pic desde pc con rs232

#1
buen día a todos... antes que nada quisiera que sepan que soy nuevo programando en picbasic pro y mis conocimientos de pics son muy básicos, aunque mi experiencia en VB6.0 es muy basta!!

quisiera hacer un proyecto donde desde VB6.0 mande un byte a través del rs232, el cuál lo reciba el pic16f877 y lo muestre en el puerto D.

el codigo en VB6.0 está listo y funcionando (lo probe con proteus), pero por mas que intento e investigo no logro capturarlo correctamente y mostrarlo en el puerto B

alguien me podría ayudar?

agrego el codigo que tengo hasta el momento:

define osc 20
include "MODEDEFS.bas"
Entrada var byte
TrisC = 128
TrisD = 0
Loop1:
serin portc.7,T9600,entrada
portD=entrada
pause 50
goto Loop1
 
Última edición:
#2
hola lo que podria ser es que como el puerto D tiene funcion tambien de PSP (puerto paralelo esclavo) el cual se avtiva con el bit PSPMODE del registro tris E pues borralo para asegurarte de que el puerto D esta como funcion de E/S , espero te sirva de algo adios
 
#3
tienes razón en eso, gracias por recordarmelo.... lastimosamente lo acabo de probar y tampoco funciona!!

P.D. adjunto el programa en VB6.0, el programa del pic en PbP y el archivo en proteus.
 

Adjuntos

Última edición:
#4
tienes razón en eso, gracias por recordarmelo.... lastimosamente lo acabo de probar y tampoco funciona!!
Saludos cm4164
Hace poco tiempo subi un proyecto de interfaz escrito en VB6 y los programas para PIC en PBP.

Los programas incluidos estan probados, y funcionan bien.

Este es el Link del proyecto por si quieres verlo, te puede ser de utilidad.

[Aporte] Interfaz RS232 PIC PC (Proyecto Completo VB6)]

Proximamente pienso adjuntar otros proyectos mas, usando LCD y ADC.

Suerte y hasta luego.
 
#5
No uso pic basic........... pero te puedo dar como lo haría en asm:

Código:
	processor	16f877
	include 	<p16f877.inc>
	__CONFIG	0x3F71

; ------------------------------Código modificado por aztk-------------------------------------
; inicio
          org     0x00
          goto    inicio
          org     0x04
          goto    INTER

; Se transmite via Serie el dato que esta en el registro W
TX_DATO   bcf     PIR1,TXIF      ; Restaura el flag del transmisor
          movwf   TXREG          ; Mueve el byte a transmitir al registro de transmision
          bsf     STATUS,RP0     ; Bank01
          bcf     STATUS,RP1

TX_DAT_W  btfss   TXSTA,TRMT     ; ¿Byte transmitido?
          goto    TX_DAT_W       ; No, esperar
          bcf     STATUS,RP0     ; Si, vuelta a Bank00
          return

; Tratamiento de interrupción
INTER     btfss   PIR1,RCIF      ; ¿Interrupción por recepción?
          goto    VOLVER         ; No, falsa interrupción
          bcf     PIR1,RCIF      ; Si, reponer flag
          movf    RCREG,W        ; Lectura del dato recibido
          movwf   PORTD         ;PORTB          ; Visualización del dato
          ;call    TX_DATO        ; Transmisión del dato como eco
VOLVER    retfie

; Comienzo del programa principal
inicio    clrf    PORTB          ; Limpiar salidas
          clrf    PORTC
          bsf     STATUS,RP0     ; Bank01
          bcf     STATUS,RP1
          clrf    TRISD               ;TRISB          ; PORTB como salida
          movlw   b'10111111'    ; RC7/RX entrada,
          movwf   TRISC          ; RC6/TX salida
          movlw   b'00100100'    ; Configuración USART
          movwf   TXSTA          ; y activación de transmisión
          movlw   .25            ; 9600 baudios
          movwf   SPBRG
          bsf     PIE1,RCIE      ; Habilita interrupción en recepción
          bcf     STATUS,RP0     ; Bank00
          movlw   b'10010000'    ; Configuración del USART para recepción continua
          movwf   RCSTA          ; Puesta en ON
          movlw   b'11000000'    ; Habilitación de las
          movwf   INTCON         ; interrupciones en general

BUCLE     nop
          goto    BUCLE

          end

; --------Código original en:
;
;	MICROCONTROLADORES <<PIC>>
;	Diseño práctico de aplicaciones
;	SEGUNDA PARTE: PIC 16F87X
;	José M. Angulo, Susana Romero, Ignacio Angulo
;	Editorial: McGrawHill
 
Arriba