RESUMEN: La comunicación serial entre un dispositivo 16F628A de Microchip con Matlab es sencilla. En este artículo se ensayará el código necesario para la tx de datos desde Matlab para encender un led con el microcontrolador 16F628A. Para esta simulación, se configuran dos puertos virtuales usando el demo del programa Virtual Serial Port Driver v.6.
MATLAB
El código necesario para la inicializar el puerto serial es:
SerPIC = serial('COM2'); set(SerPIC,'BaudRate',2400); set(SerPIC,'DataBits',8); set(SerPIC,'Parity','none'); set(SerPIC,'StopBits',1); set(SerPIC,'FlowControl','none'); |
La función serial crea un objeto que contiene todos los parámetros correspondientes al puerto serial como baudios, bits de datos, bit de parada, etc. Estos parámetros se los modifica con la función set.
Una vez establecidos los parámetros de la comunicación, se procede a abrir el puerto con la función fopen:
fopen(SerPIC); |
La función para escribir el puerto serial es fprintf:
fprintf(SerPIC,'%s','A') |
En la línea precedente se escribe en el puerto la letra A en formato string. (También es posible escribir caracteres, reemplazando %s por %c y enviando los datos con la función char.)
Una vez terminada la comunicación, se procede a cerrar el puerto con el siguiente código:
fclose(SerPIC); delete(SerPIC) clear SerPIC |
MICROCONTROLADOR
En el microcontrolador tenemos el siguiente programa:
include "modedefs.bas"
valor var byte
trisb =000001 portb =000000
inicio: serin portb.0,T2400,valor if valor == "E" then high portb.1 'E->Encendido if valor == "A" then low portb.1 'A->Apagado goto inicio |
Como se trata de una transmisión serial, siempre va la librería modedefs.bas. No olvidar que la velocidad de envío debe ser la misma que la velocidad de recepción (2400 en este caso).
En este programa si el dato recibido es “E”, enciende el pin 1 del puerto B. Si recibe “A” pone a 0 ese mismo pin.
SIMULACIÓN
Para efectos de simplificar, se usó el demo del programa Virtual Serial Port Driver 6 que crea pares de puertos seriales virtuales en un mismo PC.
El esquema en Proteus se muestra en la siguiente figura:
La configuración del componente COMPIM es como muestra la siguiente figura:
La configuración del VIRTUAL TERMINAL se muestra en la siguiente figura:
http://www.4shared.com/file/67418588/f1be36e4/TX_DATOS_ENTRE_PC_PIC.html
No response to “COMUNICACIÓN SERIAL PC - PIC USANDO MATLAB Y PIC BASIC PRO”
Publicar un comentario