0% found this document useful (0 votes)
87 views37 pages

Manual Flowcode2

Manual Flowcode2

Uploaded by

JhoniJerez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
87 views37 pages

Manual Flowcode2

Manual Flowcode2

Uploaded by

JhoniJerez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 37
DE PROGRAMAR AN12-1 INTRODUGGION Efectivamente, tal y como reza el titulo del presente Anexo, vamos a ver otra forma de programar microcontroladores PIC empleando un nuevo lenguaje, el “FlowCode", de Matrix Multimedia Limited (www.matrixmultimedia.com), Se trata de un lenguaje grafico orientado a icones con los que el programador disefia su programa de aplicacién descrbiendo el organigrama o diagrama de flujo del mismo. Aunque aconsejable, no se hace necesario tener grandes conocimientos de electronica ni de micracontroladores, por lo que es un lenguaje destinado a practicamente todo tipo de usuarios aficionados, estudiantes de ESO, Formacién Profesional tanto en grado medio como en grado superior, ingenierias, profesionales, investigadores y desarrolladores de aplicaciones. La gran ventaja de FlowCode 4 es que permite, con unos minimos conocimientos, crear complejas sistemas electronicos en muy poco tiempo. AN12-1.1 Ventaias Son muchas las ventajas que ofrece el emplea de un lenguaje came el FlowCode 4 + Ahorre de tiempo y dinero. FlawCade 4 facilita el disefia rapido de sistemas y aplicaciones basadas en microcontroladores (en nuestro caso los PIC's) + Sencillo interface de usuario. Bast simplemente con coger iconos y arrastrarlos sobre el area de trabajo para confeccionar un diagrama de fluja que responda a las necesidades de la aplicacidn. No es necesario escrbir un programa de la forma tradicional, instruccidn a instruccion, como lo hemos venido haciendo en les ejemplos que se han propuesta en la obra * Rapido y flexible. FlowCode 4 integra un gran numero de subrutinas de alto nivel para la gestian de diversos componentes, lo que facilita un répido desarrollo de cualquier aplicacién. El método de programacién de FlowCode 4 permite el uso de précticamente todos los recursos que integra el microcontrolador. * Resultado libre de errores. Cuando se disefia un programa, su funcionamiento se puede simular totalmente sobre el PC. El ejecutable obtenido se puede grabar directamente sobre la memoria de programa del microcontrolador. + Arquitectura abierta. FlowCode 4, al igual que Ia mayor parte de los lenguajes graficas y/o de alto nivel, ofrece una puerta abierta para que el usuario pueda insertar sus propias funciones o subrutinas escritas en ensamblador o en C. AN12-1.2 Caracteristicas Las mas relevantes son: * Soporta diferentes microcontroladores. Segin la version elegida, FlowCode 4 puede trabajar con dispositives PIC, AVR, Atmel y ARM. El presente Anexo se refiere a la version para PIC's + Soporta diferentes sistemas de comunicacién. FlowCode 4 integra las funciones necesarias para implementar comunicaciones segin diferentes estandares o protocolos: I2C, SPI, RS232, Bluetooth, Zigbee, IDA, CAN, LIN, TCPIP, Webserver, USB y RFID. * Soporta componentes estandar. Efectivamente, FlowCode 4 integra las funciones necesarias para el control de los componentes mas tipicos usados en cualquier aplicacisn: LEDs, interruptores, teclados, pantallas, LCD de texto y graficas, sensores, displays de 7 segmentos, memorias EEPROM dispositivos de comunicacién, etc. * Panel de montaje. Donde colocamos y conectamos los componentes que forman parte de nuestra aplicacién y que seran contralados desde nuestra programa. Permite la simulacion del funcianamiento de los mismos. + Soporta diferentes herramientas. Una vez compilado y ensamblado el diagrama de flujo de nuestra aplicacian, el programa ejecutable abtenide se puede descargar direciamente sobre nuestro micracontrolador mediante heramientas hardware coma pueden ser el PICkit 2 (jcompatible con el laboratorio USB-PIG-Schooll) o el PIGKit 3. de Microchip. AN12-1.3 Versiones de FlowCode 4 FlowCade 4 se puede adquirir en diferentes versiones, independientemente del modelo de microcontrolador que vaya a ser usado: + La versién libre. Se puede descargar de forma gratuita desde la web del fabricante (wweematrixmultimedia.com). Es ideal para poder evaluar el producto sin coste ni compromiso alguno. + La versién de estudiante o “Home”. Es bastante econdmica y esta especialmente dirigida a estudiantes y aficionados. Es una buena alternativa para todos aquellos usuarios que quieran comenzar a utilizar esta técnica de programacion y, sobre todo, para aquellos que desean familiarizarse con el habito de programar. * La version “Pro” profesional. Es la version completa de FlowCode 4, sin ningun tipo de limite ni restricciones. Admite la mayor parte de dispositivos PIC asi como todos los componentes e iconos. No tiene limite en el codigo generado. La siguiente tabla resume las caracteristicas de cada una de estas tres versiones. Gee VERSION LIBRE | VERSION HOME VERSION PRO leonos ilimitados NO si si Limite del eSdigo generado 2K. 4K NINGUNO Todos los dispositivos NO si Si Todos los componentes: NO NO si Depuracién en circuito (requiere NO) NO si hardware adicional) Licencia para use comercial NO NO si Derechos sobre el codigo NO. NO si AN12-1.4 Trabajar con FlowCode 4 La mecanica de trabajo con FlowCode 4 es muy similar a la empleada con cualquier otra lenguaje’ * Disefio del programa fuente. Simplemente cogiendo y arrastrando los diferentes iconos de comandos disponibles, vamos dibujando el organigrama 0 diagrama de flujo de nuestra aplicacién. Haciendo clic sobre esos iconos de comandos podemos ajustar los diferentes pardmetros y propiedades asociados a ellos. El diseno de programas complejos se realiza rapidamente, + Disefio del sistema. FlowCode 4 disgone de una gran variedad de periféricos tipices como leds, interruptores, pantallas LCD, etc. En el panel de monigje podemos colocar los que necesitemos en nuestra aplicacién y asignarles sus cormespondientes propiedades y conexiones. Es decir podemos realizar el monigje del circuito eléctrico. * Simulacién del programa. FlowCode 4 dispone de heramientas para la simulacién y depuracién de nuestro programa. Pademos ejecutar el programa paso 2 paso, icono a icono, analizer los resultados obtenidos sobre los componentes del sistema, editar y/o visualizar las variables del programa 0 ejecutar la simulacién en tempo real. Comprobamos el correcto funcionamiento interactuando directamente con los componentes que hemos colocade en el panel de montaje. * Descargar y grabar el micracontrolador. Con un unico botén pademos compilar, ensamblar y grabar el programa ejacutable obtenide sobre la memoria fisica del micracontrolador. FlawCode 4 se puede conectar directamente con el laboratoria USB-PIC'Schaol (compatible con PICkit 2), cuyo dispositive PIC recibird el programa para una ejecucién real y definitive. AN12-1.5 Instalacién de FlowGode 4 Excepto la versién libre, que se descarga directamente desde la web del fabricante, las versiones Home y Pro se presentan en un COROM. Basta con ejecutar el programa de instalacion y Seguir las instrucciones que van apareciendo. Una vez instalado el programa, se permite su uso durante 30 dias como maximo antes de ser activado. De no hacerla asi dejar de funcionar y el usuario debera contactar con Matrix Multimedia para adquirir un nuevo codigo. El proceso de activacian es sencilla: 1. Durante la instalacion de FlowCade, se pide introducir el oddiga de licencia que acomparia al CDROM. Se le denomina “Codigo CD’. 2. Al ejecutar FlowCode hacemos clic en el botdn “Activate Jicense’. Esto nos abre la pagina web de activacion del fabricante, donde se nos pide el nombre de usuario y una direccién valida de coren electronica. 3. Al tiempo se recive un email de confirmacién 4. Transcurridos unos dias como maximo, se recibe un nuevo email con un cédigo permanente de licencia al que se le denomina “Cadigo de registro’ Este cadigo se introduce a través del mend Helo Register. Si, por algun motivo, el proceso de instalacién fallara, se debe contactar con suppor @matrixmultimedia com e indicar el mensaje de error que nos indique. AN12-2 EJECUGION DE FlowGode 4 Para ejecutar el FlowCode basta con hacer clic en su correspondiente acceso directo del escritorio de nuestra PC. Transcurrdo cierto tiempa, nos aparece el area de trabajo tal y como se muestra en la figura AN12-1 El area se divide en diferentes secciones. Cada una de ellas se puede visualizar o no en \a pantalla seleccionandola mediante la opcidn “ Ver’ del ment principal «Mend pri |. Aparece en la linea superior de la pantalla. Contiene las diferentes opciones de trabajo del programa FlowCode. Algunas de estas ‘opciones, como “Archivo’, “Editar’ y “Ver' son comunes a otras aplicaciones Windows. El resto son opciones propias del programa y algunas de ellas las comentaremos en este Anexo. © Caja de Herramientas. Se encuentra justo debajo de las opciones del ment principal. Cantiene, en forma de botones, algunas de las opciones del meni mas utilizadas: Nuevo, Abrir, Salvar, Cortar, Pegar, imprimir, etc. También hay botones para la ejecucién de nuestro pragrama de aplicacién: Ejecutar, Entrar, Saltar, etc. * Herramientas de comandos. Se visualiza en vertical, a la izquierda de la pantalla, Contiene los diferentes iconos con los cules vamos a confeccionar los organigramas a diagramas de flujo correspondientes a nuestro programa de aplicacion. Estos comandos se arrastran y colocan dentro del area de trabajo desde donde se conectan entre si y se establecen los diferentes parametros y prapiedades. + Area de trabajo. Es el area en donde se van colocando tados las iconos 0 comandas que forman el organigrama, se conectan enire si y se establecen sus parametros y propiedades. * Herramientas de componentes. Aparece arriba, justo debajo de Ia caja de heramientas. Gada uno de esos botones nos permite seleccionar de entre un buen numero de dispositivos periféricos que pueden ser utilizados por una aplicacién: dispositivos mas comunes, dispositives de entrada, de salida, de ‘comunicaciones por radiofrecuencia, etc. El componente elegide se coloca sobre el panel de montaje desde donde se definen sus propiedades y conexiones. * Panel de montaje. Es el area donde se iran colocando los componentes y periférices que se emplean en Ia aplicacién. * Propiedades del panel. En esta ventana se editan algunas de las propiedades de los objetos que se encuentran en el panel de mantaje. * Barra de estado. Se visualiza a la izquierda, en la parte inferior de la pantalla, Aparecen peque‘ias mensajes que informan del estado del sistema. Herramientas de componentes Gaja de herramientas Mend principal Herramientas de comandos ITE) Barra de estado “Panel se monte } A oc ABSBESCO GPT Ss Figura AN12-1. La pantalla de trabajo de FlowCode 4 AN12-3 CONFIGURACION Antes de empezar con un nuevo proyecto a aplicacién, conviene configurar una serie de parametros para establecer las condiciones y entorne de trabajo del FlawCade 4 AN12-3.1 Opciones del Compilador Se establece mediante “Chip" > “Opciones del compiladar’. Se abre una ventana como la mostrada en la figura 412-2. Los diferentes campos de esta ventana permiten establecer diferentes parametros, y las rutas que debe utilizar FlowCode para acceder al compilador, el enlazador, el programador, etc. Estos campos vienen establecidos por defecto y se acanseja na modificarlos. En cualquier caso, si lo hiciéramos, siempre disponemos del botén “Restaurar Valores Predeterminados para dejarios en su estado original Especial mencion se merece el campo “Programador resaltado en la figura. Con él se establece el grabador al que FlowCode va a dingir el programa ejecutable, para grabarlo fisicamente sobre la memoria del microcontroladar. En el caso que nos ocupa observamos que se ha seleccionado el PICKit-2. Este grabador, original de Microchip, jes compatible con el USB- PIC'Schooll, que hemos utilizado a lo largo de obra. eee eae eu komt eaten Complador: Ubicacién: [dia\Flowcode V4\BoostC\boosie pic B.floweode.ene Buscar... Parémetios: [-v 4 PIC&D "Xr.c" Editor de enlace / Montador: Ubicacién: [C:\Archives de programa’ Matix Mulimedia\Flowcode Butea... Parémetros: [4d "C: Varchavos de programa Matec Multimedia \Flowe Progtamader - Ubjicacitn: (Mubiromdis\Flowcode V4Moole\PICKR2\k2cmd eee > Busowt.. Panémetros: |-PPIC%p Ff hex -M «85 -T A -BC-Vischevor de progr I Uliizar plogamader para establecer Ise opciones de configuracién Ubicacién: [airix Mutimeda\Flowcode V4\Took\PPPIPPPy3.ene Buscar... Pardmetyos: |-c+ 2 -chip PICXp config Vioualzados de archivo: Ubicacién: [C:\WINDOWS inctepad exe Buscar. Parémnetros: Restauial Valotes Predeterinados Anda Figura AN12-2. Configuracion por defecto def entorne del FlowCode 4 Esta accién, fundamental 2 lo hora de comenzar cualquier proyecto o aplicacién, se realize mediante “Chip” > “Configurar > “Swtich To Expert’. Aparece una nueva ventana como la mostrada en la figura AN12-3. En ella se ajustan parémetras propios del controlador que vayamos a utilizar. En el caso que nos ocupa hemos seleccionado el entranable PIC16F 886. Podemos comprobar que su palabra de — configuracion Queda establecida de forma similar a coma Io hicimas en los ejemplos escritos en ensamblador y en C. icmire Cefleraken (expert) 4.2 Ste) End BAPE TOTAL «6157 le FE Morey Pate od tee TOIL 7 ote Dee Cte aC Teaink SN Dea =] | ict lca Exmotitch Chobe S] Blan nme ee Bie snr stom crust outta NewtiatacePiogen(Ceaied Sd tegen Sages tatgarsbtg [Roa tats Sete tnt izeraen SSS Segtearte oer Goth elton na Sine Fhe he OO Cnty) _ 0 cnt ores el . igura AN12-3, Seleccién y configuracin del microcontrotadar /AN12-3.3 Opciones del proyecto Para acabar. La configuracion exige definir una serie de apciones propias del proyecta con el que vamos a trabajar. Estas se eligen mediante “Ver > “Opciones de Proyecto” que nos abre una ventana como la mostrada en la figura AN12-4. Opciones de proyecto Velocidad del Reio| [Har 4000000 Velocidad de Simaaratne [Lo mas rapide posible > Usar eédigo complementario I> Eliminar eutomécticamente perto guardn F Modoc Opciones ICD. Recuento de pearkos de intemupcsiy fe Plofurrdiad de la pla do taenada rT Velocidad de comunicacisn: faz [7 Anadiae pint ICO Figura AN12-4. Las opciones de un proyecto basada en FlowCode 4 Las opciones generales nos permiten seleccionar el modelo de microcontrolador que se va a emplear durante la simulacién. Por defecto, debe ser el mismo que se eligid mediante "Chip" > “Configurar > “Swtich To Expert’. De igual manera, podemos seleccionar Ia velocidad del relo} del sistema asi como la velocidad que deseamos utilizar durante | simulacién. También hay opciones para la depuracién en circuito o ICD en tiempo real. Estas opciones séla son utiles si disponemos de la herramienta hardware que propone Matrix Multimedia coma es su depurador “FlowKit’. AN12~4 HERRAMIENTAS DE COMANDOS: Son las icanos o simbolos gréficos con las que vamas a confeccionar las arganigramas 0 diagramas de flujo de nuesira aplicacién. Es decir, los comandos se corresponden con tareas concretas con las que vamos a confeccionar los programas. Todas ellas se encuentran en la columna de la izquierda de la pantalla de trabajo. Cuando cualquiera de los icons de comandos se traslada al area de trabajo, queda automaticamente conectado con el resta de iconos existentes. Vamos dibujando asi, pasa 2 paso, el organigrama. Al hacer un doble clic con el botén izquierdo del raton sobre cualquiera de los iconos existentes, se abrir su correspondiente ventana de propiedades en donde estableceremos los diferentes parametros de! camando en cuestidn. Todas las ventanas de propiedades de todas las herramientas de comands disponen de un botdn ("7") que nos facilita la informacién de ayuda correspondiente (en castellano). AN12-4.1 Herramienta Ingreso Permite ejecutar tareas relacionadas con la adquisicin de datos procedentes de los Puertos de entrada del controlador. La figura AN12-5 muestra su icono asi como la ventana de propiedades que se abre, cada vez que hacemos doble clic sobre él. En el campo “Mostrar Nombre" podemes afiadir un comentaria, por ejemplo “Leer entradas", que actare la operacion que vamos a realizar. Es similar a los comentarios que se panen en los programas fuente escritos en ensamblador a en lenguaje C En el campo “Variable’ indicamos en qué variable se va @ guardar el valor leido desde el Puerta de entrada. Podemos pulsar el boton “Variables...” ETERER EE ice} que nos abrira una nueva ventana donde podremos | fost Nombre: [Ler enodar crear, editar y borrar variables de 8 bits, de 16, de cadenas Variable: [Eriodas =] __ Variables. ASCIl o stings y variables para almacenar nimeros en coma Puente: |PUERTOA - flotante Inoreea de En el campo “Puerto” = ae! seleccionamos qué Puerto de Ease entrada del microcontrolador | © Punto Complete: vamos a leer, Segin el madelo de PIC seleccionado, pademos leer desde el PUERTO A hasia el PUERTO X en funcion de los Puertos disponibles. En el ejemplo se lee el Puerto A Figura AN12-5. Herramienia de ingreso La lectura de un Puerto de entrada puede hacerse a nivel de un bit unico o a nivel del puerto completo. En este caso podemos hacer ademas una lectura enmascarada. Es decir, podemos indicar qué bits de ese puerto san los que nos interes leer. En el ejemplo se len los bits 0.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 muastra el icono y la correspondiente ventana de propiedades. En “Mostrar Nombre" = podemos aiiadir el Weert e st ‘comentario deseado. En el campo “Variable o Valor’ introducimos directamente el Vatiable o Valor. [Entradas =] _ Variables. Valor’ de salida:o bien el nombre de Puerto: | PUERTO 8 = la variable que contiene el valor que — deseamos sacar. En el ejemplo sacamos el valor de la variable “Eniradas". Mediante el campo w6 4S “Puerta se i i selecciona el puerta de salida, Puerto B en el ejemplo. Mostrar Nombre: |Activar sabdas Utikeer ate Figura AN12-6. Herramienta de salida La eseritura sobre un Puerto de salida también se puede realizar a nivel de bit unico oa nivel de Puerto completo. En este caso la escritura puede sero no enmascarada. En el ejemplo se escribe unicamente sobre los bits 0, 2 y 3 del Puerto B AN12-4.3 Herramienta de Demora (tem: ién’ Permite realizar todo tipo de temporizaciones basadas en la frecuencia de trabajo del sistema que hemos seleccionado mediante las opciones del proyecto (“Wer" > “Opciones de Proyecto"). Su ventana de propiedades se muestra en la figura AN12-7. Como en todas las herramientas, en el campo “Mostrar Nombre", podemos incluir un comentario. En el campo “Tiempo de Demora o Variable" introducimos el valor a temporizar. Este valor se puede indicar directamente, 13 en el ejemplo, o bien indicande el nombre de la variable que lo contiene. En este caso pulsamos el boton “Variables...” para seleccionarla de entre todas las que estén definidas y disponibles Esta ventana de propiedades también nos permite seleccionar las unidades en que se representa el tiempo: microsegundos, milisegundos o segundos. En el ejemplo se realiza una temporizacién de 13 mS. Dees Mostrar Nombre: [Tempoczar Tie de Da ura AN12-7. Herramienta de =] _Wavses.._| temporizacion © mnicrosegundos = Mifsegundoo AN12. Herramienta de Se trata de la clasica toma de decisiones. Se realiza una determinada evaluacion y, en funcidn del resultado, el flujo de! programa va por un camino o por otro. En la figura AN12-8 82 muestra la correspondiente ventana de propiedades. En el campo “En Casa de Que’ se establece a condician. En el ejemplo de la figura se evalua si el valor de la variable “Entradas” es igual a 1 Esto es equivalente a evaluar sila linea RAQ de la puerta A est a nivel lagica “1” o no. En caso afirmative, el cursa de la ejecucién se desvia por la derecha. En caso contrario la ejecucién p= continua su curso Be era |] Podemos activer (0 no) el campo Moetras Nombre: [RAD Activade 7? ~ ~ | “intercambiar Si y Wo". En este caso el En Caso de Que: [Entradas = 1 Variables... desvio del curso de la ejecucion se T™ Intercambiar Siy No produce si NO se da la condicion establecida. Figura AN12-8, Herramienta de decision Las condiciones pueden estar farmadas por nimeros y/o variables y una de los siguientes operadores: 0 Paréntesis. =, <> Igual a, diferente =. +, 5,4,1, MOD. Adicidn, sustraccién, multplicacién, divisién y médulo. <, <5, 3,32 Menor que, menor que o igual a, mayor que, mayor que o igual a. BR, << Desplazamiento ala derecha, desplazamiento a la izquierda. NOT, AND, OR, XOR —Funciones logicas: NOT, AND, OR u OR exclusiva AN12-4.5 Herramienta de Expresion o decisiones multiples La figura AN12-9 muestra la correspondiente ventana de propiedades. Se trata de una herramienta similar a la anterior herramienta de decisién. La diferencia es que aquélla podia generar dos posibles resultados (Si o No) en funcidn de la evaluacién. En este caso se pueden evaluar hasta once posibles condiciones. Resultan especialmente ttiles a la hora de personalizar el programa para que reaccione de formas diferentes baséndose en una variable de entrada. Dee et et) Figura AN12-9. Herramienta de expresién En el campo “ExpresiGn” se indica el nombre de la variable cuyo contenida se desea evaluar, “Entradas’ en el ejemplo. Los campos “Caso”, cuando se activan, permiten determinar con qué valores hay que comparar el contenido de la variable “Entradas’: 1, 4, 207. Cuando coincide una de elles, el flujo de ejecucian del programa toma un camino u otro. Si no caincide con ninguna, la ejecucion sigue su curso, Esto se aprecia claramente en la figura AN12-10. 1 =4 =2 =7 Tremnpeeien 989 [Tarwpera 4 sg Teeypoita 2 449 Torpanea 7 809 See Figura AN412-10. Evaluando cuatro pasibilidades Se evallia el valor de la variable “Entradas’. Si es igual a 1, se temporiza 1 segundo; si es 4 se temporiza 4 segundos; si es 2 se temporiza 2 segundos y si es 7 se temporiza ? segundos. Si no coincide con ninguno de esos cuatro valores, el programa sigue su curso sin hacer temporizacion alguna. AN12-4.6 Herramienta Punto de conexion Una de las tareas mas frecuentes en el desarrollo de un diagrama de flujo 0 programa, es desviar la ejecucian a un punto de destina de forma incondicional. Esta herramienta, cuya ventana de propiedades se muestra en la figura AN12-11, permite establecer un punto de conexion de destina. En el campo “Etiqueta" asignamos un nombre o etiqueta al punto de destino. En el ejemple hemos asignade la etiqueta “Bucle" ret Me Cd a ets te) Figura AN12-11. Herramienta Punto de conexion Esta herramienta se emplea junto con la anterior. Permite establecer el punto de conexién de destino al que debe dirigirse el fluja del programa. La ventana de propiedades se muestra en la figura AN12-12. En el campo “Ir a Punto de Conexién" asignamos un nombre o etiqueta del punto de destino. En el ejemplo hemos asignado la efiqueta “Bucfe" Cette eure ty Figura AN12-12. Herramienta (ra Punto de conexién La figura AN12-13 muestra un sencilla ejemplo en el que se emplean ambas herramientas. Comenzamos estableciendo un punto de canexién llamado “Bucle’. A continuacién se lee el contenido del Puerto A de entrada y se deposita en la variable “Entradas’. Seguidamente, el contenido de Ia variable “Entradas’ (el valor del Puerto A) se deposita sobre el Puerto B de salidas El programa finaliza con la herramienta “lr a Punto de Conexian’ llamado “Bucie’, lo que origing que el flujo se desvie al punto de conexién superior. Como consecuencia de todo ello, tenemos un programa que lee el valor de las entradas del Puerto A y lo deposita sobre el Puerto B de salida. Esto se repite de forma indefinida en lo que 8€ conoce como un “bucle sin fin". Cualquier cambio en las entradas se vera inmediatamente reflejado en las salidas. Figura AN12-13. Un sencilio bucle sin fin AN12-4.8 Herramienta Bucle Esta herramienta de Bucle se emplea para repetir una tarea, bien de forma incondicional 0 indefinida, a bien hasta que se cumplan las condiciones indicadas. La figura 14 muestra la correspondiente ventana de propiedades. Esta herramienta siempre se muestra como dos iconos, uno de inicio y otro de final. Entre ambos, a modo de sandwich, se Wena Neste: [pucke alojan los comandos de programa = que > Bucke Mientras: forman el bucle. [Ermadac =O Vasiables renee Enarina Bucket me Fn Recuerte de bucle ae ee Figura AN12-14. Herramienta de Bucle Los comandos encerrados dentro de un bucle se pueden ejecutar mientras se produzca una condicién (“Bucle Mientras") o hasta que se produzca esa condicion (“Bucle Hasta’). En el ejemplo el bucle se ejecuta Bucle hasta que el valor de la variable “Entradas’ sea igual a 0. En el momento en aE que se cumpla esta condicidn, e! bucle finaliza y el fiujo del programa Entradas = 0 | Teanuda su curso. Las condiciones se pueden evaluar y comprobar si se cumplen, al “Principio” del bucle o al “Finaf' del misma. Los comandos o instrucciones que componen un bucle también se pueden ejecutar un nimero determinada de veces. Para ello, activamos e indicamos en el campo “Recuento de bucte", el numero de veces deseado (entre 1 y 255) Leer entradas Indicar que también se puede crear un bucle en el que sus comandes se ejecuten de ferma indefinida e incondicional. Basta con activar “Bucle Mientras” introducir el valor 1 en el campe de condiciones. En el ejemplo de le figura AN12-15 vemos un bucle que consiste en leer las entradas del Puerte A y reflejarlas en las salidas del Puerto B. El bucle se ejecuta hasta que las entradas valgan 0. Figura AN12-15. Ejecucién condicional de un bucle Una macro no es ni mas ni menos que una funcin a una subrutina, similar a las que hemos empleado en los distintos ejemplos de la obra. Una macro esta compuesta de cualquiera de los comandos 9 iconos disponibles y/o también de otras macros. Es una opcion muy interesante que ahorra mucho tiempo de programacién y. sabre todo, mucho cédigo de programa. Una macro realiza una determinada tarea compuesta de varios comandos. Nuestro programa principal puede ejecutar esa tarea simplemente llamando a la macro tantas veces coma sea necesario, sin tener que reescribir los comandos que la componen. La figura AN12-16 muestra la ventana de Propiedades del comando Macro. aes En el campo “Mostrar Nombre” pademos escribir un comentario. En el campo “Maera" podemos ver una lista con todas las macros disponibles. Seleccionamos la que necesitemos en un momento dado Mediante el botan “Crear Nuevo Macro” aceedemos a oO una ventana que nos permite definir una nueva Macro Con el botén “OK&Eaitar Macro” podemos editar una Macro, Es decir, describir los Se componentes que debe S21) eecutar para realizar una determinada tarea 7] GrearNuevoMacia.| OK LEdtarMacro| [OK] Amr Figura AN12-16. Herramienta Macro AN12-4.9.1 Crear Nueva Macro eee Cuando se pulsa el boton “Crear Nueva Macro” se nos abre una ventana como la mostrada en la figura AN12-17. En el campo “Nombre del Nuevo Macro” indicamos | Dessipcién del Musee Macie, el nombre que le queremos asignar a [Comprobar los valores de entiada esa Macro, por ejemplo, “Test. En el campo “Qeseripcién del Nueva Macro" podemes poner un texto que describa la teres que realiza la Macro. Passevet ee Noma. TR No hay variables defi Eddtar Parémebos.. En el campo “Parametros podemos definir datos o variables de | ye pus entrada que nuestra Macro pueda = necesitar. No hay variables def... ee Vaiss En “Variables Locales podemos crear y editar variables que | ys. séla seran utilizadas por la propia a Macro. No se usan en ningun otro No hay wane de retcr =| lugar del programa de aplicacion. i} “aaRE ura AN12-17. Definicion de una Macro En el campo “Tipo de Relorno" se indica sila Macro devuelve, tras su ejecucién, un valor de # bits, de 16 bits, uns cadena ASCII o un numero en coma flotante. También se puede indicar que na se retorna ningun valor. AN12-4.9.2 Edicién de una Macro Cuando se pulsa ef botén “OK&Editar Macro’, aparece una nueva hoja en blanco en el rea de trabajo. En ella vamos colocando las comandos a 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 que hemos llamada “Test”. Principat | Test | Comernbar ies vitores de entrada: HBEGdpeP st ees Figura AN12-18. Contenido de Ia Macro “Test” Podemos ver que, en el area de trabajo, aparece un nueva pestafia correspondiente a la hoja 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 can el valor cargado desde el Puerto A. Si el valor leido es 0, el Puerto B de salida saca 0b00001111, si es 1 se saca 0b11110000, si es 2 se saca 001010101 y, por ultimo, si se lee 3 desde el Puerto A de entrada, se saca el valor 0510101010 por el Puerto B de salida. Si el valor leida no es ninguno de esos cuatro, por el Puerto B se saca 0 En la figura AN12-19 se muestra como queda el programa principal. Consiste en un bucle sin fin que ejecuta las siguientes comandos: 1. Lee el Puerto A de entrada y almacena su contenido en la variable "Entradas" . Ulama a la Macro “Tes donde se ejecutan las comprobaciones descritas anteriarmente. Salta a la vista que el empleo de Macros, que no dejan de ser funciones o subrutinas, facilita enormemente la compresién de un programa. 19. El programa principal del ejemplo AN12-4.9.3 El comando Macro del meni 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. Hacienda clic sobre cualquiera de ellas nos. mostrara su composiciGn. © Borrar. Visualiza la lista de Macros disponibles para que seleccianemos aquélla que queremas borrar. «Editar. Visualize el contenido de uns Macro con objeto de editarla afta! modificando o quitando componentes de la misma. * Descripcién. Nos permite modificar el texto que describe Ia funcién de una Macro. + Exportar. Gon esta opcién podemos guardar una Macro sobre un archivo en disco. Esto nos permite crear librerias de Macros que pueden ser utilizadas en multiples proyectos o aplicaciones. © Importar. Esta opcién permite leer y recuperar desde un archivo en disco las distintas Macros que hubiera almacenadas. indo, AN12-4,10 Herramienta Macro de Componentes FlowCade 4 incluye una serie de componentes a periféricos con los que podemos construir, para su simulacion, el circuito elécirica de nuestra aplicacin. Estos camponentes se colacan en el “Panel de Montaje", en donde se establecen sus propiedades y conexianes con el controlador. Cada componente tiene asociadas, segun sus caracteristicas, un numero determinado de funciones o Macros para su control, Ya lo veremos mas adelante. Cuando empleamos la herramienta “Macro de Componentes" y hacemos doble clic sobre ella, aparece una ventana de propiedades como la mostrada en la figura AN12-20. En ella disponemos de un listado con todos los componentes que hubiera en ese momento en el panel de mantaje y accedemos a todas las funciones asociadas a los mismos. En la figura, vemos que hay dos componentes: un interruptor SWITCH(O) y un led LEO(Q). Al seleccionar por ejemplo, el SWITCH(0), a la derecha, en la ventana “Macro”, aparecen las funciones a él asociadas. Hay tres: Propiedades: Macro de Componente Leerestado EsperarHastaARo. EsperarH astaBaio eno | ‘Valor de Rietomo:(BYTE) Entradas Figura AN12-20. Herramienta de Macro de Componentes 1, LeerEstado. Lee el estado de la lines de entrada a la que esta conectado el SWITCH(0) y los depasita en la variable de retorno que se indica en el campo “Valor de Retorno(B ¥TE)" 2. EsperarHastaAlto. Espers a que ls linea de entrada a la que esta conectado el SWITCH(0) se panga a nivel “1”. En este momento finaliza la Macro 0 funcian, que no retama ningun valor. 3. EsperarHastaBajo. Espera a que la linea de entrada a la que esta conectado el SWITCH(Q) se panga a nivel “0°. En este momento finaliza la Macro 0 funcian, que no retama ningun valor. La figura AN12-21 muestra la misma ventana de propiedades de la herramienta "Macro de Componentes’. En esta ocasion se selecciona el companente LED{0) donde podemos ver las funciones o Macros asociadas a éste: 1. LEDEncendido. La linea de salida donde se encuentra canectado el LED(0) se activa. 2. LEDApagado. La linea de slida donde se encuentra conectado el LED(0) se desactiva. Estas funciones na necesitan de ningun otra parametro Boge tena eau eae Moira Nobee, [Leer FAO ‘Componente: Macen: Sw] CHO) —_ ILEDSpagado Perémetros ‘No se requieren pardmettos pata llama este macio. Figura AN12-21, Herramienta Macro de Componentes En la figura AN12-22 se muestra un sencillo ejemplo que utiliza la herramienta “Macro de Coo) Componentes’ para utilizar las funciones a Macros que permiten controlar, de forma muy sencilla, un interruptor, ef SWITCH(Q} y un led, el LED(O). Ambos camponentes se suponen previamente dibujados y definidos en el panel de montaje. Bucle sh fin La primera Macra de componentes lee el estado del SWITCH(0) coneciado con Ia linea RAD, y lo deposita en la variable “Entradas’. Este se evalia mediante la herramienta de decisién Si RAO=0 se ejecuta Ia funcién “LEDApagado" contenida en la Macro de componentes LED(O). La linea de salida RBO se pone a nivel “O" y el led se apaga, Si RAQ=1 se ejecuta la —_funcién “LEDEncendido’ contenida en la Macro de componentes LED(0). La linea de salida RBO se pone a nivel “1"y elled se enciende. Se trata de un bucle sin fin que se ejecuta constantemente Figura AN12-22. Ejemplo con Macros de Componentes iz ca Otra herramienta esencial en FlowCode 4 es la llamada “Herramienta de Calculo". Permite insertar operaciones ldgico/aritméticas en nuestros programas. La ventana de propiedades se muestra en a figura AN 12-23. Bryce tat) En el campo Mostras Nombre: [Calcular valor de calda “Mostrar Nombre” podemos escribir el comentaria que ‘Céleulas: deseemos. En el campo Selidas » (Entrades'3}+2 “Céleulos’ describimos los caloulos a realizar. El botén “Variables’ nos abre una ventana donde podemos crear, editar, borrar y seleccionar —distintas variables. Gon el botén “Funciones’ aceedemos a todas las funciones ldgico! aritméticas disponibles. Figura AN12-23. La Herramienta de Calculo En el ejemplo, la variable “Salidas" se carga con el resultado de multipcar por tres el valor de la variable “Entradas' y sumarle dos AN12-4.12 Herramienta Manipulacién de Secuencia La herramienta de Manipulacién de Secuencia permite manipular y operar can cadenas de caracteres ASCII. Su ventana de propiedades se muestra en la figura AN12-24 En ef campo Pe eae Chee Propiedades: Manipulacién de secuencia las operaciones a realizar con una o varias cadenas | Mostrar Nombre: [Mangulaciin de cadenas de caracteres. El poten “Variables” nos permite crear, borrar, editar o usar variables de | |cadenas = Cadenal + Cadena? secuencia a cadenas. ] El bolton “Funciones’ nos presenta una lista con todas las funciones disponibles para el manejo de secuencias 0 cadenas de caracteres Figura AN12-24. Herramienta de Manipulacién de Secuencia En el ejemplo de la figura, la variable “Cadena” se carga con la cadena “Hola * y la variable “CadenaZ’ con la cadena “Mundo". La variable “CadenaZ se carga con el resultado de concatenar las dos cadenas anteriores, por lo que su contenido sera “Hola Mundo” AN12-4.13 Herramientas de Interrupcion FlowCode 4 tambien soporta la activacion/desactivacion de algunas de las interrupciones. mas relevantes del microcontrolador seleccionado. En Ia figura AN12-25 se muestra la ventana de propiedades de esta herramienta. Wee e tee cue at © Desactivar Interrupciin: Interrumpir en: {NT * Propiedades... Usmard al Macro: * Creat Nuevo Macro... 2 ox | at Figura AN12-25. Herramienta de Interrupciones En el campo “inferrumpir en” seleccionamos la fuente de interrupcién, por ejemplo la interrupcion extema INT, Aunque no esian disponibles todas las que tiene el controlador, si estan las mas representativas, Con el botén “Propiedades’ 82 seleccions el evento deseado para esa interrupcion. Por ejemplo, en el caso de la interrupcidn externa INT, pademas seleccionar el flanco ascendente o descendente. En el campo “Llamara al Macro” se indica qué Macra o funcion se debe ejecutar cada vez que se produzea la interrupcién. Con el botén “Crear Nuevo Macro” creamos una nueva funcién. Con el botén “OK & Editar Macro” editames el contenida de la Macro. Es decir, dibujamos el organigrama de tareas que esa Macro debe ejecutar. El funcionamienta es muy similar al empleada en la herramienta de componente “ Macro". AN12-4.14 Herramienta Cédigo G En FlowCode, sucede lo mismo que en la mayor parte de lenguajes de alto nivel. Es imposible prever y disefiar las herramientas y Macros o Funciones necesarias para aprovechar TODOS los recursos de! microcontrolador. Puede haber casos en que el lenguaje como tal na pueda realizar ciertas tareas. Por ello, este tipo de lenguajes siempre tienen una puerta abierta que nos permita insertar nuestro propio codigo fuente en Co en ensamblador, para resolver aquellas tareas que FlowCode no pueda realizar direclamente. Disponemos asi de la herramienta Cadigo C. La ventana de propiedades de esta herramienta es muy sencilla y se muestra en Ia figura AN12-26. Simplemente consiste en un editor de textos donde escribimos nuestro programa empleando instrucciones del lenquaje Co del lenguaje ensamblador. yee er ene 7tingeese eédigo C despues de estos comentarios Alternativamence, para ingresar cédigo del ensanblador, use ¢1 operador asm delante de cada instruccién, ¢3. asm moviv 5 © incluya varias instrucciones én un bloque asm @3.: asm « moviu 8 5 (ae | Figura AN12.26. Herramienta para insertar eédiga Co ensamblador # AN12-4.15 Herramienta de Gomentarios Es Ia ultima herramienta de comandos que dispone FlowCode 4. Su ventana de propiedades se muestra en Ia figura AN12-27 y consiste simplemente en un area donde podemos insertar todo tipo de textos que describan el pragrama y facilite su comprension y andlisis. Propiedades: Comentarios i podemos hacer una descripcion detallada de nuestro rograma, bien en su totalidad o por secciones.| Figura AN12-27. Herramienta de Comentarios AN12-5 HERRAMIENTAS DE COMPONENTES: El programa FlowCode 4 integra un buen nimero de componentes y periféricos que nos permiten disefiar el esquema eléctrice de nuestra aplicacion, y simular el funcionamienta de la misma. Todos y cada uno de las companentes se dibujan sobre el panel de mantaje y disponen de una serie de Macros o funciones que permiten hacer uso de los mismos de forma répida y sencilla Nuestro programa de aplicacién accede y hace uso de las diferentes funciones relacionadas con los componentes, mediante la herramienta de comandas “Macro de Componente’, tal y como se explicd en el apartado AN12-4.10 AN12.5.4 ificacién de los componentes Para acceder a los componentes es necesario tener habilitado el panel de montaje mediante el comando “Ver 3 Panef y la barra de componentes mediante “Ver > Herramientas de componentes’, Esta se presenta en la figura AN12-28. r Sane Ut tag or Br BB tn 8 ee nn Fn Figura AN12-28, £i 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 componentes disponibles. Cada componente colocado en el panel de montaje, asi como el propio panel, tiene una serie de propiedades y caracteristicas que se pueden ajustar en la ventana de Propiedades de los componentes. Esta se activa/desactiva mediante “Ver > Panel Properties’. AN12-5.1.1 Objets Contiene componentes can los que disefar el aspecto y la estética del panel de montaje. Texto. Permite escribir texto en el panel de montaje para establecer etiquetas, rdtulas, signos, etc. en nuestro circuito. Imagen. Pademos importar una imagen desde el disca, para colocarla en el panel de mantaje. Forma. Dibuja figuras geométricas como cuadrados, circulos, elipses, ete Bisel. Dibuja formas biseladas sobre el panel Linea. Dibuja lineas rectas en el panel de montaje. AN12-5.1.2Gommon Aqui se agrupan los componentes o periféricos utlizades con mayor frecuencia. Led. Goloca un led en el panel de montaje. LEDarray. Coloca una barra de hasta ocho diodos leds. SWITCHbank. Colocs un banco de hasta ocho interruptores. SWITCH. Interruptor sencilla ADC. Caloca un potencidmetro para emular una entrada analogica. LCDDisplay. Inserta una pantalla LCD alfanumerica AN12-5.1.3 Inputs Contiene componentes o periféricos tipicos de entrada. Algunos son los mismes que las que habia en el grupo “Cammon* KeyPad. Teclado matricial de hasta 4x 4 SWITCHbank, Coloca un banco de hasta ocho interruptores. SWITCH. Interruptor sencilla DG. Coloca un potenciémetro para emular una entrada analégica. AN12-5.1.4 Outputs Contiene componentes o periféricos tipicos de salida. Algunos son los mismos que los gue habia en el grupo “Common. Led7seg. Coloca el clasico display de 7 segmentes con punto decimal. Led. Coloca un led en el panel de mantaje. LEDarray. Coloca una barra de hasta ocho diodos leds. gLCD. Pantalla grafica LCDDisplay. Inserta una pantalla LCD alfanumerica Led7seg4. Inserta un conjunta de 4 displays de 7 segmentos conectadas en paralela AN12-5.1.5 Comms Este grupo contiene componentes destinadas a los diferentes modos y protocolos de comunicacién. LinMaster. Este componente permite hacer uso de Macros y funciones que implementan el protocolo Lin en modo Master para la transferencia de datos. SPI_Legacy. Este componente permite hacer uso de Macros y funciones que implementan el protacola SPI para la transferencia de datos. One_Wire. Este componente permite hacer uso de Macros y funciones que implementan el protocolo One_Wire para la transferencia de datos 12C_Master. Este componente permite hacer uso de Macros y funciones que implementan el protacolo I2C en el modo Master para la transferencia de datos. GANZ. Permite hacer uso de Macros y funciones para realizar transterencia de datos segun el protacolo CAN2. RS$232. Este componente permite hacer uso de Macros y funciones que implementan el estandar RS232 para la transferencia de datos. Lin_Slave. Este componente permite hacer uso de Macros y funciones que implementan el protacolo Lin en modo Slave para la transferencia de datos. CAN. Permite hacer uso de Macros y funcianes para realizar transferencia de datos segun el pratacolo CAN AN12-5.1.6 Wireless Estos componentes y sus correspondientes funcianes o Macros permiten realizar fransferencia de datos sin cables IrDA Comunicacién mediante infrarrojos. RFID. Identificacién por radiofrecuencia. bee. Comunicacién por radiofrecuencia segin el protocolo Zigbee Bluetooth. Comunicacién por radiofrecuencia sequin el protocolo Bluetooth (AN12-5.1.7 Peripheral Sus componentes, junto con las Macros y Funciones que poseen, permiten implementar distinto tipos de periféricos y dispositivos. USBSerial. Permite implementar un dispositive USB para la comunicacién serie TCP_IP. Permite la transferencia de datos segun el estandar TCP_IP. USBHID. Permite implementar un dispositive USB como dispositive de interface humane (HID). MIDI. Usado para la comunicacién en tiempo real entre diferentes dispositives como controladores musicales 9 instrumentos. FATA6. Este componente esta disefiado para usarse junto con tarjetas de memoria MMC/SD para configurar el sistema de localizacién de archivos (FAT) y empleo de los mismos WebServer. Con este componente podemos disear aplicaciones basadas en servicios de paginas web. USBSlave. Permite implementar un dispositive USB esclavo. AN12-5.1.8 Mechatronics Contiene componentes auxilicres Stepper. Para la simulaciin de aplicaciones que controlan un motor paso a paso PWM. Componente cuyas Macros o funciones podemos emplear para generar y visualizer sefiales PWM moduladas en anchura. Speech. Permite el disefio de aplicaciones con sintesis de voz. Servo. Pera la simulacién de aplicaciones que controlan un serve 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 usuario MIAG. Es un componente disefiado por Matrix Multimedia. Representa 2 un panel de control de propdsito general que fabrica y comercializa Matrix Multimedia. FormulaFlowcode. Este componente emula al robot “FormulaFlowcode’ que fabrica y comercializa Matrix Multimedia. EEPROM. Con este componente podemos realizar aplicaciones basadas en la EEPROM de datos del controlador. GPS. Este componente emula al GPS que fabrica y comercializa Matrix Multimedia /AN12-5.2 Configuracion y uso de los componentes Ya hemos hecho una breve descripcién de todos los eomponentes que poses FlowCode 4 para confeccionar, sobre el panel de montaje, el esquema eléctrico de nuestra aplicacién. Ahora vamos a explicar cémo configurarlos para que puedan ser usados por nuestros programas. Debemos seguir tres pasos elementales. ‘AN42-5.2.1 Uso del componente Cualquier componente que hayamos colocado en el panel de montaje puede ser usado por nuestro programa mediante el icono “Herramientas de componentes". Gon él podemos seleccionar cualquiera de ellos asi como la Macro o funcién que deseamos ejecutar de entre todas. las disponibles. AN12-5.2.2 Establecer las cone) nes del componente Lo siguiente que debemos establecer son Ins conexiones de ese componente con las patillas de E/S del microcontrolador. Lo seleccionamas en el Peseta) peters reset ie ec as panel de montaje | (hembee de eiciga L_Fosto Bit haciendo clic con el | Py Rama PURTOA 0 botén derecho del | |%segrenta a PURTOB 0 raton y elegir la | 1% cogrentos PURTOB 1 opcién “Gonexiones’ ¥ Sagmerto ¢ PURRTOB 2 Esto mismo también | | cegmenta D PURTOB 3 se puede hacer | | cogmento PURRTOB 4 desde fa ventana de | | cegrento F PUERTOB 5 “Propiedades" —del_ | | cogmentoG PURRTOB 6 panel de montaje ¥ Segmento OF PURTOB 7 Supongamos que se ha seleccionado un display de 7 ‘| Coretta Puta fpuerToA =] Bt [0 segmentos. Aparece | estsds una ventana de Espigs Comin esta come ctads bier conexiones camo la mostrada en la figura ANie28 2) _Astnacitn de Tecios Teminado Figura AN12.29. Estableciendo canewiones de un display de 7 segmentos En el ejemplo, la patilla comin del display (e! anodo o el cdtode) se conecta con Ia linea 0 del Puerta A y los segmentos a:dp con las lineas 0.2 7 del Puerta B. Mediante el botén “Asignacién de Tecias’ podemos establecer qué teclas del teclado del PC podemos utilizar para estimular al componente cuande el programa se encuentra en ejecucién de simulacién No todos los componentes necesitan siempre las mismas conexiones. Habra algunos que se conectan mediante una Unica patilla, otros, mediante dos y otros mediante diez. En cualquier caso la ventana de conexiones sera similar a todos ellos. Cream AN12-5.2.3 Establecer las propiedades externas del componente Esto lo hacemos seleccionanda el componente, hacienda clic con el batén derecho del raton, y eligienda la opcin “Propiedades ext. También desde la ventana de propiedades de! panel de montaje. Cada componente tiene sus propias propiedades. En el caso de un display de 7 segmentos nos aparece una ventana como la mostrads en la figura AN12-30. Podemos seleccionar el color de los segmentos, el tamafio del display y si es de 4nado 0 catodo com Figura AN12-30. Propiedades del display de 7 segmentos ‘A modo de ejemplo, en la figura AN12-31, se muesira Ia ventana de propiedades de un clasico periférico a componente de entrada como es un sencilla interruptor. Podemas seleccionar de entre varios tipos: oscilante, basculante, rotatorio, pulsante, etc. También debemos establecer si el mecanismo tiene o na enclavamiento, En el campo “Polaridad" establecemos sil interruptor © activo por nivel “1° 0 por nivel “O" cada vez que se acciona. Incluso podemos determinar, en el campo “Supresion de rebotes", una temporizacién en mili segundos para evitar los rebates cldsicos de cualquier —_dispositiva eleciromecénica Por supuesto, podemos seleccionar el tamafia con el que se vera sobre el panel de montaje. gee eee mea ees Interuntor | wi8 co a Funcionamienta del [~ Enelsverients —_*) Polatidad [aaicaatoe =] Supresiénderebotes (ms) Figura AN12-31. Propiedades de un interruptor En el caso de utilizar una pantalla LCD alfanumérica, sus propiedades serian las mostradas en la figura AN12 2. De peet es neue mledase Tamafio de la LCD: 6x2 Ez Tamario del texto 20 ~ ‘Color del texto ‘Color de Tondo Blanco Azul Figura AN12-32. Propiedades de la pantalla LCD Establecemos el tamafo o configuracion de la pantalla. Por ejemplo, de 16 caracteres por fila y 2 filas (16x2). También determinamos el tamafia del texto 0 caracter, por ejemplo, 20 pixels. Y por supuesto, también podemos establecer el color de fondo asi como el color del cardcter. En el ejemplo se configura una pantalla de fondo azul con letras blancas, igual que la del laboratorio US8-PIC'School. AN12-6 EJEMPLOS Con abjeto de familiarizamos con el uso y las ventajas del lenguaje de programacion FlowCode, vamos a presentar unos sencillos ejemplos que iremos desarrollando paso a paso. jManos a la obra! AN12-6.1 EJEMPLO 1 Se trata de leer un interruptor conectado a la entrada RAQ. Si esta a nivel “0” se activa un led conectade a la linea RBO de salida. Siesta a nivel “1" se activa un led conectado a la linea RB1 de salida. AN12-6.1.1 El montaje eléctrico En el panel de montaje distribuimos los componentes que vamos @ utilizar mas o menos como se muestra en la figura AN12-33. interruptor. Recordar que para cada componente debemos definir sus propiedades (color, tamafia, forma, etc.}. Para ello hacemos clic con el botén derecho y seleccionamos Ia ‘opcion “Propiedades ext’. También hay que establecer las conexiones. Hacemos clic con el botén derecho y seleccionamos la opcién “Conexiones'. Mediante el componente * Texto" colocamos las etiquetas RB1, RBOy RAO, Con las propiedades “Texto” podemos definir su color. Empleamos dos leds y un tamaho, estilo, etc. AN12-6.1.2 El programa Figura AN12-33, Montaje del Ejemplo 1 En el area de trabaja hemos confeccionada el ‘organigrama que se muestra en la figura AN12-34. Respande a las expectativas del ejemplo y, por supuesio, se podria haber resuelto de multiples formas Todos los icones comandos que forman el programa se encuentran dentro de un bucle sin fin. Hacienda dable clic sobre cada uno de ellos pademos ver y/o editar sus correspondientes propiedades. El programa empieza leyendo el estado del Puerto A que va a parar a la variable “Entradas’. Si editamas esta herramienta de comsndo observamos que Ia lectura se realiza en el modo de bit unico, el bit 0 del Puerto A. A continuacién el comando de * Toma de decisién" evaliia si el valor de la variable “Enfradas’ (el estado de RAO) es igual o no a 0. En caso afirmativo el flujo de ejecucion se desvia por la derecha. En caso negativo sigue su curso. En cada caso se ejecuta el comando correspondiente “Salida’. En un casa por el Puerta B se activa el bit RBO y desactiva el bit RB1, yen el otro. caso se desactiva RBO y se activa RB1. La salida por el Puerto B se realiza enmascaranda los bits 0 y 1. Podemos hacer doble clic en cada herramienta “Salida’ para ver y/o editar sus propiedades Figura AN12-34. Ei organigrama del ejemplo 1 AN12-6.1.3 Simulacion Una de las grandes aportaciones de FlowCode 4 es el pader simular en el PC el comportamiento del programa. Para ella disponemos de los batones mostrados en le siguiente figura AN12-35 Ejecutar. Simula la ejecucién del programa en su totalidad. Podemos interactuar con los componentes del panel de montaje pars observar el desarrollo de dicho programa. Pausar. Detiene la simulacién de la ejecucién del programa. Mediante el baton “Ejecutar’ se cz reanuda la ejecucién desde donde se detuvo. > HM C Detener. Detiene la simulacion de la ejecucion del programa. Mediante el baton “Ejecutar’ la ejecucion comienza desde el principio. Saltar Entrar. Simula la ejecucién de los comandos Entrar paso a paso, uno tras otro. Detener Saltar. Igual que “Enirar’ excepto que todos los etene comandos contenidas en una Macro se simulan Pausar ejecutar en tiempo real Ejecutar Figura AN12-35, Botones para la simulacion Cuando se entra en el modo de simulacion se abren dos nuevas ventanas. La ventana “Variables nos permite afadir las variables de nuestro programa, cuyo contenido queremos visualizar y/o modificar, segun se va ejecutando y desarrollando el mismo. La ventana “Pila de jiamadas" simplemente visualiza las distintas Macros o funciones segun se van llamando desde el programa principal Liegado a este punto, basta con pulsar el botén “Ejecutar’ para ver como se desarrolla nuestro programa. Haciende clic sabre el interruptor que hemos puesto en el panel de mantaje, los leds deben cambiar de estado. AN12-6.1.4 Grabacion No debemas olvidar que lo realizado hasta ahora no es ni més ni menos que una Cl ad iH simulacién. Es el momento de comprobar el funcionamiento real del programa. Para ello, procederemos @ compilario, ensamblarla y grabarlo fisicamente sobre la memoria de j programa: del microcontrolador, el Grabar Chip Fitcrsss. Bsponemos de ios totones Ensamblar mostrados en la figura AN12-36. Co mp ilar Figura AN12-36. Botones de ensamblado y grabacion Compilar. Consiste en traducir cada icana 0 camando del organigrama de nuestro ejemplo en el equivalente programa fuente en C. Nos crea un fichero can el mismo nombre pero con la extension Cs Ensamblar. A partir del programa fuente en C (*.C} se abtiene el equivalente programa fuente en ensamblador con extensién *.ASM. A partir del “ASM se obtiene el programa ejecutable “HEX. Este es el fichero ejecutable que debemas grabar en la memoria del controlador. Para ello podemos utilizar cualquiera de los innumerables grabadores comerciales que existen en el mercado Grabar Chip. Este boton realiza todos los pasos anteriores de forma consecutiva y automatics. partir del organigrama se crea el “.C. De aqui se abtiene el “ASM y de éste se obtiene el ejecutable “HEX. No solo eso, Con este botin se procede también a grabar directamente el controlador. Para ello es necesaria tener conectado uno de los que admite el propio FlowCode 4. EI PICkit-2 es uno de ellas y... jes compatible con nuestra USB-PIC’School! En otras palabras, una vez desarrollado el organigrama de nuestra aplicacién y, si disponemos de uno de los grabadores admitides por FlowCode 4, basta con pulsar el botan *Grabar Chip" para realizar todo el proceso automaticamente. La fotografia de la figura AN12-37 muestra la ejecucién del ejemplo sobre el labaratorio USB-PIC School Figura AN12-37. Ejecucién sobre USB-PIC'School AN12.6.2 EJEMPLO 2 En este ejemplo vamos a producir una intermitencia sobre un led conectado a la linea de salida RBO del Puerto B. La frecuencia se establece mediante un potenciémetro conectado con el canal analagico de entrada RAQ/ANO. AN12-6.2.1 El montaje eléctrico En el panel de montaje realizamas el circuito mostrado en la figura AN12-38. Definimos las conexiones haciendo clic con el boton derecho y seleccionando la opcion “Conexiones'. El componente ADC (potenciémetro P1) se conecta can RAD/ANO y el led en RBO Figura AN12.38. Montaje del Ejemplo 2 También hay que definir las propiedades de cada componente para establecer su color, forma, tama, etc. Hacemos clic con el botén derecho y seleccionamas la opcion * Propiedades ext’. En la figura AN12-39 vemos las propiedades que hemos establecido para el componente ADC (potenciématra P1). ane Tiempos fo ciclo de programa Vetocktud as cowarsiéa [Fasc =] ‘Opetn vet [o>] Teasiénwret [aor x10nv ee Foray | ns | EsuoFaiot 3 2! a a enquca ame para. F Mestrar valar 1 pqustar proporeida praves ptana:seganda alana [Gero] cored | ster |__| Figura AN12-39. Propiedades del ADC {ootenciémetra) En el campo “Tiempo” se establece el numero de ciclos de programa que se deben esperar para el muestrea y retencion (Sample&Hold) antes de iniciar la conversion. En “Velocidad de conversién” se establece la velocidad a la que trabajara el convertider (FOSC/8). En “Opcién Vref" seleccionamos el tipo de tensidn de referencia y en “Tension Vref el valor de la misma eee E También seleccionemos él tipo- de: potenciémetro (Deslizador), su estilo, y su tamafio. En el campo “Etiqueta” podemos poner la referencia del componente (P1). La figura AN12-40 muestra las propiedades seleccionadas para el led: forma y color. También se establece la polaridad. Esto es, el nivel ldgico con el cual se debe activar el led. En el ejemplo se activa mediante nivel "1" Con las barras deslizantes horizontal y vertical ajustamos el tamafio deseado. Figura AN12-40. Propiedades del componente led AN12.6.2.2 El programa El organigrama de este segundo ejemplo se muestra en la figura ANI2-41. En primer luger se emplea la herramienta “Macra de componente’. Nos muestra un listado con todos los componentes que haya en el panel de montaje (el potenciametro ADC y el led). Seleccionamos el ADC y nos muestra todas las funciones disponibles para él. En el ejemplo se ha seleccionado la funcion “leercomoint(}". Lee el resultado de la conversion como un numero entero de 16 bits y lo almacena en la variable “Entradas* Seguidamente se ejecuta una Macro o funcién que hemos desarrollado nosotros mismos y cuyo nombre es “Pulso_en RB. Esta futing se encarga de que la salida RBO pase de nivel “O° a nivel “1" y vwelta al nivel “0” inicial Los dos comandas que forman nuestro programa, la lectura del ADC y la funcion “Puiso_en_RB0', se encuentran dentro de un bucle que se ejecuta indefinidamente Figura AN12-41. Ef organigrama del ejemplo 2 La salou REO casa aT) y Wego a En la figura AN12-42 se muestra el organigrama durante tanto tempo como mdqve — comespondiente a la funcion “Pulso_en_RBd' que varahie “Eneacar hemos desarrollado para la acasién. Utitizamos la herramienta “Macro de componentes" en dos ocasiones. En ambas se selecciona el componente led. En la primera de ellas se ejecuta la funcién “LEDEncendido()" para activar el led y en la segunda “LEDApagado() "para desactivario. Tras ellas se ejecutan sendos comandos de temporizacién. Consiste en mantener encendido y apagado el led tanto tiempo como establezca la variable “Entradas’. Esta se cargo con el valor pracedente del componente ADC (patenciameira) en el programa principal. En otras palabras, la frecuencia de la intermitencia depende del valor analagico intraducido con ese componente. Este es un buen ejemplo gue ilustra el uso de las Macros, funciones o subrutinas definidas por el usuario, hacienda que el programa principal sea mas sencilla y legible. Figura AN12-42. Macro “Pulsa_en_RBO" Mediante el botin “Ejecutar’ procedemos a simular el funcionamiento del programa. El led en el panel de montaje debe parpadear a una frecuencia variable. Movemos el potenciometro P1 para variar dicha frecuencia. La ejecucion se detiene al pulsar el batén “Defener Este también es un buen ejemplo para familiarizarnos con la ejecucién paso a paso que nos ofrece FlowCode 4. Mediante el boton “Entrar’ vemos como se van ejecutando tadas las instrucciones, una tras atra. Inciuso cuando toca ejecutar la Macro o funcion “Pulso_en RBC, abservamos cémo se van ejecutando |as instrucciones que contiene. Podemos experimentar también con el botén “Saifar. Este también ejecuta paso a paso todas las instrucciones excepto las Macros, que se ejecutan en tiempo real sin detenerse en cada una de las instrucciones que las componen En la ventana "Variables" visualizamos el contenido de la variable “Entradas”. Dicha contenido se vera modificado cada vez que se ejecute la Macro de Componentes “Leer ADC(0)" y 5€ mueva el cursor del potencidmetro. AN12-6.2.4 Grabacién Si disponemos del laboratorio USB-PIG'School alimentado y conectado a un puerto USB podemos grabar directamente el microcontrolader con el programa del ejemplo. Basta pulsar el boton “Grabar Chip’. Con esta sencilla accion el FlowCode traduce nuestro programa escrito en lenguaje grafico, a lenguaje fuente en C (*.C). De aqui lo pasa a lenguaje ensamblador (ASM). lo convierte en ejecutable (*.HEX) y lo transfiere a la memoria del PIC. Sobre el laboratorio realizamos las conexiones eléctricas correspondientes al montaje del ejemplo y abservamos su ejecucién, tal y como se muesira en la fotografia de la figura AN12-43 Figura AN12.43, Ejecucién del Ejemplo 2 sobve el USB-PIC’School AM12-6.3 EJEMPLO 3 Con este ejemplo vamos a realizar un contador de pulsos. Estos se introducen mediante un pulsador conectado en la linea de entrada RAO del Puerto A y se visualizan sobre un display de 7 segmentos conectado a las lineas de salida RB7-RBO del Puerto B. Se supone un display de anado comin que sé conecta y controla con la linea de salida RAZ del Puerto A. AN12-6.3.1 El montaje eléctrico En el panel de montaje realizamos el circuito mostrado en la figura AN12-44. Definimos las conexiones haciendo clic con el botén derecho y seleccionando la opcién “Conexiones’. El componente pulsador se conecta con RAO. Por otra parte, los siete segmentos del display, a:dp, se conectan con las lineas RBO:RB7. El anodo comin se controla mediante la linea RAZ Figura AN12-44. Moniaje del Ejempla 3 oe ea LEDTSEGt Maite Definimos ahora las propiedades de cada camponente para establecer su color, forma tamajio, etc. Hacemos clic con el botén derecho y seleccionamos [a —opcidn “Propiedades exi. En la figura AN12-45 vemos las propiedades que hemos establecida para el display de siete segmentos. Los segmentos se visualizan en color azul y se selecciona un tamafio de 70 unidades. Trabajamos con un display del tipo de anodo comun, Figura AN12-45, Propiedades del display La figura AN12-45 muestra las propiedades exteriores seleccionadas para el pulsador. En “Tipo elegimos el | modelo de mecanismo: “Pulsador' aa “Bascular’,, “Giratonio’, etc. Funcierariente del [Yooper =] En “Funcionamiento def indicamos si Polasead | —Aseva bas el mecanismo tiene enclavamienta o no (“Temporal’). También elegimos, Supeesitn de woates (raat en el campo “Polaridad’, el nivel activo del pulsador: por nivel bajo o nivel alto. Con la barra deslizante establecemos el tamafia Figura AN12-46. Propiedades del pulsadar AN12.6.3.2 El programa En la figura AN12-48 se muestra el organigrama correspondiente a la desarrollado para este ejemplo. Utilizamos la herramienta “Macro de companentes" en dos ocasiones. En ambas se selecciona el componente pulsador SWITCH(). En la primera de ellas se ejecuta la funcion “EsperarHastadlto(!"" y en la segunda “EsperarHastaBajo(!’. Conseguimos asi detectar el momento en que la linea a RAO recibe una transicion a pulsa completo procedente del ulsador en ella conectada. Recibido un componente *Calculo” para incrementar la variable “Pulsas” en una unidad. Como unicamente disponemos de un display para El organigrama de este ejemplo se muestra en Ia figura AN12-47. En primer lugar se emplea la herramienta “Cafculo” para poner inicialmente a O la variable “Pulsos’. A continuacion empleamos la herramienta “Macro de componente’. Esta herramienta nos muestra un listado con todos los componentes que haya en el panel de montaje (el Display y €l pulsador). Seleccionamos el Display y nos muestra todas las funciones disponibles para él. En el ejemplo se ha seleccionado la funcion “MostrarDigito()". Lee el contenido actual de la variable “Pulsos' y lo visualiza sabre el Display. Sequidamente se ejecuta una Macro o funcién que hemas desarrollado nosotros mismos y cuya nombre es “Contador. Esta rutina se encarga de esperar a que por la entrada RAO, se reciba una transicién 1-0-1 procedente del pulsador. Cuando esto ocurre, la variable “Pulsos" se incrementa en una unidad Los dos comandos que forman nuestro programa, le visualizacién y la funcidn “Cantadior’, se encuentran dentro de un bucle que se ejecuta indefinidamente, Figura AN12-47. EI organigrama del ejemplo 3 funcian “Coniador’ que hemos Mayor de 9 > pulso completa, empleamos el visualizar el estado de la cuenta, necesitamos poner a 0 la variable “Pulsos" cuando el numero de éstes sea superior a nueve. La cuenta por tanto evolucionard de cero a nueve y vuelta a cero. Figura AN12-48. Macro “Contador” AN12-6.3.3 Simulacion Mediante botén “Sjecutar’ procedemos a simular el funcionamiento del programa. En el display la cuenta empieza de cero. Cada accionamiento del pulsador origina un incremento de la cuenta. Observamos que ésta va desde cero a nueve y vuelta a empezar de cero. Es decir, hemos construide una década contadora. Este también es un buen ejemplo para familiarizarnos con la ejecucién paso a pase que nos afrece FlowCode 4. Mediante el boton “Enirar’ vemos cma se van ejecutando todas las instrucciones, una tras otra. Incluso cuando toca ejecutar Ia Macro o funcién “Contador abservamos cémo se van ejecutando las instrucciones que contiene. Podemos experimentar también con el botén “Saitar’. Esta opcién también ejecuta paso a paso todas las instrucciones excepto las que hay en las Macros 0 funciones, que se ejecutan en tiempo real sin detenerse en cada una de ellas. En Is ventana “Variables” visualizamos el contenido de la variable “Pulsos". Dicho contenido se vera modificado cada vez que se detecte un accionamiento en el pulsador de entrada AN12-6.3.4 Grabacién Si disponemos del laboratorio USB-PIG'School alimentada y conectado a un puerto USB podemos grabar directamente el microcontrolador con el programa del ejemplo. Basta pulsar el botdn “Grabar Chip’. Con esta sencilla accidn el FlowCode 4 traduce nuestro programa esorito en lenguaje grafico, a lenguaje fuente en C (*.C). De aqui lo pasa a lenguaje ensamblador (".ASM), lo convierte en ejecutable (* HEX) y lo transfiere a la memoria del PIC Sobre el laberatorio realizamos las conexiones eléctricas correspondientes al montaje de este ejemplo, El pulsador E4 se conecta con la entrada RAQ por donde aplicamos los pulsos a contar. Las lineas RBO:RB7 del Puerto B se conectan con los segmentos a:dp del display. El anada comin de éste se conirola desde la salida RA2. Observamos su ejecucian, tal y camo se muestra en Ia fotografia dela figura AN12-48 a Figura AN12-49. Ejecucién de! Ejemple 3 sobre el laboratorio USB-PIC'School AN12-6.4 EJEMPLO 4 Un ultimo ejemplo en el que vamos a emplear el componente LCD para visualizar AN12.6.4.1 El montaje eléctrico En el panel de montaje realizamos el circuito mostrado en la figura AN12-50 Unicamente consta de una pantalla LCD alfanumérica de 2 lineas y 16 caracteres por linea. Pons Peni Figura AN12-50. Montaje del ejemplo 4 Como se muestra en la figura AN12-51, definimos las conexiones haciendo lic con el boton derecho y seleccionando la opcién “Conexiones’. Las lineas de datos Data1-Dataé del componente LCD se conectan con las lineas RBO:RB3 del Puerto B. ees ned La sefial RS se controla desde Ia salida RA del PURTOB =I Puerto A y la sefial de activacién de la pantalla LCD desde Ia salida RA1 Espips Dalal eats conectada bien Figura AN12-51. Montaje 2 | Aipeciin Teton. del Ejemplo 4 También hay que definir las propiedades del componente para establecer su color, forma, tamafio, etc Hacemos clic can el botan derecho y seleccionamos la apcién *Propiedades ext’. En la figura AN12-52 vemos las propiedades que hemos establecida para la pantalla Tamafia del texto LCD. El tamaiio de la pantalla es de 16x2 (2 lineas de 16 caracteres). El tamafio de cada carécter se ajusta a 20 pixels. El color de los aon daranan caracteres se fija en blanco y el color de fondo de la pantalla se establece en azul. Tamafio de la LOD: Color dal texto igura AN12-52. Propiedades de la pantalla LCD AN12-6.4.2 El programa El organigrama de este ejemplo se muestra en la figura AN12-53. Basicamente se emplean las funcianes contenidas en la herramienta “Macro de Componentes" relativas a la gestion de la pantalla LCD (LCDDisplay(0)) La primera funcién que se ejecuta es “Iniciar”. Se encarga de configurar los puertos de E/S a los que esta conectada la pantalla, segin las propiedades de canexiones establecidas. También ejecuts la secuencia de inicializacién establecida por su fabricante. La segunda funcién es “ImprimirCadena(}’. Es capaz de escribir, en la posicién actual de! cursor, la cadena ASCII indicada (cerrada entre comillas) 0 el contenido de una variable de cadena. En este caso visualizs la cadena “FlowCoae 4: Otra’. La tercera funcion, “Cursor()", coloca el cursor en la posicion deseada. En el ejemplo la posicién 0 de la linea 1 (1* posicion de la 2° linea) La cuarta funcién es también “ImprimirCadena(}'. En esta ocasian imprime, en la posicién actual del cursor, la cadena “forma de trabajo’. El programa entra finalmente en un bucle infinito Figura AN12-53. Ef organigrama del ejemplo 4 AN12-6.4.3 Simulacién Mediante el botdn “Ejecutar’ pracedemos a simular el funcionamiento del programa. En la pantalla LCD situada en el panel de montaje aparecen los das mensajes indicados anteriormente. AN12-6.4.4 Grabacién Si dispenemos del laboratoria USB-PIC'School alimentado y canectada a un puerto USB. pedemos graber directamente el microcontrolador con el programa del ejemplo. Basta pulsar el botén “Grabar Chip". Con esta sencilla accién el FlowCode 4 traduce nuestro programa escrito en lenguaje grafico, a lenquaje fuente en GC (*.C). De aqui lo pasa a lenguaje ensamblador (*ASM), lo convierte en ejecutable (* HEX) y lo transfiere a la memoria del PIC. ‘Sobre el laboratorio realizamos las conexiones eléctricas correspondientes al montaje de este ejemplo. RBO:RB3 se conectan con las patillas L4:L7 de la pantalla. La sefial RS de control se ‘conecta con Ia salida RAG y la de activacian con RAJ. FlowGode 4 no contempla la gestion de la seflal R/W que tiene toda pantalla LCD. Es necesario conectar esta patilla a GND. La fotografia de la figura AN12-54 muestra la ejecucién del ejemplo sabre el laboratorio. Figura AN12-54. Ejecucién de! Ejemplo 4 sobre el laboratorio USB-PIC School

You might also like