Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

06/04/2012 #1


recibir y mostrar dato en pic desde pc con rs232
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
06/04/2012 #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
07/04/2012 #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.
Archivos Adjuntos
Tipo de Archivo: zip PruebaRS232.zip (125,1 KB (Kilobytes), 138 visitas)
07/04/2012 #4
Moderador

Avatar de D@rkbytes

cm4164 dijo: Ver Mensaje
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.
07/04/2012 #5

Avatar de sangreaztk

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
08/04/2012 #6


GRACIAS por la ayuda!!

ya con eso ya terminé la aplicación.
09/04/2012 #7

Avatar de Meta

Hola:

Aquí descargas ejemplos en ASM y C sobre RS232 para el PIC16F886 y un archivo del RS232 para saber de que se trata.

Descargar PDF.

Un cordial saludo.
Archivos Adjuntos
Tipo de Archivo: rar RS232 ASM y C.rar (110,7 KB (Kilobytes), 100 visitas)
09/04/2012 #8


Excelente Meta, muchas gracias!!
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.