lunes, 18 de febrero de 2013

COMUNICACION PIC- MATLAB.
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.

Notas:
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