96770635 tutorial flowcode 4 espanol

Upload: wemy92

Post on 29-Oct-2015

345 views

Category:

Documents


14 download

TRANSCRIPT

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    1/38

    AN12-1

    ANEXO 12: FlowCode 4; OTRA FORMA DE PROGRAMAR

    AN12-1 INTRODUCCIN

    Efectivamente, tal y como reza el ttulo del presente Anexo, vamos a ver otra forma deprogramar microcontroladores PIC empleando un nuevo lenguaje, el FlowCode, de Matrix

    Multimedia Limited (www.matrixmultimedia.com).Se trata de un lenguaje grfico orientado a iconos con los que el programador disea su

    programa de aplicacin describiendo el organigrama o diagrama de flujo del mismo. Aunqueaconsejable, no se hace necesario tener grandes conocimientos de electrnica ni demicrocontroladores, por lo que es un lenguaje destinado a prcticamente todo tipo de usuarios:aficionados, estudiantes de ESO, Formacin Profesional tanto en grado medio como en gradosuperior, ingenieras, profesionales, investigadores y desarrolladores de aplicaciones. La granventaja de FlowCode 4 es que permite, con unos mnimos conocimientos, crear complejossistemas electrnicos en muy poco tiempo.

    AN12-1.1 Ventajas

    Son muchas las ventajas que ofrece el empleo de un lenguaje como el FlowCode 4:

    Ahorro de tiempo y dinero. FlowCode 4 facilita el diseo rpido de sistemasy aplicaciones basadas en microcontroladores (en nuestro caso los PICs).

    Sencillo interface de usuario. Basta simplemente con coger iconos yarrastrarlos sobre el rea de trabajo para confeccionar un diagrama de flujoque responda a las necesidades de la aplicacin. No es necesario escribir unprograma de la forma tradicional, instruccin a instruccin, como lo hemosvenido haciendo en los ejemplos que se han propuesto en la obra.

    Rpido y flexible. FlowCode 4 integra un gran nmero de subrutinas de alto

    nivel para la gestin de diversos componentes, lo que facilita un rpidodesarrollo de cualquier aplicacin. El mtodo de programacin de FlowCode4 permite el uso de prcticamente todos los recursos que integra elmicrocontrolador.

    Resultado libre de errores. Cuando se disea un programa, sufuncionamiento se puede simular totalmente sobre el PC. El ejecutableobtenido se puede grabar directamente sobre la memoria de programa delmicrocontrolador.

    Arquitectura abierta. FlowCode 4, al igual que la mayor parte de loslenguajes grficos y/o de alto nivel, ofrece una puerta abierta para que elusuario pueda insertar sus propias funciones o subrutinas escritas enensamblador o en C.

    AN12-1.2 Caractersticas

    Las ms relevantes son:

    Soporta diferentes microcontroladores. Segn la versin elegida,FlowCode 4 puede trabajar con dispositivos PIC, AVR, Atmel y ARM. Elpresente Anexo se refiere a la versin para PICs

    Soporta diferentes sistemas de comunicacin. FlowCode 4 integra lasfunciones necesarias para implementar comunicaciones segn diferentesestndares o protocolos: I2C, SPI, RS232, Bluetooth, Zigbee, IrDA, CAN, LIN,TCP/IP, Webserver, USB y RFID.

    Soporta componentes estndar. Efectivamente, FlowCode 4 integra lasfunciones necesarias para el control de los componentes ms tpicos usados

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    2/38

    AN12-2

    en cualquier aplicacin: LEDs, interruptores, teclados, pantallas, LCD de textoy grficas, sensores, displays de 7 segmentos, memorias EEPROM,dispositivos de comunicacin, etc.

    Panel de montaje. Donde colocamos y conectamos los componentes queforman parte de nuestra aplicacin y que sern controlados desde nuestroprograma. Permite la simulacin del funcionamiento de los mismos.

    Soporta diferentes herramientas. Una vez compilado y ensamblado eldiagrama de flujo de nuestra aplicacin, el programa ejecutable obtenido sepuede descargar directamente sobre nuestro microcontrolador medianteherramientas hardware como pueden ser el PICkit 2 (compatible con ellaboratorio USB-PIC-School!) o el PICkit 3 de Microchip.

    AN12-1.3 Versiones de FlowCode 4

    FlowCode 4 se puede adquirir en diferentes versiones, independientemente del modelo demicrocontrolador que vaya a ser usado:

    La versin libre. Se puede descargar de forma gratuita desde la web delfabricante (www.matrixmultimedia.com). Es ideal para poder evaluar el

    producto sin coste ni compromiso alguno. La versin de estudiante o Home. Es bastante econmica y est

    especialmente dirigida a estudiantes y aficionados. Es una buena alternativapara todos aquellos usuarios que quieran comenzar a utilizar esta tcnica deprogramacin y, sobre todo, para aquellos que desean familiarizarse con elhbito de programar.

    La versin Pro profesional. Es la versin completa de FlowCode 4, sinningn tipo de lmite ni restricciones. Admite la mayor parte de dispositivosPIC as como todos los componentes e iconos. No tiene lmite en el cdigogenerado.

    La siguiente tabla resume las caractersticas de cada una de estas tres versiones.

    CARACTERSTICAS VERSIN LIBRE VERSIN HOME VERSIN PROIconos ilimitados NO S SLmite del cdigo generado 2K 4K NINGUNOTodos los dispositivos NO S STodos los componentes NO NO SDepuracin en circuito (requierehardware adicional)

    NO NO S

    Licencia para uso comercial NO NO SDerechos sobre el cdigo NO NO S

    AN12-1.4 Trabajar con FlowCode 4

    La mecnica de trabajo con FlowCode 4 es muy similar a la empleada con cualquier otrolenguaje:

    Diseo del programa fuente. Simplemente cogiendo y arrastrando losdiferentes iconos de comandos disponibles, vamos dibujando el organigramao diagrama de flujo de nuestra aplicacin. Haciendo clic sobre esos iconos decomandos podemos ajustar los diferentes parmetros y propiedadesasociados a ellos. El diseo de programas complejos se realiza rpidamente.

    Diseo del sistema. FlowCode 4 dispone de una gran variedad de

    perifricos tpicos como leds, interruptores, pantallas LCD, etc. En el panel demontaje podemos colocar los que necesitemos en nuestra aplicacin y

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    3/38

    AN12-3

    asignarles sus correspondientes propiedades y conexiones. Es decir,podemos realizar el montaje del circuito elctrico.

    Simulacin del programa. FlowCode 4 dispone de herramientas para lasimulacin y depuracin de nuestro programa. Podemos ejecutar el programapaso a paso, icono a icono, analizar los resultados obtenidos sobre loscomponentes del sistema, editar y/o visualizar las variables del programa oejecutar la simulacin en tiempo real. Comprobamos el correctofuncionamiento interactuando directamente con los componentes que hemoscolocado en el panel de montaje.

    Descargar y grabar el microcontrolador. Con un nico botn podemoscompilar, ensamblar y grabar el programa ejecutable obtenido sobre lamemoria fsica del microcontrolador. FlowCode 4 se puede conectardirectamente con el laboratorio USB-PICSchool (compatible con PICkit 2),cuyo dispositivo PIC recibir el programa para una ejecucin real y definitiva.

    AN12-1.5 Instalacin de FlowCode 4

    Excepto la versin libre, que se descarga directamente desde la web del fabricante, lasversiones Home y Pro se presentan en un CDROM. Basta con ejecutar el programa de instalacin

    y seguir las instrucciones que van apareciendo.

    Una vez instalado el programa, se permite su uso durante 30 das como mximo antes deser activado. De no hacerlo as dejar de funcionar y el usuario deber contactar con MatrixMultimedia para adquirir un nuevo cdigo. El proceso de activacin es sencillo:

    1. Durante la instalacin de FlowCode, se pide introducir el cdigo de licenciaque acompaa al CDROM. Se le denomina Cdigo CD.

    2. Al ejecutar FlowCode hacemos clic en el botn Activate license. Esto nosabre la pgina web de activacin del fabricante, donde se nos pide el nombrede usuario y una direccin vlida de correo electrnico.

    3. Al tiempo se recibe un email de confirmacin.

    4. Transcurridos unos das como mximo, se recibe un nuevo email con uncdigo permanente de licencia al que se le denomina Cdigo de registro.Este cdigo se introduce a travs del men Help Register.

    Si, por algn motivo, el proceso de instalacin fallara, se debe contactar [email protected] e indicar el mensaje de error que nos indique.

    AN12-2 EJECUCIN DE FlowCode 4

    Para ejecutar el FlowCode basta con hacer clic en su correspondiente acceso directo delescritorio de nuestro PC. Transcurrido cierto tiempo, nos aparece el rea de trabajo tal y como semuestra en la figura AN12-1.

    El rea se divide en diferentes secciones. Cada una de ellas se puede visualizar o no enla pantalla seleccionndola mediante la opcin Ver del men principal.

    Men principal. Aparece en la lnea superior de la pantalla. Contiene lasdiferentes opciones de trabajo del programa FlowCode. Algunas de estasopciones, como Archivo, Editar y Ver son comunes a otras aplicacionesWindows. El resto son opciones propias del programa y algunas de ellas lascomentaremos en este Anexo.

    Caja de Herramientas. Se encuentra justo debajo de las opciones del menprincipal. Contiene, en forma de botones, algunas de las opciones del men

    ms utilizadas: Nuevo, Abrir, Salvar, Cortar, Pegar, Imprimir, etc. Tambin

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    4/38

    AN12-4

    hay botones para la ejecucin de nuestro programa de aplicacin: Ejecutar,Entrar, Saltar, etc.

    Herramientas de comandos. Se visualiza en vertical, a la izquierda de lapantalla. Contiene los diferentes iconos con los cuales vamos a confeccionarlos organigramas o diagramas de flujo correspondientes a nuestro programade aplicacin. Estos comandos se arrastran y colocan dentro del rea detrabajo desde donde se conectan entre s y se establecen los diferentesparmetros y propiedades.

    rea de trabajo. Es el rea en donde se van colocando todos los iconos ocomandos que forman el organigrama, se conectan entre s y se establecensus parmetros y propiedades.

    Herramientas de componentes. Aparece arriba, justo debajo de la caja deherramientas. Cada uno de esos botones nos permite seleccionar de entre unbuen nmero de dispositivos perifricos que pueden ser utilizados por unaaplicacin: dispositivos ms comunes, dispositivos de entrada, de salida, decomunicaciones por radiofrecuencia, etc. El componente elegido se colocasobre el panel de montaje desde donde se definen sus propiedades yconexiones.

    Panel de montaje. Es el rea donde se irn colocando los componentes y

    perifricos que se emplean en la aplicacin. Propiedades del panel. En esta ventana se editan algunas de las

    propiedades de los objetos que se encuentran en el panel de montaje. Barra de estado. Se visualiza a la izquierda, en la parte inferior de la

    pantalla. Aparecen pequeos mensajes que informan del estado del sistema.

    Figura AN12-1. La pantalla de trabajo de FlowCode 4

    AN12-3 CONFIGURACIN

    Antes de empezar con un nuevo proyecto o aplicacin, conviene configurar una serie deparmetros para establecer las condiciones y entorno de trabajo del FlowCode 4.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    5/38

    AN12-5

    AN12-3.1 Opciones del Compilador

    Se establece mediante Chip Opciones del compilador. Se abre una ventana como lamostrada en la figura A12-2. Los diferentes campos de esta ventana permiten establecer diferentesparmetros, y las rutas que debe utilizar FlowCode para acceder al compilador, el enlazador, elprogramador, etc. Estos campos vienen establecidos por defecto y se aconseja no modificarlos. Encualquier caso, si lo hiciramos, siempre disponemos del botn Restaurar ValoresPredeterminados para dejarlos en su estado original.

    Especial mencin se merece el campo Programador resaltado en la figura. Con l seestablece el grabador al que FlowCode va a dirigir el programa ejecutable, para grabarlofsicamente sobre la memoria del microcontrolador. En el caso que nos ocupa observamos que seha seleccionado el PICkit-2. Este grabador, original de Microchip, es compatible con el USB-PICSchool!, que hemos utilizado a lo largo de obra.

    Figura AN12-2. Configuracin por defecto del entorno del FlowCode 4

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    6/38

    AN12-6

    AN12-3.2 Seleccin del microcontrolador

    Esta accin, fundamental a lohora de comenzar cualquierproyecto o aplicacin, serealiza mediante Chip Configurar Swtich ToExpert. Aparece una nueva

    ventana como la mostrada enla figura AN12-3. En ella seajustan parmetros propiosdel controlador que vayamos autilizar. En el caso que nosocupa hemos seleccionado elentraable PIC16F886.Podemos comprobar que supalabra de configuracinqueda establecida de formasimilar a como lo hicimos en

    los ejemplos escritos enensamblador y en C.F

    igura AN12-3. Seleccin y configuracin del microcontrolador

    AN12-3.3 Opciones del proyecto

    Para acabar. La configuracin exige definir una serie de opciones propias del proyectocon el que vamos a trabajar. stas se eligen mediante Ver Opciones de Proyecto que nosabre una ventana como la mostrada en la figura AN12-4.

    Figura AN12-4. Las opciones de un proyecto basado en FlowCode 4

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    7/38

    AN12-7

    Las opciones generales nos permiten seleccionar el modelo de microcontrolador que seva a emplear durante la simulacin. Por defecto, debe ser el mismo que se eligi mediante Chip Configurar Swtich To Expert. De igual manera, podemos seleccionar la velocidad del relojdel sistema as como la velocidad que deseamos utilizar durante la simulacin.

    Tambin hay opciones para la depuracin en circuito o ICD en tiempo real. Estasopciones slo son tiles si disponemos de la herramienta hardware que propone Matrix Multimediacomo es su depurador FlowKit.

    AN12-4 HERRAMIENTAS DE COMANDOS

    Son los iconos o smbolos grficos con los que vamos a confeccionar los organigramas odiagramas de flujo de nuestra aplicacin. Es decir, los comandos se corresponden con tareasconcretas con las que vamos a confeccionar los programas. Todas ellas se encuentran en lacolumna de la izquierda de la pantalla de trabajo.

    Cuando cualquiera de los iconos de comandos se traslada al rea de trabajo, quedaautomticamente conectado con el resto de iconos existentes. Vamos dibujando as, paso a paso,el organigrama. Al hacer un doble clic con el botn izquierdo del ratn sobre cualquiera de los

    iconos existentes, se abrir su correspondiente ventana de propiedades en donde estableceremoslos diferentes parmetros del comando en cuestin. Todas las ventanas de propiedades de todaslas herramientas de comandos disponen de un botn (?) que nos facilita la informacin de ayudacorrespondiente (en castellano).

    AN12-4.1 Herramienta Ingreso

    Permite ejecutar tareas relacionadas con la adquisicin de datos procedentes de losPuertos de entrada del controlador. La figura AN12-5 muestra su icono as como la ventana depropiedades que se abre, cada vez que hacemos doble clic sobre l. En el campo MostrarNombre podemos aadir un comentario, por ejemplo Leer entradas, que aclare la operacin quevamos a realizar. Es similar a los comentarios que se ponen en los programas fuente escritos en

    ensamblador o en lenguaje C.

    En el campo Variable indicamos en qu variable se va a guardar el valor ledo desde elPuerto de entrada. Podemospulsar el botn Variablesque nos abrir una nuevaventana donde podremoscrear, editar y borrar variablesde 8 bits, de 16, de cadenas

    ASCII o strings y variables paraalmacenar nmeros en comaflotante.

    En el campo Puertoseleccionamos qu Puerto deentrada del microcontroladorvamos a leer. Segn el modelode PIC seleccionado, podemosleer desde el PUERTO A hastael PUERTO X en funcin de losPuertos disponibles. En elejemplo se lee el Puerto A

    Figura AN12-5. Herramienta de ingreso

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    8/38

    AN12-8

    La lectura de un Puerto de entrada puede hacerse a nivel de un bit nico o a nivel delpuerto completo. En este caso podemos hacer adems una lectura enmascarada. Es decir,podemos indicar qu bits de ese puerto son los que nos interesa leer. En el ejemplo se leen los bits0,2 y 3 del Puerto A.

    AN12-4.2 Herramienta de Salida

    Permite ejecutar operaciones relacionadas con los Puertos de salida del controlador. En la figura

    AN12-6 se muestra el icono y la correspondiente ventana de propiedades. En Mostrar Nombrepodemos aadir el

    comentariodeseado. En elcampo Variable oValor introducimosdirectamente elvalor de salida obien el nombre dela variable quecontiene el valor

    que deseamossacar. En elejemplo sacamosel valor de lavariable Entradas.Mediante el campoPuerto seselecciona elpuerto de salida,Puerto B en elejemplo.

    Figura AN12-6. Herramienta de salida

    La escritura sobre un Puerto de salida tambin se puede realizar a nivel de bit nico o anivel de Puerto completo. En este caso la escritura puede ser o no enmascarada. En el ejemplo seescribe nicamente sobre los bits 0, 2 y 3 del Puerto B.

    AN12-4.3 Herramienta de Demora (temporizacin)

    Permite realizar todo tipo de temporizaciones basadas en la frecuencia de trabajo delsistema que hemos seleccionado mediante las opciones del proyecto (Ver Opciones deProyecto). Su ventana de propiedades se muestra en la figura AN12-7. Como en todas lasherramientas, en el campo Mostrar Nombre, podemos incluir un comentario. En el campoTiempo de Demora o Variable introducimos el valor a temporizar. Este valor se puede indicardirectamente, 13 en el ejemplo, o bien indicando el nombre de la variable que lo contiene. En estecaso pulsamos el botn Variables para seleccionarla de entre todas las que estn definidas ydisponibles.

    Esta ventana de propiedades tambin nos permite seleccionar las unidades en que serepresenta el tiempo: microsegundos, milisegundos o segundos. En el ejemplo se realiza unatemporizacin de 13 mS.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    9/38

    AN12-9

    Figura AN12-7. Herramienta detemporizacin

    AN12-4.4 Herramienta de Decisin

    Se trata de la clsica toma de decisiones. Se realiza una determinada evaluacin y, enfuncin del resultado, el flujo del programa va por un camino o por otro. En la figura AN12-8 semuestra la correspondiente ventana de propiedades. En el campo En Caso de Que se establecela condicin. En el ejemplo de la figura se evala si el valor de la variable Entradas es igual a 1.Esto es equivalente a evaluar si la lnea RA0 de la puerta A est a nivel lgico 1 o no. En caso

    afirmativo, el curso de la ejecucin se desva por la derecha. En caso contrario la ejecucincontina su curso.Podemos activar (ono) el campoIntercambiar Si yNo. En este caso eldesvo del curso dela ejecucin seproduce si NO se dala condicinestablecida.

    Figura AN12-8. Herramienta de decisin

    Las condiciones pueden estar formadas por nmeros y/o variables y uno de los siguientesoperadores:

    ( ) Parntesis.=, Igual a, diferente a.+, -, *, /, MOD Adicin, sustraccin, multiplicacin, divisin y mdulo.= Menor que, menor que o igual a, mayor que, mayor que o igual a.>>,

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    10/38

    AN12-10

    Figura AN12-9. Herramienta deexpresin

    En el campo Expresin se indica el nombre de la variable cuyo contenido se desea

    evaluar, Entradas en el ejemplo. Los campos Caso, cuando se activan, permiten determinar conqu valores hay que comparar el contenido de la variable Entradas: 1, 4, 2 o 7. Cuando coincideuno de ellos, el flujo de ejecucin del programa toma un camino u otro. Si no coincide con ninguno,la ejecucin sigue su curso. Esto se aprecia claramente en la figura AN12-10.

    Figura AN12-10. Evaluando cuatro posibilidades

    Se evala el valor de la variable Entradas. Si es igual a 1, se temporiza 1 segundo; si es4 se temporiza 4 segundos; si es 2 se temporiza 2 segundos y si es 7 se temporiza 7 segundos. Sino coincide con ninguno de esos cuatro valores, el programa sigue su curso sin hacertemporizacin alguna.

    AN12-4.6 Herramienta Punto de conexin

    Una de las tareas ms frecuentes en el desarrollo de un diagrama de flujo o programa, esdesviar la ejecucin a un punto de destino de forma incondicional. Esta herramienta, cuya ventanade propiedades se muestra en la figura AN12-11, permite establecer un punto de conexin dedestino.

    En el campo Etiqueta asignamos un nombre o etiqueta al punto de destino. En elejemplo hemos asignado la etiqueta Bucle.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    11/38

    AN12-11

    Figura AN12-11. Herramienta Punto de conexin

    AN12-4.7 Herramienta Ir a Punto de conexin

    Esta herramienta se emplea junto con la anterior. Permite establecer el punto de conexinde destino al que debe dirigirse el flujo del programa. La ventana de propiedades se muestra en lafigura AN12-12.

    En el campo Ir a Punto de Conexin asignamos un nombre o etiqueta del punto de

    destino. En el ejemplo hemos asignado la etiqueta Bucle.

    Figura AN12-12. Herramienta Ir a Punto de conexin

    La figura AN12-13 muestra un sencillo ejemplo en el que seemplean ambas herramientas. Comenzamos estableciendo un puntode conexin llamado Bucle. A continuacin se lee el contenido delPuerto A de entrada y se deposita en la variable Entradas.Seguidamente, el contenido de la variable Entradas (el valor delPuerto A) se deposita sobre el Puerto B de salidas.

    El programa finaliza con la herramienta Ir a Punto deConexin llamado Bucle, lo que origina que el flujo se desve al puntode conexin superior. Como consecuencia de todo ello, tenemos unprograma que lee el valor de las entradas del Puerto A y lo depositasobre el Puerto B de salida. Esto se repite de forma indefinida en lo quese conoce como un bucle sin fin. Cualquier cambio en las entradas sever inmediatamente reflejado en las salidas.

    Figura AN12-13.Un sencillo bucle sin fin

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    12/38

    AN12-12

    AN12-4.8 Herramienta Bucle

    Esta herramienta de Bucle se emplea para repetir una tarea, bien de forma incondicional oindefinida, o bien hasta que se cumplan las condiciones indicadas. La figura 14 muestra lacorrespondiente ventana de propiedades. Esta herramienta siempre se muestra como dos iconos,uno de inicio y otro definal. Entre ambos, a

    modo de sndwich, sealojan los comandosde programa queforman el bucle.

    Figura AN12-14. Herramienta de Bucle

    Los comandos encerrados dentro de un bucle se pueden ejecutarmientras se produzca una condicin (Bucle Mientras) o hasta que seproduzca esa condicin (Bucle Hasta). En el ejemplo el bucle se ejecutahasta que el valor de la variable Entradas sea igual a 0. En el momento enque se cumpla esta condicin, el bucle finaliza y el flujo del programareanuda su curso.

    Las condiciones se pueden evaluar y comprobar si se cumplen, alPrincipio del bucle o al Final del mismo. Los comandos o instrucciones

    que componen un bucle tambin se pueden ejecutar un nmerodeterminado de veces. Para ello, activamos e indicamos en el campoRecuento de bucle, el nmero de veces deseado (entre 1 y 255).

    Indicar que tambin se puede crear un bucle en el que suscomandos se ejecuten de forma indefinida e incondicional. Basta conactivar Bucle Mientras e introducir el valor 1 en el campo de condiciones.En el ejemplo de la figura AN12-15 vemos un bucle que consiste en leer lasentradas del Puerto A y reflejarlas en las salidas del Puerto B. El bucle seejecuta hasta que las entradas valgan 0.

    Figura AN12-15. Ejecucin condicional de un bucle

    AN12-4.9 Herramienta Macro

    Una macro no es ni ms ni menos que una funcin o una subrutina, similar a las quehemos empleado en los distintos ejemplos de la obra. Una macro est compuesta de cualquiera delos comandos o iconos disponibles y/o tambin de otras macros. Es una opcin muy interesanteque ahorra mucho tiempo de programacin y, sobre todo, mucho cdigo de programa. Una macrorealiza una determinada tarea compuesta de varios comandos. Nuestro programa principal puede

    ejecutar esa tarea simplemente llamando a la macro tantas veces como sea necesario, sin tener

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    13/38

    AN12-13

    que reescribir los comandos que la componen. La figura AN12-16 muestra la ventana depropiedades del comando Macro.

    En el campo MostrarNombre podemos escribir uncomentario. En el campoMacro podemos ver una listacon todas las macros

    disponibles. Seleccionamos laque necesitemos en unmomento dado.

    Mediante el botn CrearNuevo Macro accedemos auna ventana que nos permitedefinir una nueva Macro.

    Con el botn OK&EditarMacro podemos editar una

    Macro. Es decir, describir loscomponentes que debeejecutar para realizar unadeterminada tarea.

    Figura AN12-16. Herramienta Macro

    AN12-4.9.1 Crear Nueva Macro

    Cuando se pulsa el botnCrear Nueva Macro se nos abre una

    ventana como la mostrada en lafigura AN12-17. En el campoNombre del Nuevo Macro indicamosel nombre que le queremos asignar aesa Macro, por ejemplo, Test.

    En el campo Descripcindel Nuevo Macro podemos poner untexto que describa la tarea querealiza la Macro.

    En el campo Parmetrospodemos definir datos o variables deentrada que nuestra Macro puedanecesitar.

    En Variables Localespodemos crear y editar variables queslo sern utilizadas por la propiaMacro. No se usan en ningn otrolugar del programa de aplicacin.

    Figura AN12-17. Definicin de una Macro

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    14/38

    AN12-14

    En el campo Tipo de Retorno se indica si la Macro devuelve, tras su ejecucin, un valorde 8 bits, de 16 bits, una cadena ASCII o un nmero en coma flotante. Tambin se puede indicarque no se retorna ningn valor.

    AN12-4.9.2 Edicin de una Macro

    Cuando se pulsa el botn OK&Editar Macro, aparece una nueva hoja en blanco en elrea de trabajo. En ella vamos colocando los comandos o instrucciones que se deben ejecutar

    cada vez que se llame a la Macro. En la figura AN12-18 se muestra un ejemplo de la Macro quehemos llamado Test.

    Figura AN12-18. Contenido de la Macro Test

    Podemos ver que, en el rea de trabajo, aparece una nueva pestaa correspondiente a lahoja donde vamos a dibujar el diagrama de flujo con las funciones que integra la Macro Test.Empieza evaluando el valor de la variable Entradas que corresponde con el valor cargado desdeel Puerto A. Si el valor ledo es 0, el Puerto B de salida saca 0b00001111, si es 1 se saca0b11110000, si es 2 se saca 0b01010101 y, por ltimo, si se lee 3 desde el Puerto A de entrada,se saca el valor 0b10101010 por el Puerto B de salida. Si el valor ledo no es ninguno de esoscuatro, por el Puerto B se saca 0.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    15/38

    AN12-15

    En la figura AN12-19 se muestra cmo queda el programaprincipal. Consiste en un bucle sin fin que ejecuta los siguientescomandos:

    1. Lee el Puerto A de entrada y almacena su contenido en la

    variable Entradas

    2. Llama a la Macro Test donde se ejecutan lascomprobaciones descritas anteriormente.

    Salta a la vista que el empleo de Macros, que no dejan de serfunciones o subrutinas, facilita enormemente la compresin de unprograma.

    Figura AN12-19. El programa principal del ejemplo

    AN12-4.9.3 El comando Macro del men principal

    Este comando nos abre una serie de opciones relacionadas con el empleo de las Macros:

    Nuevo. Nos permite definir una nueva Macro. Mostrar. Nos presenta un listado de todas las Macros que hubiera definidas.

    Haciendo clic sobre cualquiera de ellas nos mostrar su composicin. Borrar. Visualiza la lista de Macros disponibles para que seleccionemos

    aqulla que queremos borrar. Editar. Visualiza el contenido de una Macro con objeto de editarla aadiendo,

    modificando o quitando componentes de la misma. Descripcin. Nos permite modificar el texto que describe la funcin de una

    Macro. Exportar. Con esta opcin podemos guardar una Macro sobre un archivo en

    disco. Esto nos permite crear libreras de Macros que pueden ser utilizadasen mltiples proyectos o aplicaciones.

    Importar. Esta opcin permite leer y recuperar desde un archivo en disco lasdistintas Macros que hubiera almacenadas.

    AN12-4.10 Herramienta Macro de Componentes

    FlowCode 4 incluye una serie de componentes o perifricos con los que podemosconstruir, para su simulacin, el circuito elctrico de nuestra aplicacin. Estos componentes secolocan en el Panel de Montaje, en donde se establecen sus propiedades y conexiones con elcontrolador. Cada componente tiene asociadas, segn sus caractersticas, un nmero determinadode funciones o Macros para su control. Ya lo veremos ms adelante.

    Cuando empleamos la herramienta Macro de Componentes y hacemos doble clic sobreella, aparece una ventana de propiedades como la mostrada en la figura AN12-20. En elladisponemos de un listado con todos los componentes que hubiera en ese momento en el panel demontaje y accedemos a todas las funciones asociadas a los mismos. En la figura, vemos que hay

    dos componentes: un interruptor SWITCH(0) y un led LED(0). Al seleccionar por ejemplo, elSWITCH(0), a la derecha, en la ventana Macro, aparecen las funciones a l asociadas. Hay tres:

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    16/38

    AN12-16

    Figura AN12-20. Herramienta de Macro de Componentes

    1. LeerEstado. Lee el estado de la lnea de entrada a la que est conectado elSWITCH(0) y los deposita en la variable de retorno que se indica en el campoValor de Retorno(BYTE).

    2. EsperarHastaAlto. Espera a que la lnea de entrada a la que est conectado

    el SWITCH(0) se ponga a nivel 1. En este momento finaliza la Macro ofuncin, que no retorna ningn valor.3. EsperarHastaBajo. Espera a que la lnea de entrada a la que est conectado

    el SWITCH(0) se ponga a nivel 0. En este momento finaliza la Macro ofuncin, que no retorna ningn valor.

    La figura AN12-21 muestra la misma ventana de propiedades de la herramienta Macro deComponentes. En esta ocasin se selecciona el componente LED(0) donde podemos ver lasfunciones o Macros asociadas a ste:

    1. LEDEncendido. La lnea de salida donde se encuentra conectado el LED(0) se activa.

    2. LEDApagado. La lnea de salida donde se encuentra conectado el LED(0) se desactiva.

    Estas funciones no necesitan de ningn otro parmetro.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    17/38

    AN12-17

    Figura AN12-21. Herramienta Macro de Componentes

    En la figura AN12-22 se muestra un sencilloejemplo que utiliza la herramienta Macro deComponentes para utilizar las funciones o Macros quepermiten controlar, de forma muy sencilla, uninterruptor, el SWITCH(0) y un led, el LED(0). Amboscomponentes se suponen previamente dibujados ydefinidos en el panel de montaje.

    La primera Macro de componentes lee elestado del SWITCH(0) conectado con la lnea RA0, y lodeposita en la variable Entradas. ste se evalamediante la herramienta de decisin.

    Si RA0=0 se ejecuta la funcin LEDApagadocontenida en la Macro de componentes LED(0). Lalnea de salida RB0 se pone a nivel 0 y el led seapaga.

    Si RA0=1 se ejecuta la funcinLEDEncendido contenida en la Macro decomponentes LED(0). La lnea de salida RB0 se pone anivel 1 y el led se enciende.

    Se trata de un bucle sin fin que se ejecutaconstantemente.

    Figura AN12-22. Ejemplo con Macros de Componentes

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    18/38

    AN12-18

    AN12-4.11 Herramienta de Clculo

    Otra herramienta esencial en FlowCode 4 es la llamada Herramienta de Clculo. Permite insertaroperaciones lgico/aritmticas en nuestros programas. La ventana de propiedades se muestra en

    la figura AN12-23.

    En el campo

    Mostrar Nombre podemosescribir el comentario quedeseemos. En el campoClculos describimos losclculos a realizar.

    El botn Variablesnos abre una ventana dondepodemos crear, editar, borrary seleccionar distintasvariables. Con el botn

    Funciones accedemos atodas las funciones lgico/aritmticas disponibles.

    Figura AN12-23. LaHerramienta de Clculo

    En el ejemplo, la variable Salidas se carga con el resultado de multiplicar por tres elvalor de la variable Entradas y sumarle dos.

    AN12-4.12 Herramienta Manipulacin de Secuencia

    La herramienta de Manipulacin de Secuencia permite manipular y operar con cadenasde caracteres ASCII. Su ventana de propiedades se muestra en la figura AN12-24.

    En el campoFunciones de editamoslas operaciones a realizarcon una o varias cadenasde caracteres.

    El botn Variables nospermite crear, borrar,editar o usar variables desecuencia o cadenas.

    El botn Funciones nospresenta una lista contodas las funcionesdisponibles para el manejode secuencias o cadenasde caracteres.

    Figura AN12-24. Herramienta de Manipulacin de Secuencia

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    19/38

    AN12-19

    En el ejemplo de la figura, la variable Cadena1 se carga con la cadena Hola y lavariable Cadena2 con la cadena Mundo. La variable Cadena3 se carga con el resultado deconcatenar las dos cadenas anteriores, por lo que su contenido ser Hola Mundo.

    AN12-4.13 Herramienta de Interrupcin

    FlowCode 4 tambin soporta la activacin/desactivacin de algunas de las interrupcionesms relevantes del microcontrolador seleccionado. En la figura AN12-25 se muestra la ventana de

    propiedades de esta herramienta.

    Figura AN12-25.Herramienta de Interrupciones

    En el campo Interrumpir en seleccionamos la fuente de interrupcin, por ejemplo lainterrupcin externa INT. Aunque no estn disponibles todas las que tiene el controlador, si estnlas ms representativas. Con el botn Propiedades se selecciona el evento deseado para esainterrupcin. Por ejemplo, en el caso de la interrupcin externa INT, podemos seleccionar el flancoascendente o descendente.

    En el campo Llamar al Macro se indica qu Macro o funcin se debe ejecutar cada vezque se produzca la interrupcin. Con el botn Crear Nuevo Macro creamos una nueva funcin.Con el botn OK & Editar Macro editamos el contenido de la Macro. Es decir, dibujamos elorganigrama de tareas que esa Macro debe ejecutar. El funcionamiento es muy similar alempleado en la herramienta de componente Macro.

    AN12-4.14 Herramienta Cdigo C

    En FlowCode, sucede lo mismo que en la mayor parte de lenguajes de alto nivel. Esimposible prever y disear las herramientas y Macros o Funciones necesarias para aprovecharTODOS los recursos del microcontrolador. Puede haber casos en que el lenguaje como tal nopueda realizar ciertas tareas. Por ello, este tipo de lenguajes siempre tienen una puerta abierta quenos permita insertar nuestro propio cdigo fuente en C o en ensamblador, para resolver aquellastareas que FlowCode no pueda realizar directamente. Disponemos as de la herramienta Cdigo C.

    La ventana de propiedades de esta herramienta es muy sencilla y se muestra en la figuraAN12-26. Simplemente consiste en un editor de textos donde escribimos nuestro programaempleando instrucciones del lenguaje C o del lenguaje ensamblador.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    20/38

    AN12-20

    Figura AN12-26. Herramienta para insertar cdigo C o ensamblador

    AN12-4.15 Herramienta de Comentarios

    Es la ltima herramienta de comandos que dispone FlowCode 4. Su ventana depropiedades se muestra en la figura AN12-27 y consiste simplemente en un rea donde podemosinsertar todo tipo de textos que describan el programa y facilite su comprensin y anlisis.

    Figura AN12-27. Herramienta de Comentarios

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    21/38

    AN12-21

    AN12-5 HERRAMIENTAS DE COMPONENTES

    El programa FlowCode 4 integra un buen nmero de componentes y perifricos que nospermiten disear el esquema elctrico de nuestra aplicacin, y simular el funcionamiento de lamisma. Todos y cada uno de los componentes se dibujan sobre el panel de montaje y disponen deuna serie de Macros o funciones que permiten hacer uso de los mismos de forma rpida y sencilla.Nuestro programa de aplicacin accede y hace uso de las diferentes funciones relacionadas conlos componentes, mediante la herramienta de comandos Macro de Componente, tal y como se

    explic en el apartado AN12-4.10.

    AN12-5.1 Clasificacin de los componentes

    Para acceder a los componentes es necesario tener habilitado el panel de montajemediante el comando VerPanel y la barra de componentes mediante VerHerramientas decomponentes. sta se presenta en la figura AN12-28.

    Figura AN12-28. El Panel de montaje y las herramientas de componentes

    Los componentes se organizan en nueve grupos que se seleccionan mediante otros

    tantos botones de la barra de componentes. Al pulsar uno de ellos, se despliegan los componentesdisponibles. Cada componente colocado en el panel de montaje, as como el propio panel, tieneuna serie de propiedades y caractersticas que se pueden ajustar en la ventana de Propiedades delos componentes. sta se activa/desactiva mediante VerPanel Properties.

    AN12-5.1.1 Objets

    Contiene componentes con los que disear el aspecto y la esttica del panel de montaje.

    Texto. Permite escribir texto en el panel de montaje para establecer etiquetas, rtulos, signos, etc.,en nuestro circuito.

    Imagen. Podemos importar una imagen desde el disco, para colocarla en el panel de montaje.Forma. Dibuja figuras geomtricas como cuadrados, crculos, elipses, etc.Bisel. Dibuja formas biseladas sobre el panel.Lnea. Dibuja lneas rectas en el panel de montaje.

    AN12-5.1.2 Common

    Aqu se agrupan los componentes o perifricos utilizados con mayor frecuencia.

    Led. Coloca un led en el panel de montaje.LEDarray. Coloca una barra de hasta ocho diodos leds.SWITCHbank. Coloca un banco de hasta ocho interruptores.

    SWITCH. Interruptor sencillo.ADC. Coloca un potencimetro para emular una entrada analgica.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    22/38

    AN12-22

    LCDDisplay. Inserta una pantalla LCD alfanumrica.

    AN12-5.1.3 Inputs

    Contiene componentes o perifricos tpicos de entrada. Algunos son los mismos que losque haba en el grupo Common.

    KeyPad. Teclado matricial de hasta 4 x 4.

    SWITCHbank. Coloca un banco de hasta ocho interruptores.SWITCH. Interruptor sencilloADC. Coloca un potencimetro para emular una entrada analgica.

    AN12-5.1.4 Outputs

    Contiene componentes o perifricos tpicos de salida. Algunos son los mismos que losque haba en el grupo Common.

    Led7seg. Coloca el clsico display de 7 segmentos con punto decimal.Led. Coloca un led en el panel de montaje.

    LEDarray. Coloca una barra de hasta ocho diodos leds.gLCD. Pantalla grfica.LCDDisplay. Inserta una pantalla LCD alfanumrica.Led7seg4. Inserta un conjunto de 4 displays de 7 segmentos conectados en paralelo.

    AN12-5.1.5 Comms

    Este grupo contiene componentes destinados a los diferentes modos y protocolos decomunicacin.

    LinMaster. Este componente permite hacer uso de Macros y funciones que implementan elprotocolo Lin en modo Master para la transferencia de datos.

    SPI_Legacy. Este componente permite hacer uso de Macros y funciones que implementan elprotocolo SPI para la transferencia de datos.One_Wire. Este componente permite hacer uso de Macros y funciones que implementan elprotocolo One_Wire para la transferencia de datos.I2C_Master. Este componente permite hacer uso de Macros y funciones que implementan elprotocolo I2C en el modo Master para la transferencia de datos.CAN2. Permite hacer uso de Macros y funciones para realizar transferencia de datos segn elprotocolo CAN2.RS232. Este componente permite hacer uso de Macros y funciones que implementan el estndarRS232 para la transferencia de datos.Lin_Slave. Este componente permite hacer uso de Macros y funciones que implementan elprotocolo Lin en modo Slave para la transferencia de datos.CAN. Permite hacer uso de Macros y funciones para realizar transferencia de datos segn elprotocolo CAN.

    AN12-5.1.6 Wireless

    Estos componentes y sus correspondientes funciones o Macros permiten realizartransferencia de datos sin cables.

    IrDA Comunicacin mediante infrarrojos.RFID. Identificacin por radiofrecuencia.Zigbee. Comunicacin por radiofrecuencia segn el protocolo Zigbee

    Bluetooth. Comunicacin por radiofrecuencia segn el protocolo Bluetooth.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    23/38

    AN12-23

    AN12-5.1.7 Peripheral

    Sus componentes, junto con las Macros y Funciones que poseen, permiten implementardistinto tipos de perifricos y dispositivos.

    USBSerial. Permite implementar un dispositivo USB para la comunicacin serie.TCP_IP. Permite la transferencia de datos segn el estndar TCP_IP.USBHID. Permite implementar un dispositivo USB como dispositivo de interface humano (HID).

    MIDI. Usado para la comunicacin en tiempo real entre diferentes dispositivos como controladoresmusicales o instrumentos.FAT16. Este componente est diseado para usarse junto con tarjetas de memoria MMC/SD paraconfigurar el sistema de localizacin de archivos (FAT) y empleo de los mismos.WebServer. Con este componente podemos disear aplicaciones basadas en servicios de pginasweb.USBSlave. Permite implementar un dispositivo USB esclavo.

    AN12-5.1.8 Mechatronics

    Contiene componentes auxiliares

    Stepper. Para la simulacin de aplicaciones que controlan un motor paso a pasoPWM. Componente cuyas Macros o funciones podemos emplear para generar y visualizar sealesPWM moduladas en anchura.Speech. Permite el diseo de aplicaciones con sntesis de voz.Servo. Para la simulacin de aplicaciones que controlan un servo motor.

    AN12-5.1.9 Misc

    En este grupo encontramos una serie de componentes varios

    Custom2. Componente n 2 para ser definido por el usuario

    Custom. Componente n 1 para ser definido por el usuarioMIAC. Es un componente diseado por Matrix Multimedia. Representa a un panel de control depropsito general que fabrica y comercializa Matrix Multimedia.FormulaFlowcode. Este componente emula al robot FormulaFlowcode que fabrica ycomercializa Matrix Multimedia.EEPROM. Con este componente podemos realizar aplicaciones basadas en la EEPROM de datosdel controlador.GPS. Este componente emula al GPS que fabrica y comercializa Matrix Multimedia.

    AN12-5.2 Configuracin y uso de los componentes

    Ya hemos hecho una breve descripcin de todos los componentes que posee FlowCode 4para confeccionar, sobre el panel de montaje, el esquema elctrico de nuestra aplicacin. Ahoravamos a explicar cmo configurarlos para que puedan ser usados por nuestros programas.Debemos seguir tres pasos elementales.

    AN12-5.2.1 Uso del componente

    Cualquier componente que hayamos colocado en el panel de montaje puede ser usadopor nuestro programa mediante el icono Herramientas de componentes. Con l podemosseleccionar cualquiera de ellos as como la Macro o funcin que deseamos ejecutar de entre todaslas disponibles.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    24/38

    AN12-24

    AN12-5.2.2 Establecer las conexiones del componente

    Lo siguiente que debemos establecer son las conexiones de ese componente con laspatillas de E/S delmicrocontrolador. Lo

    seleccionamos en elpanel de montajehaciendo clic con elbotn derecho delratn y elegir laopcin Conexiones.Esto mismo tambinse puede hacerdesde la ventana dePropiedades delpanel de montaje.

    Supongamos que seha seleccionado undisplay de 7segmentos. Apareceuna ventana deconexiones como lamostrada en la figura

    AN12-29.

    Figura AN12-29. Estableciendo conexiones de un display de 7 segmentos

    En el ejemplo, la patilla comn del display (el nodo o el ctodo) se conecta con la lnea 0del Puerto A y los segmentos a:dp con las lneas 0 a 7 del Puerto B. Mediante el botn Asignacinde Teclas podemos establecer qu teclas del teclado del PC podemos utilizar para estimular alcomponente cuando el programa se encuentra en ejecucin de simulacin.

    No todos los componentes necesitan siempre las mismas conexiones. Habr algunos quese conectan mediante una nica patilla, otros, mediante dos y otros mediante diez. En cualquiercaso la ventana de conexiones ser similar a todos ellos.

    AN12-5.2.3 Establecer las propiedades externasdel componente

    Esto lo hacemos seleccionando el componente,haciendo clic con el botn derecho del ratn, yeligiendo la opcin Propiedades ext. Tambin desdela ventana de propiedades del panel de montaje. Cadacomponente tiene sus propias propiedades. En el casode un display de 7 segmentos nos aparece unaventana como la mostrada en la figura AN12-30.

    Podemos seleccionar el color de los segmentos, eltamao del display y si es de nodo o ctodo comn.

    Figura AN12-30. Propiedades del display de 7segmentos

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    25/38

    AN12-25

    A modo de ejemplo, en la figura AN12-31, se muestra la ventana de propiedades de unclsico perifrico o componente de entrada como es un sencillo interruptor. Podemos seleccionarde entre varios tipos: oscilante, basculante, rotatorio, pulsante, etc. Tambin debemos establecer siel mecanismo tiene o noenclavamiento.

    En el campo Polaridadestablecemos si el

    interruptor es activo pornivel 1 o por nivel 0cada vez que se acciona.Incluso podemosdeterminar, en el campoSupresin de rebotes,una temporizacin en milisegundos para evitar losrebotes clsicos decualquier dispositivoelectromecnico.

    Por supuesto, podemosseleccionar el tamaocon el que se ver sobreel panel de montaje.

    Figura AN12-31. Propiedades de un interruptor

    En el caso de utilizar una pantalla LCD alfanumrica, sus propiedades seran las

    mostradas en la figura AN12-32.

    Establecemos el tamao oconfiguracin de la pantalla.Por ejemplo, de 16 caracterespor fila y 2 filas (16x2).Tambin determinamos eltamao del texto o carcter,por ejemplo, 20 pixels.

    Y por supuesto, tambinpodemos establecer el colorde fondo as como el color delcarcter. En el ejemplo seconfigura una pantalla defondo azul con letras blancas,igual que la del laboratorioUSB-PICSchool.

    Figura AN12-32. Propiedades de la pantalla LCD

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    26/38

    AN12-26

    AN12-6 EJEMPLOS

    Con objeto de familiarizarnos con el uso y las ventajas del lenguaje de programacinFlowCode, vamos a presentar unos sencillos ejemplos que iremos desarrollando paso a paso.Manos a la obra!

    AN12-6.1 EJEMPLO 1

    Se trata de leer un interruptor conectado a la entrada RA0. Si est a nivel 0 se activa unled conectado a la lnea RB0 de salida. Si est a nivel 1 se activa un led conectado a la lnea RB1de salida.

    AN12-6.1.1 El montaje elctrico

    En el panel de montaje distribuimos los componentes quevamos a utilizar ms o menos como se muestra en la figura AN12-33.Empleamos dos leds y un interruptor. Recordar que para cadacomponente debemos definir sus propiedades (color, tamao, forma,etc.). Para ello hacemos clic con el botn derecho y seleccionamos la

    opcin Propiedades ext. Tambin hay que establecer las conexiones.Hacemos clic con el botn derecho y seleccionamos la opcinConexiones. Mediante el componente Texto colocamos las etiquetasRB1, RB0 y RA0. Con las propiedades Texto podemos definir su color,tamao, estilo, etc.

    Figura AN12-33. Montaje del Ejemplo 1AN12-6.1.2 El programa

    En el rea de trabajo hemos confeccionado elorganigrama que se muestra en la figura AN12-34.Responde a las expectativas del ejemplo y, porsupuesto, se podra haber resuelto de mltiplesformas.

    Todos los iconos o comandos que forman elprograma se encuentran dentro de un bucle sin fin.Haciendo doble clic sobre cada uno de ellos podemosver y/o editar sus correspondientes propiedades.

    El programa empieza leyendo el estado delPuerto A que va a parar a la variable Entradas. Sieditamos esta herramienta de comando observamosque la lectura se realiza en el modo de bit nico, el bit0 del Puerto A. A continuacin el comando de Tomade decisin evala si el valor de la variable Entradas(el estado de RA0) es igual o no a 0. En casoafirmativo el flujo de ejecucin se desva por laderecha. En caso negativo sigue su curso.

    En cada caso se ejecuta el comandocorrespondiente Salida. En un caso por el Puerto Bse activa el bit RB0 y desactiva el bit RB1, y en el otrocaso se desactiva RB0 y se activa RB1. La salida porel Puerto B se realiza enmascarando los bits 0 y 1.Podemos hacer doble clic en cada herramientaSalida para ver y/o editar sus propiedades.

    Figura AN12-34. El organigrama del ejemplo 1

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    27/38

    AN12-27

    AN12-6.1.3 Simulacin

    Una de las grandes aportaciones de FlowCode 4 es el poder simular en el PC elcomportamiento del programa. Para ello disponemos de los botones mostrados en la siguientefigura AN12-35.

    Ejecutar. Simula la ejecucin del programa en su totalidad. Podemos interactuar con loscomponentes del panel de montaje para observar el desarrollo de dicho programa.

    Pausar. Detiene la simulacin de la ejecucindel programa. Mediante el botn Ejecutar sereanuda la ejecucin desde donde se detuvo.Detener. Detiene la simulacin de la ejecucindel programa. Mediante el botn Ejecutar laejecucin comienza desde el principio.Entrar. Simula la ejecucin de los comandospaso a paso, uno tras otro.Saltar. Igual que Entrar excepto que todos loscomandos contenidos en una Macro se simulanejecutar en tiempo real.

    Figura AN12-35. Botones para la simulacin

    Cuando se entra en el modo de simulacin se abren dos nuevas ventanas. La ventanaVariables nos permite aadir las variables de nuestro programa, cuyo contenido queremosvisualizar y/o modificar, segn se va ejecutando y desarrollando el mismo. La ventana Pila dellamadas simplemente visualiza las distintas Macros o funciones segn se van llamando desde elprograma principal.

    Llegado a este punto, basta con pulsar el botn Ejecutar para ver cmo se desarrollanuestro programa. Haciendo clic sobre el interruptor que hemos puesto en el panel de montaje, losleds deben cambiar de estado.

    AN12-6.1.4 Grabacin

    No debemos olvidar que lo realizado hastaahora no es ni ms ni menos que unasimulacin. Es el momento de comprobar elfuncionamiento real del programa. Para ello,procederemos a compilarlo, ensamblarlo ygrabarlo fsicamente sobre la memoria deprograma del microcontrolador, elPIC16F886. Disponemos de los botonesmostrados en la figura AN12-36.

    Figura AN12-36.Botones de ensamblado ygrabacin

    Compilar. Consiste en traducir cada icono o comando del organigrama de nuestro ejemplo en elequivalente programa fuente en C. Nos crea un fichero con el mismo nombre pero con la extensin*.C.

    Ensamblar. A partir del programa fuente en C (*.C) se obtiene el equivalente programa fuente enensamblador con extensin *.ASM. A partir del *.ASM se obtiene el programa ejecutable *.HEX.ste es el fichero ejecutable que debemos grabar en la memoria del controlador. Para ello

    podemos utilizar cualquiera de los innumerables grabadores comerciales que existen en elmercado.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    28/38

    AN12-28

    Grabar Chip. Este botn realiza todos los pasos anteriores de forma consecutiva y automtica. Apartir del organigrama se crea el *.C. De aqu se obtiene el *.ASM y de ste se obtiene elejecutable *.HEX. No slo eso. Con este botn se procede tambin a grabar directamente elcontrolador. Para ello es necesario tener conectado uno de los que admite el propio FlowCode 4.El PICkit-2 es uno de ellos y es compatible con nuestro USB-PICSchool!

    En otras palabras, una vez desarrollado el organigrama de nuestra aplicacin y, si

    disponemos de uno de los grabadores admitidos por FlowCode 4, basta con pulsar el botnGrabar Chip para realizar todo el proceso automticamente. La fotografa de la figura AN12-37muestra la ejecucin del ejemplo sobre el laboratorio USB-PICSchool.

    Figura AN12-37. Ejecucin sobre USB-PICSchool

    AN12-6.2 EJEMPLO 2

    En este ejemplo vamos a producir una intermitencia sobre

    un led conectado a la lnea de salida RB0 del Puerto B. Lafrecuencia se establece mediante un potencimetro conectado conel canal analgico de entrada RA0/AN0.

    AN12-6.2.1 El montaje elctrico

    En el panel de montaje realizamos el circuito mostrado enla figura AN12-38. Definimos las conexiones haciendo clic con elbotn derecho y seleccionando la opcin Conexiones. Elcomponente ADC (potencimetro P1) se conecta con RA0/AN0 y elled en RB0

    Figura AN12-38. Montaje del Ejemplo 2

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    29/38

    AN12-29

    Tambin hay que definir las propiedades de cada componente para establecer su color,forma, tamao, etc. Hacemos clic con el botn derecho y seleccionamos la opcin Propiedadesext. En la figura AN12-39 vemos las propiedades que hemos establecido para el componente

    ADC (potencimetro P1).

    Figura AN12-39. Propiedades del ADC (potencimetro)

    En el campo Tiempo se establece el nmero de ciclos de programa que se deben

    esperar para el muestreo y retencin (Sample&Hold) antes de iniciar la conversin. En Velocidadde conversin se establece la velocidad a la que trabajar el convertidor (FOSC/8). En OpcinVref seleccionamos el tipo de tensin de referencia y en Tensin Vref el valor de la misma.

    Tambin seleccionamos el tipo depotencimetro (Deslizador), su estilo, y sutamao. En el campo Etiqueta podemosponer la referencia del componente (P1).

    La figura AN12-40 muestra laspropiedades seleccionadas para el led:forma y color. Tambin se establece la

    polaridad. Esto es, el nivel lgico con elcual se debe activar el led. En el ejemplose activa mediante nivel 1.

    Con las barras deslizantes horizontal yvertical ajustamos el tamao deseado.

    Figura AN12-40. Propiedades delcomponente led

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    30/38

    AN12-30

    AN12-6.2.2 El programa

    El organigrama de este segundo ejemplo se muestra en la figuraAN12-41. En primer lugar se emplea la herramienta Macro decomponente. Nos muestra un listado con todos los componentes quehaya en el panel de montaje (el potencimetro ADC y el led).Seleccionamos el ADC y nos muestra todas las funciones disponiblespara l. En el ejemplo se ha seleccionado la funcin leercomoint(). Lee

    el resultado de la conversin como un nmero entero de 16 bits y loalmacena en la variable Entradas.

    Seguidamente se ejecuta una Macro o funcin que hemosdesarrollado nosotros mismos y cuyo nombre es Pulso_en_RB0. Estarutina se encarga de que la salida RB0 pase de nivel 0 a nivel 1 yvuelta al nivel 0 inicial.

    Los dos comandos que forman nuestro programa, la lectura delADC y la funcin Pulso_en_RB0, se encuentran dentro de un bucle quese ejecuta indefinidamente.

    Figura AN12-41. El organigrama del ejemplo 2

    En la figura AN12-42 se muestra el organigramacorrespondiente a la funcin Pulso_en_RB0 quehemos desarrollado para la ocasin.

    Utilizamos la herramienta Macro de componentes endos ocasiones. En ambas se selecciona elcomponente led. En la primera de ellas se ejecuta lafuncin LEDEncendido() para activar el led y en lasegunda LEDApagado()para desactivarlo.

    Tras ellas se ejecutan sendos comandos detemporizacin. Consiste en mantener encendido yapagado el led tanto tiempo como establezca lavariable Entradas. sta se carg con el valorprocedente del componente ADC (potencimetro) enel programa principal. En otras palabras, la frecuenciade la intermitencia depende del valor analgicointroducido con ese componente.

    ste es un buen ejemplo que ilustra el uso de lasMacros, funciones o subrutinas definidas por elusuario, haciendo que el programa principal sea mssencillo y legible.

    Figura AN12-42. Macro Pulso_en_RB0

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    31/38

    AN12-31

    AN12-6.2.3 Simulacin

    Mediante el botn Ejecutar procedemos a simular el funcionamiento del programa. El leden el panel de montaje debe parpadear a una frecuencia variable. Movemos el potencimetro P1para variar dicha frecuencia. La ejecucin se detiene al pulsar el botn Detener.

    ste tambin es un buen ejemplo para familiarizarnos con la ejecucin paso a paso quenos ofrece FlowCode 4. Mediante el botn Entrar vemos cmo se van ejecutando todas las

    instrucciones, una tras otra. Incluso cuando toca ejecutar la Macro o funcin Pulso_en_RB0,observamos cmo se van ejecutando las instrucciones que contiene. Podemos experimentartambin con el botn Saltar. ste tambin ejecuta paso a paso todas las instrucciones exceptolas Macros, que se ejecutan en tiempo real sin detenerse en cada una de las instrucciones que lascomponen.

    En la ventana Variables visualizamos el contenido de la variable Entradas. Dichocontenido se ver modificado cada vez que se ejecute la Macro de Componentes Leer ADC(0) yse mueva el cursor del potencimetro.

    AN12-6.2.4 Grabacin

    Si disponemos del laboratorio USB-PICSchool alimentado y conectado a un puerto USBpodemos grabar directamente el microcontrolador con el programa del ejemplo. Basta pulsar elbotn Grabar Chip. Con esta sencilla accin el FlowCode traduce nuestro programa escrito enlenguaje grfico, a lenguaje fuente en C (*.C). De aqu lo pasa a lenguaje ensamblador (*.ASM), loconvierte en ejecutable (*.HEX) y lo transfiere a la memoria del PIC.

    Sobre el laboratorio realizamos las conexiones elctricas correspondientes al montaje delejemplo y observamos su ejecucin, tal y como se muestra en la fotografa de la figura AN12-43.

    Figura AN12-43. Ejecucin del Ejemplo 2 sobre el USB-PICSchool

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    32/38

    AN12-32

    AN12-6.3 EJEMPLO 3

    Con este ejemplo vamos a realizar un contador de pulsos. stos seintroducen mediante un pulsador conectado en la lnea de entrada RA0 delPuerto A y se visualizan sobre un display de 7 segmentos conectado a laslneas de salida RB7:RB0 del Puerto B. Se supone un display de nodocomn que se conecta y controla con la lnea de salida RA2 del Puerto A.

    AN12-6.3.1 El montaje elctrico

    En el panel de montaje realizamos el circuito mostrado en la figuraAN12-44. Definimos las conexiones haciendo clic con el botn derecho yseleccionando la opcin Conexiones. El componente pulsador se conectacon RA0. Por otra parte, los siete segmentos del display, a:dp, se conectancon las lneas RB0:RB7. El nodo comn se controla mediante la lneaRA2.

    Figura AN12-44. Montaje del Ejemplo 3

    Definimos ahora las propiedades de cadacomponente para establecer su color, forma,tamao, etc. Hacemos clic con el botnderecho y seleccionamos la opcinPropiedades ext. En la figura AN12-45vemos las propiedades que hemosestablecido para el display de sietesegmentos.

    Los segmentos se visualizan en color azul y

    se selecciona un tamao de 70 unidades.Trabajamos con un display del tipo de nodocomn.

    Figura AN12-45. Propiedades del display

    La figura AN12-46 muestra laspropiedades exteriores seleccionadaspara el pulsador. En Tipo elegimos elmodelo de mecanismo: Pulsador,Bascular, Giratorio, etc.

    En Funcionamiento del indicamos siel mecanismo tiene enclavamiento ono (Temporal). Tambin elegimos,en el campo Polaridad, el nivel activodel pulsador: por nivel bajo o nivelalto. Con la barra deslizanteestablecemos el tamao.

    Figura AN12-46. Propiedades delpulsador

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    33/38

    AN12-33

    AN12-6.3.2 El programa

    El organigrama de este ejemplo se muestra en la figura AN12-47. Enprimer lugar se emplea la herramienta Clculo para ponerinicialmente a 0 la variable Pulsos. A continuacin empleamos laherramienta Macro de componente. Esta herramienta nos muestraun listado con todos los componentes que haya en el panel de

    montaje (el Display y el pulsador). Seleccionamos el Display y nosmuestra todas las funciones disponibles para l. En el ejemplo se haseleccionado la funcin MostrarDigito(). Lee el contenido actual dela variable Pulsos y lo visualiza sobre el Display.

    Seguidamente se ejecuta una Macro o funcin que hemosdesarrollado nosotros mismos y cuyo nombre es Contador. Estarutina se encarga de esperar a que por la entrada RA0, se reciba unatransicin 1-0-1 procedente del pulsador. Cuando esto ocurre, lavariable Pulsos se incrementa en una unidad.

    Los dos comandos que forman nuestro programa, la visualizacin y lafuncin Contador, se encuentran dentro de un bucle que se ejecutaindefinidamente.

    Figura AN12-47. El organigramadel ejemplo 3

    En la figura AN12-48 se muestra el organigramacorrespondiente a la funcin Contador que hemosdesarrollado para este ejemplo.

    Utilizamos la herramienta Macro de componentes endos ocasiones. En ambas se selecciona el componentepulsador SWITCH(). En la primera de ellas se ejecuta lafuncin EsperarHastaAlto() y en la segundaEsperarHastaBajo(). Conseguimos as detectar el momentoen que la lnea a RA0 recibe una transicin o pulso completoprocedente del pulsador en ella conectada.

    Recibido un pulso completo, empleamos elcomponente Clculo para incrementar la variable Pulsos enuna unidad.

    Como nicamente disponemos de un display paravisualizar el estado de la cuenta, necesitamos poner a 0 lavariable Pulsos cuando el nmero de stos sea superior anueve. La cuenta por tanto evolucionar de cero a nueve yvuelta a cero.

    Figura AN12-48. Macro Contador

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    34/38

    AN12-34

    AN12-6.3.3 Simulacin

    Mediante botn Ejecutar procedemos a simular el funcionamiento del programa. En eldisplay la cuenta empieza de cero. Cada accionamiento del pulsador origina un incremento de lacuenta. Observamos que sta va desde cero a nueve y vuelta a empezar de cero. Es decir, hemosconstruido una dcada contadora.

    ste tambin es un buen ejemplo para familiarizarnos con la ejecucin paso a paso que

    nos ofrece FlowCode 4. Mediante el botn Entrar vemos cmo se van ejecutando todas lasinstrucciones, una tras otra. Incluso cuando toca ejecutar la Macro o funcin Contador,observamos cmo se van ejecutando las instrucciones que contiene. Podemos experimentartambin con el botn Saltar. Esta opcin tambin ejecuta paso a paso todas las instruccionesexcepto las que hay en las Macros o funciones, que se ejecutan en tiempo real sin detenerse encada una de ellas.

    En la ventana Variables visualizamos el contenido de la variable Pulsos. Dichocontenido se ver modificado cada vez que se detecte un accionamiento en el pulsador de entrada

    AN12-6.3.4 Grabacin

    Si disponemos del laboratorio USB-PICSchool alimentado y conectado a un puerto USBpodemos grabar directamente el microcontrolador con el programa del ejemplo. Basta pulsar elbotn Grabar Chip. Con esta sencilla accin el FlowCode 4 traduce nuestro programa escrito enlenguaje grfico, a lenguaje fuente en C (*.C). De aqu lo pasa a lenguaje ensamblador (*.ASM), loconvierte en ejecutable (*.HEX) y lo transfiere a la memoria del PIC.

    Sobre el laboratorio realizamos las conexiones elctricas correspondientes al montaje deeste ejemplo. El pulsador E4 se conecta con la entrada RA0 por donde aplicamos los pulsos acontar. Las lneas RB0:RB7 del Puerto B se conectan con los segmentos a:dp del display. Elnodo comn de ste se controla desde la salida RA2. Observamos su ejecucin, tal y como semuestra en la fotografa de la figura AN12-49.

    Figura AN12-49. Ejecucin del Ejemplo 3 sobre el laboratorio USB-PICSchool

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    35/38

    AN12-35

    AN12-6.4 EJEMPLO 4

    Un ltimo ejemplo en el que vamos a emplear el componente LCD para visualizarmensajes.

    AN12-6.4.1 El montaje elctrico

    En el panel de montaje realizamos

    el circuito mostrado en la figura AN12-50.nicamente consta de una pantalla LCDalfanumrica de 2 lneas y 16 caracterespor lnea.

    Figura AN12-50. Montaje del ejemplo 4

    Como se muestra en lafigura AN12-51, definimoslas conexiones haciendoclic con el botn derechoy seleccionando la opcin

    Conexiones. Las lneasde datos Data1:Data4 delcomponente LCD seconectan con las lneasRB0:RB3 del Puerto B.

    La seal RS se controladesde la salida RA3 delPuerto A y la seal deactivacin de la pantallaLCD desde la salida RA1.

    Figura AN12-51. Montajedel Ejemplo 4

    Tambin hay quedefinir las propiedades delcomponente para establecersu color, forma, tamao, etc.Hacemos clic con el botnderecho y seleccionamos laopcin Propiedades ext. Enla figura AN12-52 vemos laspropiedades que hemosestablecido para la pantallaLCD. El tamao de la pantallaes de 16x2 (2 lneas de 16caracteres). El tamao decada carcter se ajusta a 20pixels. El color de loscaracteres se fija en blanco yel color de fondo de lapantalla se establece en azul.

    Figura AN12-52. Propiedades de la pantalla LCD

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    36/38

    AN12-36

    AN12-6.4.2 El programa

    El organigrama de este ejemplo se muestra en la figura AN12-53.Bsicamente se emplean las funciones contenidas en laherramienta Macro de Componentes relativas a la gestin de lapantalla LCD (LCDDisplay(0)).

    La primera funcin que se ejecuta es Iniciar(). Se encarga deconfigurar los puertos de E/S a los que est conectada la pantalla,segn las propiedades de conexiones establecidas. Tambinejecuta la secuencia de inicializacin establecida por su fabricante.

    La segunda funcin es ImprimirCadena(). Es capaz de escribir, enla posicin actual del cursor, la cadena ASCII indicada (cerradaentre comillas) o el contenido de una variable de cadena. En estecaso visualiza la cadena FlowCode 4: Otra.

    La tercera funcin, Cursor(), coloca el cursor en la posicin

    deseada. En el ejemplo la posicin 0 de la lnea 1 (1 posicin de la2 lnea).

    La cuarta funcin es tambin ImprimirCadena(). En esta ocasinimprime, en la posicin actual del cursor, la cadena forma detrabajo.

    El programa entra finalmente en un bucle infinito

    Figura AN12-53. El organigrama del ejemplo 4

    AN12-6.4.3 Simulacin

    Mediante el botn Ejecutar procedemos a simular el funcionamiento del programa. En lapantalla LCD situada en el panel de montaje aparecen los dos mensajes indicados anteriormente.

    AN12-6.4.4 Grabacin

    Si disponemos del laboratorio USB-PICSchool alimentado y conectado a un puerto USB,podemos grabar directamente el microcontrolador con el programa del ejemplo. Basta pulsar elbotn Grabar Chip. Con esta sencilla accin el FlowCode 4 traduce nuestro programa escrito enlenguaje grfico, a lenguaje fuente en C (*.C). De aqu lo pasa a lenguaje ensamblador (*.ASM), loconvierte en ejecutable (*.HEX) y lo transfiere a la memoria del PIC.

    Sobre el laboratorio realizamos las conexiones elctricas correspondientes al montaje deeste ejemplo. RB0:RB3 se conectan con las patillas L4:L7 de la pantalla. La seal RS de control seconecta con la salida RA3 y la de activacin con RA1.

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    37/38

    AN12-37

    FlowCode 4 no contempla la gestin de la seal R/W que tiene toda pantalla LCD. Esnecesario conectar esta patilla a GND. La fotografa de la figura AN12-54 muestra la ejecucin delejemplo sobre el laboratorio.

    Figura AN12-54. Ejecucin del Ejemplo 4 sobre el laboratorio USB-PICSchool

  • 7/14/2019 96770635 Tutorial Flowcode 4 Espanol

    38/38