3
« en: Jueves 18 de Marzo de 2010, 01:34 »
Hola ha todos estoy tratando de realizar la comunicación del puerto seria con labview pero ni problema esta que cuando trato de graficar la los datos que llagan por el puerto serial no me funciona la grafica de la señal ECG, debería ser igual a la del osciloscopio pero no lo es no sé si es el software que está mal diseñado o la Interfax porfa si alguien puede ayudarme se lo agradecería
Aquí le dejo el programa que diseñe
list p=16f877a ; list directive to define processor
#include <p16f877a.inc> ; INCLUIMOS LAS DEFINICIONES DEL PIC TILIZADO
#define BANCO_1 bsf STATUS,RP0 ;DEFINICION DE BANCO 1
#define BANCO_0 bcf STATUS,RP0 ;DEFINICION DE BANCO 0
ERRORLEVEL -306, -302 ;QUITAMOS LOS ERRORES DE BANCO EN MPLAB
RADIX HEX ; sistema de numeracion hexadecimal
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _HS_OSC & _LVP_ON& _DEBUG_OFF & _CPD_OFF
; ***********************************
; * DEFINICION DE ETIQUETAS *
; ***********************************
org 0
goto inicio
; **************************************************
; * RUTINA DE INICIO, AUQI CONFIGURAMOS EL PIC *
; **************************************************
inicio
clrf PORTA
clrf PORTB
bsf STATUS,RP0 ;Selecciona banco 1
movlw b'00000110'
movwf ADCON1 ;Puerta A E/S digitales
clrf TRISB ;Puerta B se configura como
BANCO_1
clrf PORTC
movlw b'10111111'
movwf TRISC
movlw b'00100100' ; SYNC=0 (asincrono) y BRGH = 1 (alta velocidad)
movwf TXSTA
movlw .129
movwf SPBRG ;9600 CON UN CRISTAL DE 20MHz
BANCO_0
bsf RCSTA,SPEN ;USART en On
Init_ADC
BANCO_0
movlw b'10000001'
movwf ADCON0
Loop bsf STATUS,RP0 ;Selecciona página 1
movlw b'00000001'
movwf TRISA ;Puerta A entradas
clrf ADCON1 ;Puerta A entradas analógicas
bcf STATUS,RP0 ;Selecciona página 0
bcf PIR1,ADIF ;Restaura el flag del
nop
nop
bsf ADCON0,GO_DONE ;inicializa la conversion
ADC_TERNINO
btfss PIR1,ADIF ;Fin de conversión ??
goto ADC_TERNINO ;espera a terminar la conversion
bsf STATUS,RP0 ;Selecciona banco 1
movlw b'00000110'
movwf ADCON1
BANCO_0
movf ADRESH,w
andlw b'11111111'
BANCO_0
movwf TXREG ;el resultado es retornado (8bits)
nop
nop
nop
nop
nop
nop
nop
nop
nop
allsend
BANCO_1 ; Banco 1
btfss TXSTA,TRMT ; byte transmitido ?????
goto allsend ; No pues espera
goto Loop
END