Vous êtes sur la page 1sur 36

TP 11

Iniciación a Flowcode V3 y algoritmos

Escenario y objetivos del TP

Este laboratorio tiene como objetivo descubrir el software Flowcode


para programar microcontroladores. El lenguaje gráfico utilizado en
Flowcode es el diagrama de flujo.

Este TP está estructurado en 3 partes:

 PARTE 1: DESCUBRIMIENTO DEL CÓDIGO DE FLUJO A


TRAVÉS DE EJEMPLOS
 PARTE 2: ALGORITMO Y ALGORIGRAMA
 PARTE 3: APLICACIÓN

IMPORTANTE: cada vez que se solicite esto, notará en su


hoja de memorando de Flowcode los diversos comentarios
observados durante este TP con el propósito de
reutilizarlos más adelante. El único documento que
quedará después de este TP es su formulario de
memorando completo.

Trabajo solicitado

PARTE 1: DESCUBRIMIENTO DEL CÓDIGO DE FLUJO A TRAVÉS


DE EJEMPLOS

Inicie el software Flowcode haciendo clic en su icono.

PREGUNTA: ¿Dónde está el ícono de Flowcode en el menú


Inicio de Windows?

La respuesta está en la página 2 de la hoja de notas:


consultar
Cree un nuevo proyecto en Flowcode eligiendo el
microcontrolador PIC 16f88 de la lista.

Un microcontrolador es un circuito programable, con entradas y


salidas (organizadas en el puerto A y el puerto B ). Programar un
microcontrolador es definir las condiciones de activación de las
salidas, de acuerdo con las entradas o el tiempo. En flowcode, la
programación es completamente gráfica e intuitiva.

Amplíe la ventana de Flowcode a toda la pantalla. Además, expanda


la ventana del navegador a toda la pantalla. Ahora, para cambiar de
una ventana a otra, use el atajo de teclado Alt-Tabulation . Aquí es
donde la tecla Alt y la tecla Tab (para "pestaña") se encuentran en el
teclado:

Más que nunca, una


computadora se usa con dos
manos: una mano en el
mouse y la otra para operar
atajos de teclado.
¿Cómo encender uno o más LED?

Agregue una barra de LED a su proyecto de Flowcode y luego realice


el siguiente diagrama de flujo utilizando 4 bloques de " Salida ":
cada bloque de " Salida " escribe un valor en el puerto A en el que
están conectados los LED:

PREGUNTA: ¿Cómo alcanzar y modificar las propiedades


de un bloque?

La respuesta está en la página 1 de la hoja de notas:


consultar

Para ejecutar su diagrama de flujo paso a paso para observar


correctamente el papel de cada bloque, haga clic en el botón " Paso
a paso " varias veces mientras observa la evolución de los LED en
cada paso.

¿Qué sucede si ejecuta el programa haciendo clic en el botón


" Ejecutar "?
Sabiendo que para encender el LED An (con n entre 0 y 7) debemos
darle al puerto A el valor 2 de potencia n , cambie su diagrama
de flujo para mostrar sucesivamente los LED A4 a A7 .

Notará que cada LED tiene un número de potencia de 2 :

El número en rojo arriba (el resultado de las potencias de 2) se


llama PESO del LED

Por ejemplo, para encender el LED A5 es necesario poner 32 en el


puerto A (32 = 2 potencia 5 ) como se muestra en el siguiente
cuadro:

Y para encender los LED A4 y A1 simultáneamente, debe


poner 18 en el puerto A (18 = 16 + 2 ), etc. :
El resultado de las potencias de 2 correspondientes a los LED se
llama PESO del LED .

Para recordar: como se indica en la página 1 de la


hoja de notas:

Para encender un LED, coloque el peso del LED en el


puerto conectado a los LED con un bloque "Salida".

Para encender varios LED tienes que poner en el


puerto la suma de todos los pesos .

Acaba de aprender a encender los LED, pero la ejecución automática


del programa (mediante el botón Ejecutar ) es demasiado rápida
para tener tiempo de observar cada paso. Ahora veremos cómo
insertar temporizadores en el diagrama de flujo para ralentizar su
ejecución.

Cierre su proyecto sin guardar ( Archivo + Cerrar ) y cree un nuevo


proyecto ( Archivo + Nuevo ) siempre basado en PIC 16f88 .

¿Cómo insertar el temporizador?

Para retrasar el programa, debe insertar los bloques " Pausa " en el
gráfico. Mueva el mouse sobre los diferentes bloques propuestos por
Flowcode hasta que encuentre el bloque " Pausa " (el nombre de los
bloques aparece en la información sobre herramientas).

Realice el siguiente diagrama de flujo e inicie la ejecución con el


botón " Ejecutar ":
PREGUNTA: ¿Cómo cambiar el valor de un temporizador?

La respuesta está en la página 1 de la hoja de notas:


consultar

Esta vez, el programa hace una pausa de 1 segundo entre cada


bloque " Salida ", lo que nos da tiempo para observar la evolución de
los LED en modo automático (botón " Ejecutar ").

Modifique su diagrama de flujo para encender sucesivamente cada


uno de los 8 LED A0 a A7 por una duración de 500 ms cada uno.

Acaba de aprender cómo realizar un temporizador en su


programa. Pero puede ver que el ciclo solo se ejecuta una vez. Para
reiniciar el ciclo es necesario reiniciar la ejecución del programa.

Cierre su proyecto sin guardar ( Archivo + Cerrar ) y cree un nuevo


proyecto ( Archivo + Nuevo ) siempre basado en PIC 16f88 .

¿Cómo repetir el mismo ciclo operativo varias veces?

Para repetir varias veces un lote de instrucciones, es necesario


colocar los diferentes bloques para repetir en un bucle. Agregue una
barra LED conectada al puerto A en su proyecto, ubique el bloque
llamado " Loop ", haga el siguiente diagrama de flujo y comience su
ejecución haciendo clic en el botón " Ejecutar ".
Detenga la simulación con el botón " Parar " y luego reinícielo en
modo paso a paso para observar paso a paso la ejecución de varios
ciclos y la operación del bucle.

Nota para agregar en la página 1 de la hoja de notas de


Flowcode para dejar de hacer la pregunta:

PREGUNTA: ¿Cómo repetir un programa continuamente?

RESPUESTA: debes insertarlo en un LOOP "Siempre que


1"
Ahora sabes:

 como encender LEDs


 cómo crear temporizadores
 Cómo usar un ciclo continuo para que el programa nunca se
detenga

Descubrirá en los siguientes párrafos cómo usar los interruptores y


tener en cuenta su estado en su diagrama de flujo.

Cierre su proyecto sin guardar ( Archivo + Cerrar ) y cree un nuevo


proyecto ( Archivo + Nuevo ) siempre basado en PIC 16f88 .

¿Cómo leer el estado de los interruptores operados por el


usuario?

El propósito de cualquier sistema automático es operar sus salidas


(encendiendo los LED, por ejemplo) de acuerdo con un ciclo
automático (descrito por una serie de temporizaciones como arriba) o
dependiendo del estado de los interruptores accionados por el
usuario. Ahora aprenderá a leer el estado de los interruptores.

Agregue a su proyecto una barra LED verde conectada al puerto A y


una barra de empuje horizontal conectada al puerto B :

Notas:

 Las propiedades permiten, por ejemplo, cambiar el color de


los LED, el tipo de interruptores (biestables o monoestables) o
elegir los componentes de orientación (vertical u horizontal)
 La conexión se utiliza para conectar los LED o interruptores
al puerto A o al puerto B del microcontrolador.
 Si en lugar de A7 a A0 (o B7 a B0) NC está escrito en los LED o
interruptores, haga clic en " Conexiones ... " y luego elija el
puerto en " Conectar al puerto: "
 NC significa N en C conectado, es decir, ni conectado al puerto
A ni conectado al puerto B del microcontrolador
 Para eliminar un componente del proyecto no haga clic en el
botón en forma de cruz : debe hacer clic en Eliminar en el
menú "Eliminar / Conexiones / Propiedades"

Nota para agregar en la página 1 de la hoja de notas de


Flowcode para dejar de hacer la pregunta:

PREGUNTA: ¿cómo modificar las propiedades o la


conexión de LED o interruptores?

RESPUESTA: haciendo clic en el botón "Eliminar / Iniciar


sesión / Propiedades"

Nota para agregar en la página 1 de la hoja de notas de


Flowcode para dejar de hacer la pregunta:

PREGUNTA: ¿qué hacer si hay NC escrito en LED o


interruptores?

RESPUESTA: NC significa No conectado. Vaya a


Conexiones y elija un puerto (A o B)

PREGUNTA: ¿cómo eliminar LED o interruptores del


proyecto?

La respuesta está en la página 2 de la hoja de notas:


consultar

En la página 2 de la hoja de notas de Flowcode, resalte el


siguiente término en la sexta respuesta:
¡No hagas clic en el
botón cruzado!
Realice el siguiente gráfico que almacena el estado del puerto B en
una variable N ( variable de byte para crear), luego escribe el
valor de N en el puerto A. Comience la ejecución haciendo clic en
" Ejecutar " y luego pruebe haciendo clic en los botones B0 a B7 :

PREGUNTA: ¿cómo crear una nueva variable?

La respuesta está en la página 2 de la hoja de notas:


consultar

Modifique el tipo de interruptores


haciéndolos biestables (escriba Alternar en las propiedades de los
interruptores), luego pruebe su diagrama de flujo nuevamente
(haciendo clic en " Ejecutar ") mientras esta vez opera varios
botones simultáneamente:
Para observar la evolución de la variable N , pruebe su diagrama de
flujo ahora en modo paso a paso (haciendo clic en " Paso a paso ").

Nota para agregar en la página 2 de la hoja de notas de


Flowcode para que no tenga que hacerse la pregunta:

PREGUNTA: ¿cómo observar el valor de las variables


durante la ejecución del programa?

RESPUESTA: las variables se muestran en la ventana


"Variables" solo durante la ejecución en modo paso a paso

¿Cómo probar el valor de una variable y dirigir la ejecución a


una rama u otra?

Para probar el estado de una variable, use un bloque


" Decisión ". Dependiendo del resultado de la prueba, el bloque de
decisión dirigirá la secuencia del diagrama de flujo a una de dos
direcciones: en un bloque de " Decisión " , la prueba siempre tiene
la forma de una pregunta cuya respuesta es SÍ o NO.

PREGUNTA: ¿cómo probar el valor de una variable?

La respuesta está en la página 1 de la hoja de notas:


consultar
Al modificar su proyecto, realice el siguiente algoritmo que enciende
los LED si el valor de N devuelto por los interruptores es superior a
21 , pero que apaga los LED si N <21 :

Nota sobre las pruebas:

Las pruebas se aplican en dos valores numéricos para detectar


una igualdad , una diferencia o para hacer
una comparación (mayor o menor que). Dependiendo del resultado
de la prueba (responda SÍ o responda NO a la pregunta formulada),
el diagrama de flujo estará orientado a una de las dos ramas posibles
(ramas marcadas Sí y No en la tabla). Aquí hay un resumen de las
diferentes pruebas que se pueden usar en un bloque " Decisión "
(forma de diamante) en Flowcode:

Sintaxis en un bloque de
Condición a probar
decisión
¿A es igual a B? A=B
A es diferente de B? A <> B
A es estrictamente mayor que
A> B
B?
¿A es estrictamente inferior a A <B
B?
¿Es A mayor o igual que B? A> B =
¿Es A menor o igual que B? A <= B

Nota: Es perfectamente posible usar varios bloques de decisión en


una fila en el mismo diagrama de flujo. Por ejemplo, el siguiente
diagrama de flujo prueba uno por uno cada uno de los conmutadores
conectados al puerto B y enciende algunos LED del puerto A de
acuerdo con el conmutador que está cerrado:

Según el comentario anterior, ahora valide una solución para


el siguiente problema utilizando varios bloques de "Decisión":

Configure los interruptores como interruptores


monoestables (es decir, "botón pulsador ") para que solo
se cierre un interruptor a la vez. Luego, utilizando varios
bloques de " Decisión " en su gráfico, proponga y luego
valide una solución respondiendo a la siguiente
problemática:

 si se sueltan los 8 botones, se encienden los 8 LED


 si se presiona el botón Bn, entonces el LED An es el
único apagado (los otros 7 están encendidos).

Se le pide aquí que:


 crear un algoritmo cuya estructura general se parezca al
algoritmo anterior, es decir, que contenga varios bloques de
decisión anidados
 determinar el número de bloques de decisión a usar
 Determine el valor para poner en el puerto A para encender
en cada caso el LED correspondiente a la problemática

¿Cómo hacer cálculos simples sobre las variables?

A menudo es útil realizar pequeños cálculos sobre variables, como N


= N + 1 , N = 2 * a + 3 , y así sucesivamente. En Flowcode, es con
un bloque " Cálculo " que podemos asignar a una variable el
resultado de una operación. Date cuenta y luego prueba el siguiente
diagrama de flujo usando un bloque " Cálculo ":

¿Has reconocido el problema que responde este simple diagrama de


flujo?

Para recordar: el uso de un bloque de " Cálculo "quecontiene la


fórmula matemática correcta a menudo puede reemplazar un
diagrama de flujo complejo utilizando una gran cantidad de bloques
de " Decisión ".
Nota sobre bloques de cálculo:

El bloque de cálculo permite operaciones simples en variables. La


limitación de los bloques de cálculo es que las variables creadas en
Flowcode solo pueden contener enteros : Flowcode no conoce los
números reales. Aquí hay un resumen de los diferentes operadores
que se pueden usar en un bloque " Cálculo" en Flowcode:

Sintaxis en un bloque
Ejemplo de operación a realizar
de cálculo
A toma el valor 14 A = 14
A toma el valor de 3 veces B A=3*B
A toma el valor de toda la
A=B/2
división de B por 2
A se incrementa en uno A=A+1
A toma por valor la diferencia
A = BC
entre B y C
Ponga el resultado de 7 * B-2 en
A = 7 * B-2
la variable A
Nota para agregar en la página 1 de la hoja de notas de
Flowcode para dejar de hacer la pregunta:

PREGUNTA: ¿cómo asignar a una variable el resultado de


un cálculo?

RESPUESTA: usando un bloque "Cálculo" sabiendo que


Flowcode solo maneja enteros

PARTE 2: ALGORITMO Y ALGORIGRAMA

¿Qué es un algoritmo? es un conjunto de reglas de operación


rigurosas, que le ordenan a un procesador que ejecute en un orden
determinado un número finito de operaciones elementales; Requiere
programación estructurada.

¿Qué es un diagrama de flujo? Es una representación gráfica


del algoritmo . Para construirlo, utilizamos símbolos
estandarizados. La representación gráfica de los programas
realizados en el software Flowcode son algoritmos:

Ejemplo de algoritmo

Entre los algoritmos conocidos que utiliza está la resolución de la


ecuación de los segundos grados a.x² + x.b + c = 0

El problema: encuentra las dos raíces reales x1 y x2 de la


ecuación a.x² + x.b + c = 0

El algoritmo a seguir es el siguiente:

1 - Calcular el delta discriminado = b²-4.ac

2 - Si delta> 0, las raíces reales son x1 = (- raíz b (delta))


/ (2.a) y x2 = (- b + raíz (delta)) / (2.a)

2 - Si delta = 0, entonces la raíz doble es x = -b / (2.a)

3 - Si delta <0, entonces no hay raíces reales

Este es un algoritmo

Tenga en cuenta que este algoritmo fue escrito como una serie de
oraciones claras, entendibles por todos, y sin usar ningún lenguaje de
programación.
Y aquí está el algoritmo correspondiente al algoritmo de resolución
de la ecuación de los segundos grados:

Este es un diagrama de flujo

Tenga en cuenta que un diagrama de flujo siempre tiene


un principio y un final . Además, utiliza símbolos gráficos claros
(operaciones, pruebas, etc.) que son muy específicos, cada uno con
un significado. Un diagrama de flujo es para todos, incluidos
aquellos que nunca han visto uno . Cualquiera que vea el cuadro
anterior comprenderá su significado de inmediato y sin la necesidad
de aprender. Ah! Si el profesor de matemáticas nos hubiera dado el
algoritmo de la ecuación del segundo grado en lugar de explicárnoslo
oralmente, ¡lo habríamos entendido todo de una vez!

Los diferentes símbolos presentes en un gráfico.

Resumen de los diferentes símbolos utilizados en un diagrama


de flujo.
Aquí está el símbolo en Flowcode de cada elemento que compone un
diagrama de flujo:

Símbolo de una entrada Símbolo de una salida

Símbolo de una prueba


Símbolo de un retraso

Símbolo de una operación Símbolo de una macro


Símbolo de un lazo

Recuerde: un algoritmo gráfico permite simplemente


representar gráficamente un algoritmo que puede ser
complejo.

Leer el algoritmo no requiere aprendizaje.

PARTE 3: APLICACIÓN

Ahora realice en Flowcode cada una de las siguientes 10 actividades,


proponiendo y validando (es decir, probando usted mismo y
modificando en caso de mal funcionamiento) un diagrama de flujo
funcional para cada caso.

Actividad 1

Se desea hacer un semáforo en la encrucijada para regular el tráfico


de automóviles.

La intersección se compone de 2 carriles, cada uno con un semáforo.

Su programa tendrá que pedir 6 LED como en la siguiente captura de


pantalla:

- los 2 LED rojos se conectarán a los bits A1 y A0 del puerto A


- los 2 LED amarillos (luces naranjas) se conectarán a los
bits A3 y A2 del puerto A

- los 2 LED verdes se conectarán a los bits A5 y A4 del puerto A

Al hacer clic en las propiedades y la conexión de los LED, puede elegir


también su color, su número y los bits del puerto A en el que están
conectados:

La secuencia de los semáforos debe ser la siguiente (los tiempos se


reducen voluntariamente en comparación con los semáforos reales
para acelerar la simulación):

Fuego 1 Fuego 2
Duración de la
paso A1 A3 A5 A0 A4 etapa.
rojo naranja verde rojo Naranja A2 verde
Etapa
1 0 0 1 0 0 300 ms
1
Paso 2 0 0 1 1 0 0 500 ms
Paso 3 0 1 0 1 0 0 200 ms
Paso 4 1 0 0 1 0 0 300 ms
Paso 5 1 0 0 0 0 1 500 ms
Paso 6 1 0 0 0 1 0 200 ms
Paso 7 Regresar al paso 1

Recordatorio del peso de cada uno de los 8 LED A0 a A7:


Proponer y validar en Flowcode un programa que realice esta
secuenciación. " Validar " una solución significa probar todas las
posibilidades y demostrar que su solución funciona correctamente.

Actividad 2

Cierre todos los archivos abiertos en Flowcode


(menú Archivo + Cerrar ) guardando la actividad anterior en un
archivo con su nombre.

Cree un nuevo archivo ( Archivo + Nuevo menú ) en Flowcode


(basado en el microcontrolador 16F88). Agregue una barra de LED
conectada al puerto A y botones conectados al puerto B:
Envíe un diagrama de flujo que realice el siguiente
algoritmo. Pruébelo y modifíquelo hasta que obtenga la operación
solicitada:

REPETIR
SI se presionó el botón B0 ENTONCES
LED de luz A0
ELSE
Enciende el LED A1
FINALIZAR SI
SIEMPRE

Actividad 3

Cierre todos los archivos abiertos en Flowcode


(menú Archivo + Cerrar ) guardando la actividad anterior en un
archivo con su nombre y luego cree un nuevo proyecto
(menú Archivo + Nuevo ) en Flowcode (basado en el
microcontrolador 16F88).

En esta actividad, parpadeará el LED A0 a diferentes frecuencias.

Agregue a su proyecto una barra de LED conectada al puerto A y


botones pulsadores conectados al puerto B.

Envíe un diagrama de flujo que realice el siguiente


algoritmo. Pruébelo y modifíquelo hasta que obtenga la operación
solicitada:
REPETIR el
botón IF B0 presionado ENTONCES
Flash A0 LED con una frecuencia de 8 Hz (8 veces
por segundo)
ELSE Flash
A0 LED con una frecuencia de 2 Hz (2 veces por
segundo)
END-IF
SIEMPRE

Nota: Para encender un LED, es necesario encender y apagar el LED


en un bucle. El tiempo de ignición y el tiempo de extinción del LED
dado por 2 retrasos separados. El siguientediagrama deflujo,
porejemplo, enciende el LED A0 durante 125 ms y luego lo apaga
durante 125 ms :

Si este diagrama de flujo se coloca en un bucle, el LED


parpadea. Como su período es de 250 ms , parpadeará 4 veces por
segundo : se dice que su frecuencia es de 4 Hz , lo que significa " 4
veces por segundo ".

Actividad 4

Cierre todos los archivos abiertos en Flowcode


(menú Archivo + Cerrar ) guardando la actividad anterior en un
archivo con su nombre y luego cree un nuevo proyecto
(menú Archivo + Nuevo ) en Flowcode (basado en el
microcontrolador 16F88).

En esta actividad, creará una persecución de dos vías.

Agregue una barra LED conectada al puerto A y botones pulsadores


conectados al puerto B.

Proponga un diagrama de flujo que realice el siguiente algoritmo en


el que cada LED debe permanecer encendido durante 200 ms. En
cualquier momento, un LED y uno deben estar encendidos , los
otros 7 deben estar apagados. Pruébelo y modifíquelo hasta que
obtenga la operación solicitada:

REPETIR
SI se presionó el botón B0 ENTONCES
Encienda los LED uno después del otro en orden A0
a A7
ELSE
Encienda los LED uno después del otro en orden A7 a
A0
FINAL SI
SIEMPRE

Recordatorio del peso de cada uno de los 8 LED A0 a A7:

Actividad 5

Cierre todos los archivos abiertos en Flowcode


(menú Archivo + Cerrar ) guardando la actividad anterior en un
archivo con su nombre y luego cree un nuevo proyecto
(menú Archivo + Nuevo ) en Flowcode (basado en el
microcontrolador 16F88).

En esta actividad, realizará una función OR lógica .


Agregue una barra LED conectada al puerto A y botones pulsadores
conectados al puerto B.

Proponga un diagrama de flujo que realice el siguiente algoritmo en


el que el LED A0 debería iluminarse de acuerdo con una
condición OR lógica en los botones B0 y B1 . Pruébelo y modifíquelo
hasta que obtenga la operación solicitada:

REPETIR
SI B0 presionado O B1 presionado ENTONCES

Encienda el LED A0

DE OTRO MODO

Apague el LED A0

FINAL SI

TODAVÍA

Actividad 6

Cierre todos los archivos abiertos en Flowcode


(menú Archivo + Cerrar ) guardando la actividad anterior en un
archivo con su nombre y luego cree un nuevo proyecto
(menú Archivo + Nuevo ) en Flowcode (basado en el
microcontrolador 16F88).

En esta actividad, realizará una función lógica AND .

Agregue una barra LED conectada al puerto A y botones pulsadores


conectados al puerto B.

Proponga un diagrama de flujo que realice el siguiente algoritmo en


el que el LED A0 debería encenderse de acuerdo con una
condición AND lógica en los botones B0 y B1 . Pruébelo y
modifíquelo hasta que obtenga la operación solicitada:
REPETIR
SI B0 presionado Y B1 presionado ENTONCES

Encienda el LED A0

DE OTRO MODO

Apague el LED A0

FINAL SI

TODAVÍA

Actividad 7

Cierre todos los archivos abiertos en Flowcode


(menú Archivo + Cerrar ) guardando la actividad anterior en un
archivo con su nombre y luego cree un nuevo proyecto
(menú Archivo + Nuevo ) en Flowcode (basado en el
microcontrolador 16F88).

En esta actividad, realizará una función lógica OR exclusiva .

Agregue una barra LED conectada al puerto A y botones pulsadores


conectados al puerto B.

Proponga un diagrama de flujo que realice el siguiente algoritmo en


el que el LED A0 debería encenderse de acuerdo con una condición
exclusiva de ORen los botones B0 y B1 . Pruébelo y modifíquelo
hasta que obtenga la operación solicitada:

REPETIR
SI se presiona uno y solo un botón entre B0 y B1
ENTONCES

Encienda el LED A0

DE OTRO MODO

Apague el LED A0

FINAL SI

TODAVÍA
Actividad 8

En esta actividad descubrirá el uso de pantallas y macros en


Flowcode. Las macros son subrutinas para realizar acciones
complejas, como mostrar una cadena en la pantalla LCD.

Cierre todos los archivos abiertos en Flowcode. Cree un nuevo archivo


en Flowcode (basado en el microcontrolador 16F88). Agregue una
pantalla LCD y luego realice el siguiente diagrama de flujo utilizando
solo 2 bloques " Rutina de componentes ":

 El primer bloque llama a la macro Init vinculada a la pantalla


LCD
 El segundo bloque llama a la macro cadena de
Escrituras vinculada a la pantalla LCD

PRECAUCIÓN: Se puede acceder a las


macros específicas de componentes
(como la pantalla LCD) desde un
bloque Rutina de componentes en el
diagrama de flujo (no un bloque Macro)
Pruebe la visualización del algoritmo anterior "¡Vive Flowcode!" que
contiene solo 2 bloques de componentes de rutina fijos en la
pantalla LCD.

Este es el papel de las macros principales para usar la pantalla LCD:

Nombre de la
macro Rol de la macro
en Flowcode
init inicialice la pantalla LCD antes de usarla
borra Borra la pantalla LCD
Coloque el cursor en una celda específica
cursor (fila y columna) antes de que se muestre el
mensaje
Ecrit_Chaîne Mostrar una cadena en la pantalla LCD
Muestra el valor numérico de una variable
Ecrit_Num
en la pantalla LCD.

Nota: Como se muestra en la página 2 de la hoja de notas, en


Flowcode las cadenas están delimitadas entre dos caracteres de
comillas dobles.

ejemplo: "Esto es una cadena"

Pruebe el siguiente ejemplo que muestra cómo desplazar el texto en


el panel LCD utilizando la macro de cursor vinculada a la pantalla (la
variable N que desea crear es del tipo OCTET):
Inspirándose en el ejemplo anterior, valide una solución para
el siguiente problema utilizando una pantalla LCD y sus
diversas macros:
Valide una solución para desplazarse por el mensaje "¡Viva
la ingeniería eléctrica!" de derecha a izquierda en la
primera línea de la pantalla LCD.

Una vez funcional, complete su gráfico para mostrar


(además del mensaje de desplazamiento que siempre
permanece en la primera línea) su nombre se fija en la
segunda línea de la pantalla.

Actividad 9

Cierre todos los archivos abiertos en Flowcode. Cree un nuevo archivo


en Flowcode (basado en el microcontrolador 16F88). Agregue una
pantalla de 7 segmentos (componente LED7Seg1 ) y botones
conectados al puerto A.

Usando las macros de visualización de 7 segmentos, intente mostrar


dígitos en la visualización de 7 segmentos.

Validar entonces un diagrama de flujo que lleva a cabo el siguiente


algoritmo. Pruébelo y modifíquelo hasta que obtenga la operación
solicitada:

REPETIR
SI botón A7 presionado ENTONCES
La pantalla cuenta de 0 a 9 con un retraso de
tiempo de 500 ms.
OTRO
La pantalla cuenta de 9 a 0 con un retraso de 500
ms.
FIN SI
SIEMPRE

Actividad 10

Cierre todos los archivos abiertos en Flowcode. Cree un nuevo archivo


en Flowcode (basado en el microcontrolador 16F88). Agregue una
pantalla cuádruple de 7 segmentos (componente LED7Seg4 ).

La sintaxis de Chiffre de sintaxis asociada con la macro LED7Seg4


de 7 segmentos es la siguiente: dígito, valor, punto decimal
 número : es 0, 1, 2 o 3 dependiendo de si desea activar el
dígito de orden inferior, el dígito de rango 2, el rango 3 o el
dígito de orden superior.
 valor : este es el valor a mostrar (de 0 a 9)
 punto decimal : es 0 o 1 y permite mostrar o no la "coma" a
la derecha del dígito seleccionado en la pantalla.

Ejemplos:

4 para mostrar en el menos significativo (derecha) y sin punto


decimal venimos 0,4,0 en la macro MontreChiffre

6 Para mostrar el más significativo (izquierda) con un punto decimal


venimos 3,6,1 en la macro MontreChiffre

Usando la pantalla de 7 dígitos , haga un diagrama de flujo que


realice el siguiente algoritmo. Pruébelo y modifíquelo hasta que
obtenga la operación solicitada:

REPETIR

La pantalla cuenta de 0 a 9 con un retraso de 500


ms y luego comienza de nuevo

SIEMPRE

Modifique su algoritmo para que ahora corresponda con el siguiente


algoritmo. Pruébelo y modifíquelo hasta que obtenga la operación
solicitada:

REPETIR

La pantalla cuenta de 0 a 20 con un retraso de 500


ms y luego comienza de nuevo

SIEMPRE

Problema: la macro ShowCrypt solo puede mostrar un dígito a la


vez en la pantalla. ¿Cómo mostrar un número (compuesto de varios
dígitos) en estas condiciones? Por ejemplo, ¿cómo mostrar el número
435 compuesto por tres dígitos?

Solución: la solución es mostrar "muy rápido" cada dígito para dar la


ilusión de que todos los números se muestran al mismo tiempo. Esta
técnica se llamamultiplexación .

Ejemplo: La siguiente tabla muestra un número de 2 dígitos por


multiplexación. En este algoritmo:

 desde el punto de vista del medidor, las unidades son


perfectamente distintas de las decenas
 Variable u representa los u nits
 la variable d representa los d izaines
 el primer bloque de Rutina de componentes muestra
las unidades en la fila número 0 de la pantalla
 el segundo bloque Rutina de componentes muestra
las decenas en el rango 1 dígito de la pantalla
 no hay demora en este diagrama de flujo: solo el Loop 30
veces ralentiza el contador
 el bucle 30 veces continuamente actualiza la pantalla para dar
la ilusión de que sigue siendo sólido y que las
variables u y d han cambiado o no valor
Pantalla multiplexada

Nota: A veces, FlowCode considera el teclado como un teclado


QWERTY y no QWERTY, mientras que para Windows el teclado está
configurado en QWERTY.

En este caso, es imposible escribir caracteres acentuados (lo que no


importa), y los caracteres especiales (como * - <> por ejemplo)
están disponibles al ubicar la ubicación de sus teclas en el teclado.
siguiente imagen que muestra el diseño de un teclado QWERTY y un
teclado QWERTY:

En caso de que no tenga la imagen de un teclado QWERTY (el día del


contenedor, por ejemplo ...), puede escribir sus expresiones
aritméticas y lógicas en el bloc de notas de Windows y luego
transferirlas a FlowCode con un simple copiar pegar.

Finalmente, un simple reinicio de FlowCode puede resolver el


problema y hacer que vuelva al teclado QWERTY.

Nota para agregar en la página 2 de la hoja de notas de


Flowcode si ha encontrado este problema:

PREGUNTA: ¿Qué sucede si FlowCode considera el


teclado como un QWERTY?

RESPUESTA: cierre Flowcode y luego reinícielo, o escriba


las ecuaciones en el bloc de notas de Windows
www.gecif.net

Vous aimerez peut-être aussi