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

Temas similares

05/10/2009 #1


Transferincia de datos Asincrona
Quiero hacer tranferiancia de datos por el puerto serial, enviar un mensaje del pic a la pc, en forma asincrona ya tengo el programa pero a la hora de recibir los datos en la pc este me da puros caracteres extraños si alguien me pudiera ayudar se los agradecere, aqui dejo el programa

Include "p16f877a.inc"

apun EQU 0x20
dato EQU 0x21
org 0x0000

CLRF PORTC ;Borra los bits de la puerta C
trans BSF STATUS,RP0 ;Mover al banco 1
BCF STATUS,RP1
MOVLW 0x5F ;RC7/RX entrada, RC6/TX salida
MOVWF TRISC
BCF STATUS,SYNC ;Modo asincrono SYNC=0
BCF TXSTA,BRGH ;Activar velocidad baja(BRGH=0)
MOVLW 0x06 ;Valor para 9600 Bauds para Fosc=4Mhz
MOVWF SPBRG
BSF TXSTA,TXEN ;Se activa la transmision
BCF STATUS,RP0 ;Mover al banco 0
BSF RCSTA,SPEN ;Activar el USART
BSF RCSTA,CREN ;Habilita la recepcion
rep CLRF apun ;Inicia apuntador
cic2 CALL letrero ;Obtiene el siguiente caracter apuntado
MOVWF dato ;Lo guarda en dato
SUBLW "$" ;Compara con el signo
BTFSC STATUS,Z ;
GOTO rep ;Si es, reinicia
CALL envia ;Si no es "$" envia el dato
INCF apun,1 ;Apunta al siguiente caracter
GOTO cic2 ;Repite

;Subrutina para enviar un dato por el puesto serial

envia BSF STATUS,RP0 ;Mover al banco 1
esp BTFSS TXSTA,TRMT ;Checa si el buffer de transmisión
GOTO esp ;Si esta ocupado espera
BCF STATUS,RP0 ;Mover al banco 0
MOVF dato,W ;Rescata dato a enviar
MOVWF TXREG ;Envia el dato
RETURN
letrero:
MOVF apun,W ;Carga apuntador en W
ADDWF PCL,1 ;Salta W instrucciones adelante
DT "Pruba",0x0D,0x0A,"$"
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.