En el post anterior se hizo una interfaz con la capacidad de transmitir datos por el puerto serial, ahora les mostrare como conectar el PIC16f877A a MATLAB. el codigo ya probado desde hace unos años es el siguiente:
ORG 0X00
GOTO INICIO
ORG 0X04
GOTO INTER
INTER
BANKSEL PIR1
BTFSS PIR1,RCIF ;INTERRUPCION POR RECEPCION
GOTO VOLVER ; NO.FALSA INTERRUPCION
BCF PIR1,RCIF ;SI. REPONER BANDERA
MOVF RCREG,W ;LECTURA DEL DATO RECIBIDO
MOVWF PORTB
VOLVER RETFIE
;COMINZO DEL PROGRAMA PRINCIPAL
INICIO
BANKSEL PORTB
CLRWDT ;REFRESCA PERRO GUARDIAN
CLRF PORTB
CLRF PORTC ;
CLRF PORTD
BANKSEL TRISC
MOVLW 0XFF
MOVWF TRISD
CLRF TRISB ;PORTB COMO SALIDA
MOVLW B'10111111' ;RC7/RX ENTRADA
MOVWF TRISC ;RC6/TX SALIDA
MOVLW B'11101111' ;PREDIVISOR DE 128 ASOCIADO AL PERRO GUARDIAN
MOVWF OPTION_REG
MOVLW B'00100100' ;CONFIGURACION USART
MOVWF TXSTA ; Y ACTIVACION DE TRANSMISION
MOVLW .25 ;9660 BAUDIOS
MOVWF SPBRG ;
BSF PIE1,RCIE;HABILITA INTERRUPCION EN RECEPCION
BANKSEL PORTC
MOVLW B'10010000';CONFIGURACION DE USART PARA RECEPCION CONTINUA
MOVWF RCSTA ;RECEPCION COPNTINUA, PUESTA EN ON
MOVLW B'11000000'
MOVWF INTCON ;HABILITACION D EINTERRUPCIONES GENERALES
BUCLE
MOVF RCREG,W
MOVWF PORTB
GOTO BUCLE
END
El programa solo recibe datos, que es lo que necesitamos.
ahora ya tenemos los datos que se envian desde MATLAB y lo podemos visualizar con LEDS en la salidas del PIC.
En caso de no tener un puerto serial, puedes adquirir un convertidor USB- RS232
Recuerda siempre usar el convertidor de CMOS- TTL (max 232 en mi caso)
dudas y preguntas, con gusto les atendere.
SALUDOS, en un tiempo libre; documentare y detallare como controlar un motor de CD todo lo que necesitan saber antes de aventurarse y lo mas importante mi codigo para el control de motores de CD desde MATLAB.
saludos
No hay comentarios:
Publicar un comentario