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

Temas similares

19/05/2011 #1


Comunicación PIC16F877A - PC con MAX232
Hola!:
tengo un problema con la comunicación PIC16F877A - PC, la escritura con de la PC al PIC16F877A me funciona a la perfección pero al momento de querer enviar un dato a la PC el programa no m sirve quisiera saber si alguien m podria ayudar para saber en que parte del programa tengo el error o saber q puedo tener mal.

El programa está hecho en .asm
la parte de Transmite es en donde no m hace nada el PIC
Codigo:

list p=16f877a
include "P16F877A.inc"
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON

dato equ 0x20 ;dato a trasmitir
reg1 equ 0x21
reg2 equ 0x22

org 0
goto inicio


inicio
bsf STATUS,RP0 ;Cambio al banco 1
movlw d'255'
movwf TRISB ;Entradas
clrf TRISD ;Salidas
movlw b'10111111'
movwf PORTC ;configura el RC7 como entrada y RC6 como salidas y los demas como salidas
movlw d'25' ;Velocidad de transmision 9600 bits/seg
movwf SPBRG
movlw b'00100100' ;8 bits de transmision
movwf TXSTA ;modo asincrono alta velocidad
bcf STATUS,RP0 ;Cambio al banco 0

movlw b'10010000' ;8 bits de recepcion, puerto serial habilitado
movwf RCSTA
bsf RCSTA,SPEN ;habilitar el puerto serie(USART)
clrf PORTD
bcf PIR1,RCIF ;limpiar la bandera de recepcion
bcf PIR1,TXIF ;limpiar la bandera de transmision

clrf dato ;inicializamos dato

ciclo
btfsc PIR1,RCIF
call Recibe_y_Transmite
goto ciclo

Recibe_y_Transmite
call Recibe
movf dato,w
movwf PORTD
call Transmite
call retardo
return

Transmite
movf PORTB,W
movwf TXREG ;almacenar el dato a transmitir en el registro TXREG
btfss PIR1,TXIF ;si TXIF=1, buffer de transmision vacio (TXREG=0 bits)
goto $-D'1'
bcf PIR1,TXIF ;limpiar la bandera de transmision
bcf PIR1,RCIF ;limpiar la bandera de recepcion

return

Recibe
movf RCREG,w ;se reciben los datos en RCREG
movwf dato
bcf PIR1,RCIF ;limpiar la bandera de recepcion
return
retardo
movlw 0xff
movwf reg2
movwf reg1
decfsz reg1,f
goto $-D'1'
decfsz reg2,f
goto $-D'4'
return

END
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.