Está en la página 1de 50

Manual

Puerto serie rs232 con PIC16f87x controlado por Gambas

NDICE 1/2

Presentacin Gambas Entorno Gambas Ejecutar programa Objetivo de la interfaz Cdigo asm del PIC16F87x Primer cdigo Gambas Recibir mensajes

NDICE 2/2

Extras Fotos Vdeos Libros Otros manuales Enlaces de inters Versin del manual Contacto Autor

Presentacin del manual

PRESENTACIN

PRESENTACIN

Este manual est enfocado a los novatos en microcontroladores PICs, en especifico en la serie 16f87x, y a la programacin de aplicaciones grficas en gambas para los sistemas GNU/Linux. No aprenderemos a programar PICs en assembly (asm) ni el lenguaje que usa Gambas (cuya sintaxis es muy parecida a BASIC y a Java) sino que se daran los pasos necesarios para llevar a cabo la comunicacin PIC PC por el puerto serie sin tener grandes conocimientos de programacin. Este manual bsico puede servir de ejemplo para aplicaciones ms ambisiosas o para proyectos de fin de curso en niveles bsico, medio, superior o incluso de maestria.

Introduccin

Gambas

Gambas Almost Means BASIC

Vamos a desarrollar una pequea aplicacin bajo el Entorno de Desarrollo Gambas (que es Software Libre) en sistemas GNU/Linux. Si se desea conocer ms sobre Gambas una buena idea es visitar la pgina oficial del proyecto (gambas.sourceforge.net) y mirar la documentacin.

Gambas Almost Means BASIC

En este manual se ha trabajado en su momento con: Ubuntu 9.04 Jaunty Jackalope Gambas 2.8

DESCARGAR/INSTALAR GAMBAS

En sistemas derivados de Debian (como lo es Ubuntu) podemos descargar/instalar Gambas (gambas2) y todas sus dependencias desde aptget, aptitude o synaptic
# apt-get install gambas2
NOTA: El carcter '#' indica que el que debe hacer la instalacin es el root, para usuarios de Ubuntu si no tienen activo a root pueden anteponer en la orden el comando sudo.

DESCARGAR/INSTALAR GAMBAS

Instalando gambas2 desde Synaptic

DESCARGAR/INSTALAR GAMBAS

Para usuarios de otras distros, buscar si existen ya paquetes instaladores, y si no se cuenta con ellos o se prefiere tener la ultima versin disponible se pueden compilar las fuentes. Para saber como, lea lo siguiente http://gambasdoc.org/help/readme?view y tambien http://gambasdoc.org/help/install?view

Familiarizado con el Entorno de Desarrollo Gambas ?

Si eres totalmente novato en este tema, porfavor continua con las siguientes pginas. En caso de que ya estes familiarizado con el Entorno de Desarrollo Gambas o sepas compilar los programas o tus aplicaciones puedes saltarte a la seccin 'OBJETIVO DE LA INTERFAZ'

Ejecutar Gambas

En Ubuntu, el icono de acceso a Gambas se encuentra en el men 'Aplicaciones' 'Programacin' 'Gambas2' O tambien se puede ejecutar desde terminal u oprimiendo 'Alt' + 'F2' y usando la orden gambas2

Ejecutar Gambas

INICIO DE UN NUEVO PROYECTO

Cuando iniciemos Gambas nos aparecer una pantalla de Bienvenida, donde seleccionaremos 'Nuevo proyecto...'

INICIO DE UN NUEVO PROYECTO

En la pantalla 1 seleccionaremos 'Aplicacin grfica QT...' y damos click al botn 'siguiente' En la pantalla 2 daremos la ruta donde se guardar el proyecto, sugiero se cree una carpeta en ~/proyectos_gambas/picrs232 . Damos click en 'siguiente'

INICIO DE UN NUEVO PROYECTO

INICIO DE UN NUEVO PROYECTO

En la pantalla 3 daremos al proyecto el nombre picrs232 y de titulo PIC RS232

INICIO DE UN NUEVO PROYECTO

Cuando se abra gambas con el proyecto nos aparecer una ventanita con un consejo, la cerramos. Ya dentro de Gambas en el men 'Vista' habilitamos 'Proyecto', 'Propiedades' y 'Cajas de Herramientas' o simplemente oprimimos F10, F4 y F6.

INICIO DE UN NUEVO PROYECTO

INICIO DE UN NUEVO PROYECTO

Ahora en la vista del proyecto vemos que tenemos un item llamado FMain, esa es la ventana principal de nuestro proyecto, demosle un doble click para que se muestre.

INICIO DE UN NUEVO PROYECTO

INICIO DE UN NUEVO PROYECTO

Ya que dejamos como queriamos a Gambas, hay que saber donde introducir el cdigo del programa. Hay varias formas de ver el cdigo. Como muestra la imagen si pulsamos el botn 'Cdigo' se mostrar el editor de cdigo y si pulsamos el botn 'Formulario' se muestra el diseo del formulario.

INICIO DE UN NUEVO PROYECTO

INICIO DE UN NUEVO PROYECTO

Tambin puedes ver el cdigo dando click con el botn secundario del mouse dentro del diseo del formulario y luego en 'Abrir cdigo'. Igualmente simplemente puedes oprimir 'Ctrl' + 'W'

Objetivo de la Interfaz

Objetivo de la Interfaz

El objetivo principal de esta aplicacin es hacer una interfaz en Gambas capaz de comunicarse con un microcontrolador PIC16F87x al igual que lo hace el minicom o el cutecom pero con su propio control y diseo. Vamos a dar el primer paso de la interfaz

Objetivo de la Interfaz

Introducir el nombre de nuestro programa en el formulario. Centrar el formulario en el escritorio al ejecutarse la aplicacin. Colocar 5 botones en el formulario con las coordenadas indicadas. Orden de jerarquia de los botones. Depurar nuestra aplicacin.

Objetivo de la Interfaz

Selecciona el Formulario En el cuadro de 'Propiedadas' modifica el valor de la propiedad texto a PicRS232 ya que es el nombre de nuestro programa

Objetivo de la Interfaz

Para centrar la aplicacin accedemos a la ventana de cdigo y la funcin Form_Open, que corresponde al evento Open del Fmain, la dejamos como sigue:

PUBLIC SUB Form_Open() FMain.Center() ' Centra en pantalla la aplicacin END

Objetivo de la Interfaz

Objetivo de la Interfaz

Lo que hemos hecho es decirle al programa que cuando se abra la aplicacin, al formulario FMain lo ponga en el centro de la pantalla. El texto que se encuntra despues de la comilla sencilla ( ' )es simplemente un comentario, esa comilla simple es como el equivalente al punto y coma ( ; ) del lenguaje assembly

Objetivo de la Interfaz

De la caja de herramientas pulsa con el botn primario y sin soltar al objeto Button arrastralo y sueltalo en el formulario. Tambien puedes dar doble click en Button para que se agregue automaticamente al formulario.

Objetivo de la Interfaz

Objetivo de la Interfaz

Has insertado el botn llamado Button1 en el formulario. Ahora toca modificar sus propiedades que se describen en la tabla.

PROPIEDADES

Propiedad Text (Name) X Y

Valor t button_t 119 38

Objetivo de la Interfaz

De la misma forma arrastra un segundo button. Y cambia sus propiedades como indica la tabla.

PROPIEDADES

Propiedad Text (Name) X Y

Valor b button_b 119 67

Objetivo de la Interfaz

Vamos con el tercer button.


Propiedad Text (Name) X Y

PROPIEDADES

Valor a button_a 0 67

Objetivo de la Interfaz

Ahora toca el turno al cuarto button, pero CUIDADO! la letra que estamos usando es la 'L' minuscula que puede confundirse con la 'I' latina mayuscula.

PROPIEDADES

Propiedad Text (Name) X Y

Valor l button_l 238 67

Objetivo de la Interfaz
Al quinto button tambin le cambiaremos el color y Propiedad Text el tipo de fuente la pondremos en negrita. (Name)

PROPIEDADES

Para hacer eso se explica a continuacin

X Y

Valor Espacio button_espacio 238 96


&HFF8000& Bold

Background Font

Objetivo de la Interfaz

En el cuadro de propiedades de button_espacio seleccionamos Background y en la columna de valor nos aparecer un botn con tres puntos (...), le damos click y se abrir un cuadro de dialogo. Entramos a la pestaa 'Libre' y en el cuadro de texto escribimos FF8000.

Objetivo de la Interfaz

Objetivo de la Interfaz

De forma parecida lo haremos para tener la fuente en negrita. En el cuadro de dialogo que nos aparezca seleccionaremos 'Negrita' en el cuadro de 'Estilo'.

Objetivo de la Interfaz

Objetivo de la Interfaz

La Jerarqua de los elementos de nuestra aplicacin nos permite tener un mejor control de ella, podremos dar un orden de tabulacin Para ello, donde se encuentra nuestra rea de propiedades se encuentra una pestaa llamada 'Jerarqua' Damos click en esa pestaa

Objetivo de la Interfaz

Objetivo de la Interfaz

En la seccin 'Jerarquia' puedes ver como estn organizdos los elementos. Puedes cambiar el orden con los botones en forma de flechas.

Guarde el proyecto completo y luego pulse F5 o el botn con un icono como de 'play'. Debemos tener algo similar como muestra en la imagen de la derecha. Puedes pulsar los botones que notars que no hace nada ya que no hemos programado ninguna accin sobre ellos. Ahora cierra el programa con la X como cualquier otro programa. Ya hemos cumplido el objetivo de esta parte. Ahora nos centramos a explicar un poco el cdigo del PIC16F87x y as entender cmo recibe los datos que Gambas enva por el puerto serie.

Cdigo ASM del PIC16F87x

Cdigo ASM del PIC16F87x

Para entender los datos que enviamos desde el Gambas, debemos entender el cdigo fuente del PIC16F87x, en este caso en assembly. Los datos que enviamos desde Gambas es en hexadecimal, con lo cual conviene ver la tabla ASCII. ASCII, pronunciado ski significa del Ingls American Standard Code for Information Interchange o lo que es lo mismo Cdigo Estadounidense Estndar para el Intercambio de Informacin.

Tabla ASCII

También podría gustarte