COMUNICACIÓN SERIAL PC - PIC USANDO MATLAB Y PIC BASIC PRO

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.

virtual serial port

El esquema en Proteus se muestra en la siguiente figura:

proteus comunicacion serial

La configuración del componente COMPIM es como muestra la siguiente figura:

puerto serial

La configuración del VIRTUAL TERMINAL se muestra en la siguiente figura:

virtual terminal

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”