Está en la página 1de 106

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.

com
Sección: Contenido

Introducción - pag. 3

Sección 1 - Introducción a microcontroladores - pag. 12

Sección 2 - El uso de E-blocks - pag. 26

Seccion 3 - Introducción a Flowcode - pag. 31

Sección 4 - Flowcode - Primer programa - pag. 42

sección 5 - Flowcode - Ejemplos - pag. 50

sección 6 - Ejercicios de programación - pag. 72

Apéndice 1 - ajustes Arduino - pag. 88

Apéndice 2 - E-blocks 1 Ajustes - pag. 93

Índice - pag. 98

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com


Sección: Introducción

El objetivo de este curso es presentar a los conceptos de desarrollo de sistemas electrónicos que
utilizan los microcontroladores.

De este modo, se ofrece una cobertura sustancial de Unidad 6 del Nivel 3 BTEC Diploma extendido
Nacional de Ingeniería ( la cartografía precisa del curso a esta unidad se da en la página 9).

Al término de este curso se han aprendido:


• lo que es un microcontrolador.

• cómo construir circuitos y sistemas basados ​en microcontroladores.


• cómo programar microcontroladores.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 3


Introducción

Antes de que empieces

Este curso es una introducción a la programación de microcontroladores. Para conseguir la plena

utilización de este curso se recomienda tener lo siguiente:

Flowcode

Flowcode es un programa de software que permite a los usuarios desarrollar rápidamente y fácilmente los sistemas electrónicos

complejos de una manera sencilla, funciona con una gama de microcontroladores, incluyendo microcontroladores de Microchip PIC

'(PIC MCU), Arduino, y el brazo. Flowcode es en sí microcontrolador neutra - presenta prácticamente la misma interfaz de usuario,

independientemente del microcontrolador utilizado. Las diferencias están en el hardware y la forma en que el programa está

descargado y probado.

Hardware

Siempre es más gratificante cuando se aprende acerca de la programación del microcontrolador para ver los programas se ejecutan

en hardware real, por lo que recomendamos que tenga un poco de hardware disponible para enviar y ejecutar sus programas

creados en.

Este curso está diseñado principalmente alrededor de la plataforma de hardware de E-blocks Matriz 2, por lo general el programador BL0011

y BL0114 la junta Combo, aunque E-blocks separados (LCD, interruptores, LEDs, etc.) también se puede utilizar.

Junta BL0114 Combo.

BL0011 programador.

Mientras que la mayor parte del curso está diseñado alrededor de la E-blocks2, también reconocemos que algunas personas pueden estar

usando un Arduino o dispositivos Eblocks1. Así que en este supuesto, cada vez que hay un cambio en las instrucciones de Eblocks1 o cambios

de Arduino, que se mostrarán en los siguientes colores:

los usuarios necesitan un Arduino Uno Arduino y E-blocks Arduino Uno Shield (BL0055), así como la junta Combo.

usuarios de E-blocks1 necesitarán el EB006v9 Multiprogramador y la junta EB083 Combo más cables de conexión.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 4


Introducción

Cómo obtener más información

Flowcode
http://www.matrixtsl.com/flowcode/support/

Desde aquí se puede acceder a:

- Flowcode-Guía de iniciación
- Flowcode Wiki
- Una amplia gama de ejemplos Flowcode

E-blocks
http://www.matrixtsl.com/eblocks/resources

En la sección E-blocks puede obtener los recursos siguientes:


- E-blocks controladores USB
- E-blocks archivos de ejemplo
- Guía del usuario de E-blocks

http://www.matrixtsl.com/eblocks/boards

Desde las páginas de planchar:

- hojas de datos específicos para las tablas


- ejemplos de mesa específicos

otro Ayuda
http://www.matrixtsl.com/mmforums/index.php

El foro Matrix proporciona una comunidad en profundidad del bien establecidos, los usuarios a largo plazo de Flowcode y nuevos usuarios
Flowcode el intercambio de ideas y solución de problemas y problemas encontrados durante el uso del software.

http://www.matrixtsl.com/learning/

The Matrix 'Learning Center' contiene muchos recursos diferentes, incluyendo artículos, conductores, plan de estudios.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 5


Introducción

Convenios del curso


Las siguientes abreviaturas se usan en el curso:

Abreviatura Sentido
ADC UNA nalogue a re iGITAL do onverter

ALU UNA rithmetic L ogic T liendre

ASCII UNA Merican S stándar do oda de yo nformación yo nterchange

UPC do entral PAG rocesadorasde T liendre

EEPROM mi lectrically mi rasable PAG rogrammable R ead O ólo METRO Emory

EPROM mi rasable PAG rogrammable R ead O ólo METRO Emory

GND suelo
Maleficio hexadecimal
IDC yo nsulation re isplacement do onnector

I/O yo Nput / O utput

ISP yo norte- S istema PAG rogramación

JPEG J oint PAG icture mi Xpert sol rupo (estándar para las imágenes)

LCD L iquid do rystal re es juego

LED L vuelo mi mitting re iode

LVP L Ay V oltaje PAG rogramación

LDR L vuelo re ependent R esistor

LSB L este S ignificant segundo eso

MSB METRO ost S ignificant segundo eso

NVRAM norte en- V olatile R Andom UNA l acceso METRO Emory

FOTO PAG eripheral yo nterface do ontroller

PASEO PAG rogrammable R ead O ólo METRO Emory

PSU PAG ower S upply T liendre

RAM R Andom UNA l acceso METRO Emory

RV1 R esistor- V ariable 1


SPI S erial PAG rogrammable yo nterface

XTAL cristal
ZIF Z ero yo nsertion F orce

+V tensión de alimentación positiva

Se utilizan las siguientes convenciones:


• productos de matriz se capitalizan sobre la primera palabra. Por
ejemplo: multiprogramador Placa de pruebas Flowcode
• instrucciones del menú Flowcode se presentan como:
Archivo> Abrir

• Abreviaturas se explican completamente la primera vez que se mencionan:


EPROM (programable y borrable memoria de sólo lectura)

• símbolos de circuito europeos se utilizan en todo el curso.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 6


Introducción
El hardware:
La mayoría de los ejercicios usan el tablero BL0011 / BL0080 BL0114 Multiprogramador y Combo.

La mayoría de los ejercicios también se puede completar con el escudo Arduino Uno (BL0055). Sin embargo, estos requieren diferentes

configuraciones de puerto.

la configuración de hardware y software utilizados para probar la mayoría de los programas:

configuración de los puentes de hardware:

BL0011 / BL0080 configuración de los puentes

Microchip PIC MCU 16F18877

la tensión de destino 5V J15

Fuente de voltaje PSU J11

Fuente de programación USB J12,13,14: USB

Selector de oscilador OSC J18,19

Un puerto de E-bloque E-blocks de mesa Combo

Puerto B E-bloque BL0114

El puerto C E-bloque

Port D E-bloque de

puertos E E-bloque

Flowcode y descarga de ajustes:

Menú Nombre Ajuste E-blocks 1

Construir> Opciones del proyecto ...> elegir un objetivo Familia - PIC 16F18877 16F1937

Velocidad de reloj (Hz) 32 000 000 19 660 800


Construir> Opciones del proyecto ...> Opciones Generales
velocidad de simulación Normal Normal

Oscilador SA oscilador SA oscilador


Construir> Opciones del proyecto ...> Configurar
Temporizador de vigilancia bit de habilitación Discapacitado Discapacitado

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 7


Introducción objetivos

Después de completar este curso, usted será capaz de:

01 Enviar diferentes códigos de 8 bits a los puertos de la 31 Control de la frecuencia a la cual LEDs parpadean.
microcontrolador. 32 Utilice LEDs para mostrar niveles lógicos de salida.

02 Cambiar el nivel lógico de una sola clavija. 33 Utilice la memoria temporal.


03 Configurar un icono de salida. 34 Crear, rellenar y manipular las variables de cadena.
04 Utilice el código binario. 35 Controlar la visualización de texto y números en una pantalla LCD.

05 Manipular los niveles de salida de la lógica. 36 Use un LCD como un dispositivo de salida para el PIC MCU.

06 Utilizar LEDs para mostrar una salida. 37 Configurar una macro de componentes para el LCD.

07 Compilar un programa para el PIC MCU. 38 Introducir texto y números de un teclado y


08 Añadir un retardo para retrasar la ejecución mostrar mensajes en la pantalla LCD.

de un programa. 39 Utilice el código ASCII para transmitir estos datos.

09 Cambiar el intervalo de demora. 40 Utilizar entradas multiplexadas.

10 Configurar un icono de demora. 41 Configurar una macro de componentes para el teclado.


11 Controlar la velocidad de un microcontrolador. 42 Crear registradores de datos, a partir de datos de 8 bits y 10 bits

12 Utilizar un osciloscopio para eventos de tiempo. del ADC.


13 Utilizar puntos de conexión para introducir 43 Configurar una entrada analógica.
ramificación incondicional en un programa. 44 Introducir datos a través de interruptores.

14 Introducir PWM como un medio de controlar la 45 Introduzca la información de la luz y


brillo de LEDs. sensores de temperatura.
15 Crear un bucle infinito. 46 Configurar y utilizar la EEPROM.
dieciséis Manipular los niveles de salida de la lógica. 47 Desplazarse a través de los datos de EEPROM.

17 Utilizar LEDs para mostrar una salida. 48 texto de la pantalla y los datos numéricos en la pantalla LCD.

18 Crear y utilizar una variable. 49 Utilice el tablero prototipo E-blocks.


19 Configurar un icono de cálculo para llevar a cabo 50 Utilizar macros de software para simplificar la

aritméticas y lógicas cálculos. estructura de un programa.


20 Crear y manipular variables. 51 Crear macros de software.
21 Realizar cálculos. 52 Utilice el control de bucle cerrado.

22 Utilice LEDs con resistencias limitadoras de corriente. 53 Usar PWM para controlar el brillo de los LED.
23 Crear y utilizar un programa 'Luz de marcha', 54 Crear y utilizar 'single-pin' interrumpe.
utilizando el método de 'multiplicar por dos'. 55 Crear y utilizar 'interrumpir-a-cambio'
24 Crear y utilizar un programa 'Luz de marcha', (COI) interrumpe.
utilizando el método de 'shift-derecho'. 56 Use la operación en tiempo real de un PIC MCU.

25 Crear y rellenar una matriz. 57 Creación y uso de interrupciones del temporizador. 58

26 Crear un bucle condicional. Utilizar el prescaler para crear precisa

27 Los datos de entrada de los interruptores. intervalos de tiempo.

28 Uso bucles para crear secuencias de LED. 59 de disparo del temporizador mediante el cristal o una

29 Configurar un icono de entrada. evento externo.


30 Configurar los iconos de decisión y, por tanto, añadir

bifurcación condicional a un programa.

(Mapping a Unidad 6 del Nivel 3 BTEC Diploma extendido Nacional de Ingeniería figura en la página 9).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 8


Mapeo de Nivel 3 BTEC Diploma extendido Nacional de Ingeniería Unidad 6

Un sistema típico de hardware Investigar microcontrolador ¿Cubierto?

hardware de control A1

I capacidades de E / S - número, tipo (analógico / digital), puertos •


especificación de hardware - ancho de bus, la velocidad del procesador •
Memoria - RAM, ROM •
características de hardware - activa, PWM •
- pila •
periféricos necesarios •
costo y accesibilidad •
facilidad de uso •
software y programación en lenguaje •
tensiones de funcionamiento y requisitos de potencia •

Los dispositivos de entrada A2

Entrada del usuario:

digitales - interruptores y botones •


analógico - potenciómetro de control •
Temperatura
sensores de temperatura •
sensor ambiental - temperatura y humedad •
Ligero

resistor dependiente de la luz (LDR) •


IR - fototransistor, un fotodiodo o un receptor IR •
Movimiento / orientación
interruptor de inclinación •
Presencia

micro interruptor •
ultrasónico •
Requisitos de entrada de interfaz

acondicionamiento de señal •
analógico-a-digital de conversión (ADC) •
placas de sensores modulares •
PWM •
comunicaciones en serie •
Circuito inter-integrado (I2C) •

Los dispositivos de salida A3

optoelectrónico
diodo emisor de luz (LED) - indicador y IR •
display de 7 segmentos •
pantalla de cristal líquido (LCD) •
electromecánico
relé •
motor de corriente continua •
servo •
Audio
zumbador o sirena •
transductor piezoeléctrico altavoz o •
requisitos de salida de la interfaz
los requisitos de potencia y los conductores •
etapa de salida de transistor •
relé •
PWM •
comunicaciones en serie •
I2C interfaz dispositivo •

A4 Selección de dispositivos de hardware y diseño de sistemas

A5 montaje y operación de un sistema microcontrolador

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 9


Mapeo de Nivel 3 BTEC Diploma extendido Nacional de Ingeniería Unidad 6

B Técnicas de programación y codificación

B1 técnicas de programación

El uso de un entorno de desarrollo de programación

el funcionamiento del software •


que conecta al microcontrolador del hardware •
creación y gestión de archivos de programa •
Sintaxis / comprobación de errores •
simulación •
compilar, descargar y pruebas en vivo •
monitoreo / depuración •
uso seguro del ordenador y la pantalla •
Codificación de las prácticas:

dispositivo de puesta a punto y el inicio del programa

comentarios introductorios •
chip de set-up •
modos de pin •
bibliotecas •
declaraciones •
eficientes / autoría de código efectiva •
la sintaxis del código •
en línea comentando •
organización del código y la estructura •

construcciones de codificación B2

De entrada y salida

digitales - a nivel de bits y el puerto de lectura / escritura •


lectura analógica / escritura, la resolución, la calibración •
el tono y la generación de sonidos •
pulso y PWM •
la comunicación, incluyendo la serie y I2C •
El flujo del programa y el control:

llamando a las bibliotecas •


subrutinas y funciones •
control de secuencia de estructura de iteración

- Si, de lo contrario, el interruptor, la caja, para, hacer, mientras que, hasta el final y

retrasos y tiempos •
interrupciones •
La lógica y aritmética

- variables de tipos de datos (de Boole,



caracteres, bytes, número entero, palabra, flotador, de largo, doble, de cadena)

arrays •
operadores de comparación: =, no =, <,>, <o

=,> o =.

operadores booleanos - AND, OR, NOT •


lógica usando condición de entrada

- digital y analógica

operaciones aritmeticas •

el diseño del programa estructurado B3

pseudocódigo •
diagrama de flujo •
tabla de decisión •

Número sistemas B3

bits, bytes •
paralelo y en serie •
binario a decimal conversión •

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 10


Mapeo de Nivel 3 BTEC Diploma extendido Nacional de Ingeniería Unidad 6

ciclo de desarrollo Sistema Proyecto

Los procesos de desarrollo C1 Proyecto

Etapas del proceso de desarrollo.

Documentación C2 Proyecto

Una serie de pruebas producido a lo largo del


proceso de desarrollo.

Llave

Símbolo Sentido

• Contenido cubierto por el curso

• Contenido parcialmente cubierta por el curso

• Contenido no cubierto por el curso

Proyecto Contenidos abordados a través del trabajo del proyecto

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 11


Sección 1: Introducción a
microcontroladores

microcontroladores son pequeños dispositivos que se utilizan para controlar otros dispositivos electrónicos. Se encuentran en

una amplia gama de productos. En los sistemas de automoción que se pueden encontrar en los motores, frenos antibloqueo y

sistemas de control climático. en d omestic la electrónica que se pueden encontrar en televisores, reproductores de video, cámaras

digitales, teléfonos móviles, impresoras, hornos microondas, lavavajillas y lavadoras.

UNA microcontrolador es un circuito integrado digital, que consiste en una unidad de procesamiento central, una memoria, puertos

de entrada y puertos de salida.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 12


Introducción a los microcontroladores Sección 1

microcontroladores

En su corazón (o es el cerebro?) Hay una Unidad Central de Procesamiento (CPU). Este procesa las señales digitales, hace cálculos
y operaciones lógicas, crea retrasos de tiempo, y establece las secuencias de señales.

¿Cómo sabe qué hacer? Se está siguiendo un programa de instrucciones, almacenada en la sección de la memoria, llamada memoria
de programa, dentro del microcontrolador.

De vez en cuando, la CPU necesita para almacenar datos, y luego recuperarlo. Se utiliza un área diferente de la memoria, llamada memoria
de datos para hacer esto.

El reloj sincroniza las actividades de la CPU. Se envía una corriente de impulsos de tensión en la CPU que controla cuando los datos se
mueven alrededor del sistema y cuando las instrucciones del programa se llevan a cabo. Cuanto más rápido el reloj, más rápido será el
microcontrolador ejecuta a través del programa. Normalmente, el reloj funcionará a una frecuencia de 20 MHz (veinte millones de pulsos
de tensión cada segundo).

Para hablar con el mundo exterior, el microcontrolador tiene puertos que los datos de entrada o de salida en forma de números binarios. Cada
puerto tiene un número de conexiones (a menudo referido como bits). Un puerto de 8 bits maneja un número de 8 bits (o un byte).

Información de los sensores se introduce en el sistema a través del puerto (s) de entrada. El microcontrolador procesa estos datos y lo utiliza

para controlar dispositivos que están conectados al puerto (s) de salida. Los puertos son propios circuitos electrónicos complejos, y no

simplemente un montón de terminales para colgar componentes sucesivamente.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 13


Introducción a Microcontrollors Sección 1

Microcontroladores PIC y AVR

El nombre de CFP se refiere a un grupo popular de microcontroladores, producido por


Arizona Microchip. AVR es otro grupo de microcontroladores, también hecho por
Microchip. El microcontrolador en una placa Arduino es en realidad un chip AVR.

Cuando se utiliza un microcontrolador, tenemos que especificar cómo queremos que los

puertos se comporten. Los puertos son bidireccionales, lo que significa que pueden actuar

ya sea como puertos o salida de entrada

puertos. Cuando escribimos un programa para un microcontrolador, empezamos por la configuración de los puertos, diciéndoles que si han de

comportarse como puertos de entrada o puertos de salida.

El puerto de entrada puede recibir datos (información) en una de dos formas, como una señal analógica, o como una señal digital.
Es importante que entendamos claramente la diferencia entre estos.

El mundo digital
Gran parte de nuestra información diaria se describe en formato numérico. Por ejemplo:

• "Son las 2 en punto."

• "La temperatura exterior es de 21 grados C."


• "El automóvil se desplazaba a 48 kilómetros por hora." Es fácil de
entender los datos en este formulario.

Por ejemplo, la tabla muestra cómo la velocidad de un coche cambia durante un período de tiempo.

Tiempo en segundos La velocidad en kilómetros por hora

0 0

10 15

20 21
Sin embargo, puede que se pregunte lo que sucedió
30 25
en el tiempo de 35 segundos. Fue el coche en
40 22
movimiento rápido o más lento a 25 km / h a ese
50 20 momento?

60 dieciséis

El Mundo Análogo
Ahora la información se da en la forma de una analogía. En otras palabras, usamos
algo que se comporta de una manera similar. Por ejemplo:

1. El reloj de arena reloj de arena:


Cuanto mayor sea el tiempo transcurrido, más profunda es la arena en la parte inferior del reloj de arena.

2. El termómetro de mercurio, de vidrio


Cuanto más caliente se vuelve, más el mercurio asciende en el tubo.
3. El velocímetro del coche
Cuanto mayor sea la velocidad, más lejos el puntero se mueve alrededor de la esfera. El problema con los datos analógicos es que usted

tiene que hacer un trabajo para extraerlo. Para el velocímetro, y un termómetro, usted tiene que averiguar dónde se encuentra el puntero en la

escala. Por otro lado, es fácil juzgar cómo la temperatura de un cuerpo o la velocidad de un automóvil está cambiando. Vemos que el mercurio

se mueve a lo largo del tubo o el puntero se mueve alrededor de la esfera.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 14


Introducción a Microcontrollors Sección 1

Los datos analógicos

Muchos sensores electrónicos proporcionan señales en forma analógica. Por ejemplo, un micrófono

proporciona una 'copia' eléctrico de una onda sonora. Otra - el sensor de temperatura.

Aquí está el diagrama de circuito para un tipo de sensor de temperatura. La tensión de

salida aumenta cuando la temperatura aumenta. Es una señal analógica de voltaje

porque las copias del comportamiento de la temperatura.

Una señal analógica eléctrica puede tener cualquier valor de tensión, limitado

solamente por la fuente de alimentación utilizada.

En este caso, la salida del sensor de temperatura podría, en teoría, ir tan alto como

5V, o tan bajo como 0V. Durante un período de tiempo, la tensión de salida podría

cambiar como se muestra en el diagrama. Esta es una señal analógica.

Información digital

Una señal digital lleva su información en la forma de un número. Los sistemas electrónicos suelen emplear el sistema numérico
binario, que utiliza sólo los números ' 0' y ' 1' , codificado como voltajes. Podríamos decidir sobre el siguiente código: ' 0' = 0 V, ' 1' = 5V,
por ejemplo.

Las señales digitales, a continuación, tienen sólo dos posibles valores de tensión, por lo general la tensión

de alimentación, o lo más cercano a él como el sistema puede conseguir, y 0V.

¿Cómo podemos introducir estos números en un sistema electrónico? Una forma (muy lento) sería el

uso de un interruptor (un ejemplo de un sensor digital). El diagrama de circuito muestra un sensor de

este tipo digital.

• Cuando el interruptor está abierto (no presionado), la salida es 'derribada' a 0V por la resistencia. Esta salida podría
representar el número binario '0'.
• Con el interruptor cerrado (pulsado), la salida está conectada a la alimentación positiva, 5V en este caso. Esto podría representar
el número binario 1.

(Nota - si se invirtieron las posiciones del conmutador y la resistencia, al pulsar el interruptor pondría una señal lógica 0 en el pin
etc.)
El siguiente diagrama muestra una señal digital más complejo.

El número binario de nueve bits representado por la señal se da bajo la forma de onda.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 15


Introducción a Microcontrollors Sección 1

Analógico en digital
Gran parte de nuestros datos 'mundo real' es término análogo, pero las computadoras (incluyendo microcontroladores), único proceso

digital datos. Afortunadamente microcontroladores a menudo contienen un subsistema que puede convertir la información de formato
analógico a formato digital. Esto se llama una Analógico a digital ( comúnmente abreviado como ' ADC' o " ANUNCIO').

El ADC dentro de un microcontrolador divide el rango de posibles tensiones analógicas en pasos iguales. El escalón más bajo se
da el número '0', y el escalón más alto se da el número más alto que el convertidor A / D puede manejar.

Este mayor número está determinado por la resolución del ADC, que, a su vez, depende del número de los bits la circuitería
interna de la ADC puede manejar. resolución típica de ADCs microcontrolador es 8, 10 o 12 bits.

Por ejemplo, si la tensión analógica es mayor de 5 V, y un microcontrolador tiene un ADC de 8 bits:


• el número más alto de 8 bits es 1111 1111 (= 255 en decimal).
• el primer paso es 0000 0000 (= 0 en decimal).
• lo que significa que hay 256 niveles de voltaje.
• por lo pisa de un nivel a otro implica un salto de tensión de 5 V / 256, o alrededor de 20 mV.

Cuando este microcontrolador procesa una señal analógica, en primer lugar, lo divide por 20 mV, para averiguar la cantidad de pasos
incluye la señal. Esto le da al digital equivalente de la término análogo señal. El siguiente gráfico ilustra este proceso.

En nuestro ejemplo, las salidas del convertidor 0000 0000 para cualquier señal analógica de hasta 20 mV, salidas 0000 0001 para
señales analógicas entre 20 y 40 mV, y así sucesivamente. La señal analógica se muestra en la gráfica produce una salida de 0000
0011.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com dieciséis


Introducción a Microcontrollors Sección 1

La introducción de datos en un microcontrolador

Un microcontrolador es un dispositivo digital, pero los datos se puede introducir tanto en forma analógica como digitales. Los programadores
eligen si pines en el microcontrolador se utilizan como entradas analógicas, entradas digitales o salidas digitales. Esta flexibilidad conduce a
etiquetado complejo.

El diagrama muestra el pinout para un microcontrolador típico de

40 pines PIC, en este caso es el chip 16F1937. Tiene cinco

puertos, conocidos como A, B, C, D y E. Las clavijas en el puerto A

se etiquetan RA0 a RA7; pines en el puerto B se etiquetan RB0 a

RB7 etc. puertos A, B, C y D tienen ocho pines, pero el puerto E

tiene sólo cuatro. Por ejemplo, hasta ocho sensores digitales se

pueden conectar al puerto A de la 16F1937. El pin 2 está marcado

como " REAL ACADEMIA DE BELLAS ARTES 0 / UN 0' , lo que

significa que se puede utilizar como bit 0 del puerto A ( R egistro UNA

bit 0) o como UN entrada alogue 0.

La función de cada pin de entrada / salida se determina

mediante el establecimiento de los contenidos de los registros

internos, llamados 'datos dirección' registros dentro del

microcontrolador.

Pasadores RA6 y RA7 también están etiquetados como 'OSC1' y 'OSC2'. Se pueden conectar a un circuito oscilador externo o ser utilizados
para la entrada / salida digital.

sensores analógicos deben estar conectados a los pines etiquetados con una etiqueta 'ANx' (analógica). Estos, que se encuentra en los puertos A, B y

E, pueden manejar señales analógicas entre V DD ( 5V) y V SS ( GND). La mayoría de los pines tienen funciones alternativas. Por ejemplo pasador 25 está

etiquetado como 'RC6 / TX / CK', lo que significa que puede ser registro C mordió 6, o el pasador de transmisión (TX) de la interfaz de serie interno, o el do

loc K pin de la interfaz de serie interno.

Afortunadamente Flowcode se ocupa de los ajustes internos que determinan la funcionalidad de pines para usted.

dar salida a los datos

El microcontrolador es un dispositivo digital - hemos dicho que ya varias veces. Se da salida a una señal digital. En la mayoría de los casos,
usamos esta a su vez algo de encendido y apagado - '0' = 'off' y '1' = '0n'.

Por ejemplo:
Supongamos que hemos creado el puerto B como el puerto de salida (o dejamos Flowcode lo haga por nosotros). Hay ocho pines en el puerto B, por lo

que pueden cambiar ocho dispositivos de encendido y apagado. Es importante planificar cómo conectar estos dispositivos, ya que de lo contrario

podrían funcionar de la manera opuesta ronda.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 17


Introducción a Microcontrollors Sección 1

El diagrama muestra ocho LEDs conectados al puerto B de un


microcontrolador PIC16F84:
• Los cuatro LED rojos están conectados entre el carril positivo de alimentación y
los pines del puerto B. Para estos LEDs, el microcontrolador es hundimiento corriente.

• Los cuatro LEDs verdes están conectados entre los pasadores y el carril
0V.
Para estos, el microcontrolador es abastecimiento corriente. Cada LED rojo

se ilumina cuando su pasador está en una baja tensión, la salida '0' en otras

palabras.

Cada LED verde se enciende cuando su pasador está en un alto voltaje, la salida de un '1'. .. (Hay límites en cuanto a la cantidad de corriente de los

puertos pueden controlar Típicamente, un pin de salida puede gestionar hasta 25 mA Esto es suficiente para conducir LEDs y zumbadores

directamente, pero los dispositivos de alta potencia necesitará circuitos adicionales para la interfaz con el microcontrolador - tratará más adelante. sin

embargo, la corriente máxima para el conjunto del puerto es de alrededor de 100 mA, por lo que no todos los pines puede 25mA de salida al mismo

tiempo).

Los límites actuales

Como se ha visto, Flowcode tiene un modo de simulación que le permite adjuntar LED para mostrar el estado de las patillas del
microcontrolador cuando se utilizan como salidas. La función de simulación LED dentro Flowcode puede ajustarse de modo seleccionado se
encuentra o sinked (buscar propiedades "polaridad" de componentes que pueden ser "activo alto" o "bajo activo"), pero típicamente este
libro de trabajo asume que la corriente está De origen desde el PIC MCU - como los LEDs verdes en el diagrama de arriba. En algún
momento, tendrá que utilizar las especificaciones de pin del microcontrolador con el fin de utilizarlos como entradas digitales, entradas
analógicas, digitales o salidas como. En particular, hay limitaciones en las capacidades de salida del dispositivo. Si se exceden estos
límites, aunque sea por un corto período de tiempo, puede causar daños permanentes en el microcontrolador. Afortunadamente los tableros
E-bloque usados ​en este curso todos tienen resistencias limitadoras de corriente que protegen a los microcontroladores. Al utilizar las
placas de prototipos o parche, sin embargo, no hay tal protección y se debe tener cuidado de no dañar el dispositivo.

Corriente máxima hundido / origen por cualquier pin de E / S 25mA

La corriente máxima hundido por todos los puertos 200mA

La corriente máxima de origen por todos los puertos 140mA

corriente máxima de salida VSS espiga (GND) 95mA

La corriente máxima en V DD ( 5V) pin 70mA

Almacenamiento de datos

subsistemas electrónicos que almacenan datos se conocen como 'memoria'.

Pueden almacenar datos sólo digitales. Dirección


Datos almacenados
Uno de los puntos de datos se almacenan en una ubicación en la memoria. Estos datos en decimal en binario

podrían ser la combinación correcta para desarmar una alarma antirrobo, o la temperatura
0 000 11101001
objetivo de un bloque de motor de automóvil. Cada posición de memoria tiene una dirección
1 001 00100101
única, un número que se utiliza para identificar la ubicación en particular. Esto significa que
2 010 10000101
podemos elaborar un mapa de la memoria, que muestra lo que los datos se lleva a cabo en

cada lugar (la versión decimal de la dirección se incluye para hacer la tabla más fácil de leer). 3 011 11001101

4 100 01110100

5 101 00011011

6 110 11110011

7 111 10000101

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 18


Introducción a Microcontrollors Sección 1

Los sistemas electrónicos sólo entienden números binarios. Esta memoria muy pequeña tiene ocho lugares (notar que la numeración comienza

normalmente a 0). Se necesita un número binario de 3 bits para crear direcciones únicas para cada ubicación. Podemos almacenar los elementos

de datos que son ocho bits de longitud (una byte - 1B). Nuestra memoria ejemplo se podría llamar una memoria de 8 x 1B. Los sistemas de

memoria utilizados en los ordenadores son mucho más grandes. Los datos se almacenan a menudo como números de 32 bits, lo que permite el

uso de un número mucho mayor. Hay muchos más lugares, también. Una memoria típica equipo ahora tiene millones de ubicaciones de memoria.

Tipos de memoria
Hay varios tipos de memoria electrónica, cada uno con un trabajo un poco diferente que hacer. Podemos dividirlos en

dos grupos principales, ROM y RAM. Memoria de sólo lectura (ROM)

Estos dispositivos son normalmente de sólo lectura (es decir, se accede a los contenidos pero no cambiaron / escrito,) durante la ejecución de un

programa.

• Los contenidos no son volátiles (los datos permanece almacenado incluso cuando la fuente de alimentación se apaga).

• A menudo se utilizan para almacenar los programas básicos, conocidos como sistemas operativos, que necesitan los ordenadores.

• El grupo incluye:
• PROM (Programmable Read Only Memory)
• EPROM (programable y borrable memoria de sólo lectura)
• EEPROM (eléctricamente programable y borrable memoria de sólo lectura)

UNA PASEO es un dispositivo de un solo disparo, que llega en blanco, listo para recibir datos. Los datos se pueden 'quemado' en él, pero sólo una vez.

Después de que se comporta como una ROM chip que puede ser leído muchas veces, pero no se altera. Con un EPROM, brillante luz ultravioleta a través

de una ventana en la parte superior del chip borra el contenido. Nuevos datos pueden ser 'quemado' en la memoria. Algunos microcontroladores de

más edad operan de esta manera. los EEPROM dispositivos funcionan de una manera similar a una EPROM, excepto que los contenidos se borran

mediante el envío de una secuencia especial de señales eléctricas a los pines seleccionados. Florida memoria de cenizas es una forma de

EEPROM, ampliamente utilizado como medio de almacenamiento en cámaras digitales (el lápiz de memoria) y en el hogar consolas de juegos de

video.

Memoria de acceso aleatorio (RAM)

• RAM permite leer y escribir operaciones durante la ejecución de un programa.


• Los contenidos son volátiles y desaparecen tan pronto como se retira la fuente de alimentación. (La excepción es NVRAM, RAM no volátil, donde
el dispositivo de memoria puede incluir una batería para retener el contenido, o puede incluir un EEPROM chips como sección de la memoria
para almacenar los contenidos durante la pérdida de potencia).

• A menudo se utilizan para el almacenamiento temporal de datos o programas de aplicación.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 19


Introducción a Microcontrollors Sección 1

memoria microcontrolador
Microcontroladores tienen tres áreas separadas de la memoria:
• memoria de programa ( Destello)

• usuario de memoria variable ( RAM)

• EEPROM

Los nombres dan fuertes indicios en cuanto a la finalidad de las áreas. Para
el PIC16F84 dieciocho pin del gráfico ilustra la organización de la memoria.

La memoria de programa se utiliza para almacenar el programa.

En la mayoría de los microcontroladores, como el 16F1937, este utiliza

Destello tecnología, lo que significa que puede ser programado y se aclaró muchas
veces. Más viejo PIC MCU utilizar para la memoria PROM programa para que
muchos de éstos se puede programar una sola vez.

memoria de datos se utiliza para almacenar datos.

Sección de esta sección utiliza la memoria RAM y EEPROM utiliza. La

EEPROM nos permite preservar datos importantes, incluso si la fuente de

alimentación del sistema está apagado.

Por ejemplo, supongamos que el microcontrolador se utiliza como un controlador de temperatura que mantiene una incubadora a una temperatura de

ajuste. Podría tener sentido para almacenar el valor de temperatura deseado en la EEPROM de manera que no tenemos que introducir en el sistema

cada vez que cambiamos la incubadora sucesivamente.

Programación
Los microcontroladores son dispositivos programables. Hacen exactamente lo que se les dice que hacer por el programa, y ​nada más. Un
programa es una lista de instrucciones, junto con todos los datos necesarios para llevarlas a cabo.

Lo único que entienden es microprocesadores números. Hay un problema, ya que no hablamos de números, y
ellos no entienden Inglés.
Hay dos soluciones, y ambos necesitan algún tipo de Traductor:
• Escribir el programa en Inglés, o algo cerca de ella, y luego tener el resultado traducido en números.

• Podemos pensar en el diseño de los programas en Inglés y luego traducirlo a nosotros mismos en un lenguaje que es similar a los
números, conocidos como ensamblador. A partir de ahí, es un paso rápido y simple para convertir en un código numérico que
comprende el microcontrolador. Estos dos extremos son conocidos como la programación en una lenguaje de alto nivel ( algo
parecido a Inglés) o en una lenguaje de bajo nivel ( ensamblador).

La primera es generalmente más rápido y más fácil para el programador, pero toma más tiempo para ejecutar el programa, debido a la

necesidad de traducirlo para el microcontrolador.

El segundo es mucho más lento para el programador, pero termina en marcha muy rápidamente en el microcontrolador.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 20


Introducción a Microcontrollors Sección 1

El proceso de Flowcode

Flowcode ofrece una manera fácil de programar microcontroladores, como se verá. Una vez que el diagrama de flujo está diseñado en la
pantalla, una pulsación de un botón hace que el software para traducirlo a código numérico. Flowcode pasa el programa a través de una
serie de procesos antes de que sea enviado al microcontrolador. El diagrama de flujo se procesa:

• por primera vez en código C,

• luego en Ensamblador,
• y finalmente en números hexadecimales o " Maleficio', el cual el microcontrolador 'entiende'.

El código hexadecimal se envía entonces en el microcontrolador, utilizando un programa de filial denominada ' Mloader'.

Al seleccionar Construir> Opciones del proyecto ... Configurar en el menú Flowcode, se puede controlar una serie de opciones y
configuraciones estableciendo el valor de los registros dentro del dispositivo cuando se descarga un programa.

El código Hex 'quemado' en la memoria de programa del microcontrolador. Dado que la memoria flash se utiliza para formar la memoria de
programa, el programa no se pierde cuando el microcontrolador se retira del programador. Esto le permite utilizarlo en un circuito.
Igualmente, el uso de memoria flash significa que se puede volver a utilizar el microcontrolador y sobrescribir la memoria del programa con
un nuevo programa.

Ejecución del programa


Tan pronto como el microcontrolador se enciende y se suministra con pulsos de reloj, que comenzará a funcionar cualquier programa que se

almacena en la memoria de programa (Flash).

Cuando se pulsa el botón de reinicio en la junta de programación del microcontrolador, el programa vuelve a empezar desde el principio.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 21


Introducción a Microcontrollors Sección 1

Durante la programación del microcontrolador se detiene mientras se carga el programa. Cuando esto se haya completado, se
reinicia y se ejecuta el programa descargado.

Los diferentes tipos de microcontrolador

Hay un gran número de dispositivos de microcontroladores disponibles, desde la humilde 16F84 a microcontroladores más complejos más
grandes tales como el 16F1937 40 pin. Diferentes microcontroladores tienen diferentes números de puertos, o I / O pasadores, entradas
analógicas, memoria más grande, o capacidades avanzadas de comunicaciones serie tales como RS232 o bus SPI.

PIC16F18877 Arquitectura
Como ejemplo vamos a utilizar el 16F18877 microcontrolador. Es importante que entienda un poco más sobre lo que hace y cómo
usarlo. Esta sección detalla los pasadores que están disponibles en el 16F18877 y los conectores que se utilizan en el tablero
programador E-blocks. En este punto de un curso de programación tradicional, que se introduciría en algún detalle a los diversos
bloques de circuitos internos del microcontrolador. Lo que se necesita esta información para escribir código para el
microcontrolador en el código C o montaje. No hay necesidad - Flowcode se encarga de estos detalles.

Sin embargo, sí es necesario para entender las conexiones de


entrada y salida del microcontrolador, la memoria disponible y el
papel de los otros subsistemas en el microcontrolador.

puertos - los 16F18877 tiene cinco puertos, etiquetados 'A' a 'E', conectados

con el resto de los componentes internos del microcontrolador por un sistema

de bus de 8 bits.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 22


Introducción a Microcontrollors Sección 1

16F18877 microcontrolador
Diseño:

Memoria
Destello

• La memoria flash se utiliza para almacenar el programa que escribe.

• Este programa es 'compilado' por el ordenador a código binario y luego descargado


en la memoria flash del microcontrolador.
• Puede leer y escribir en él y es retenido, incluso después de un corte de energía.
• La memoria flash contenida en el 16F18877 puede almacenar hasta 32768 comandos del programa.

RAM
• Los datos de entradas, salidas, entradas analógicas, cálculos, etc. se almacenan típicamente en 'variables' (valores en el
programa que alteran ya que se ejecuta). RAM es donde éstas se almacenan.

• Esta memoria se borra cada vez que la energía se corta o se produce un restablecimiento.

• También contiene '' registros del sistema que controlan e informe del estado del dispositivo.
• La memoria RAM en el 16F18877 puede almacenar hasta 4096 bytes de datos.
EEPROM
• EEPROM es donde los datos pueden ser almacenados de forma permanente

• Esta memoria es del tipo PROM - preservado cada vez que los cortes de energía o un reinicio se produce.

• La EEPROM del 16F18877 puede almacenar hasta 256 bytes de datos.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 23


Introducción a Microcontrollors Sección 1

ALU
• La ALU (unidad aritmética lógica) está en el centro de procesamiento de datos del microcontrolador.
• Todos los datos pasa a través de esta unidad.

• El programa en la memoria flash le dice a la ALU qué hacer.


• La ALU puede enviar datos a, y obtener los datos de todos los bloques separados y puertos del microcontrolador utilizando la 8

bits de datos del bus de ancho.

• La ALU necesita cuatro pulsos de reloj oscilador externo para ejecutar una instrucción general.
• ¿Cómo funciona la ALU es muy complicado. Afortunadamente programadores Flowcode no necesitan saber cómo funciona.

Timer 1 (TMR1)
• Esta interrupción de temporizador se utiliza para proporcionar el microcontrolador con la sincronización exacta información.

• Se 'registró' ya sea por el reloj del sistema o por un reloj externo en RC0 pin.
• Cualquiera de reloj se puede dividir por 1, 2, 4 o 8 mediante la configuración de la de divisor de TMR1 en Flowcode. La salida
resultante desencadena TMR1 e incrementa el registro TMR1.
• TMR1 es un registro de 16 bits, lo que 'desborda' cuando llega a '65536'.
• En el instante en que se desborda, se genera una interrupción y el registro TMR1 se pone a '0'.
• Este TMR1 interrupción detiene el programa principal inmediatamente y lo hace pasar a la macro TMR1.

• Después de esto termina, el programa principal continúa desde el punto en que se detuvo justo antes de la interrupción.

Por ejemplo:

Externo frecuencia del oscilador de reloj (oscilador de cristal) 19 660 800 Hz

Reloj del sistema (cuatro pulsos de reloj por instrucción) 4 915 200 Hz

Establecer prescaler de 8 '' (divide por 8) 614 400 Hz

frecuencia de desbordamiento cuando TMR1 = '65536' 9.375 Hz

Resultado: TMR1 interrumpe el programa principal y ejecutar las TMR1 macro 9.375 veces por segundo.

Temporizador 0 (TMR0)

• Esta interrupción del temporizador también proporciona el microcontrolador con la sincronización exacta información.

• Se 'registró' ya sea por el reloj del sistema o por un reloj externo en RA4 pin.
• Este reloj del sistema se ejecuta exactamente cuatro veces más lento que el reloj oscilador externo.

• Cualquiera de reloj se puede dividir por 1, 2, 4 u 8, 16, 32, 64, 128, o 256 mediante la configuración de la de divisor de TMR0 en Flowcode.
El resultado desencadena Timer0 e incrementar el registro TMR0.

• Este registro TMR0 es un registro de 8 bits, que se desborda cuando alcanza 256.
• En el instante en que se desborda, se genera una interrupción y el registro TMR0 se pone a 0.
• A TMR0 interrupción detiene el programa principal inmediatamente y lo hace pasar a la macro Timer0.
• Después de esto termina, el programa principal continúa desde el punto en que se detuvo justo antes de la interrupción.

Por ejemplo:

Externo frecuencia del oscilador de reloj (oscilador de cristal) 19 660 800 Hz

Reloj del sistema (4 pulsos de reloj por instrucción) 4 915 200 Hz

Establecer prescaler a 256 (divide por 256) 19 200 Hz

Desbordamiento cuando TMR0 = 256 75 Hz

Resultado: Timer0 interrumpe el programa principal y ejecutar las macros TMR0 75 veces por segundo.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 24


Introducción a Microcontrollors Sección 1

RBO Interrupción externa

• Un cambio de nivel lógico en RB0 pasador puede estar configurado para generar una interrupción.

• Se puede configurar en Flowcode para reaccionar a un aumento o un flanco descendente en RB0.

• Si se pone a reaccionar a un flanco ascendente, cuando se da:

• que se detenga de inmediato el programa principal;

• la macro relacionados RB0 se ejecuta;


• a continuación, el programa principal continúa desde el punto en que se detuvo justo antes de la interrupción. Esto ocurre

cada vez que se detecta un flanco ascendente en RB0.

PUERTO B Interrupción externa

• Un cambio de nivel lógico en cualquier combinación de pasadores en el puerto B puede generar una interrupción.

• Esto puede ser configurado para producirse en una subida o un flanco descendente, o ambos.

• Cuando una de estas interrupciones se produce:

• que se detenga de inmediato el programa principal;

• la macro relacionados con el puerto B se ejecuta;

• a continuación, el programa principal continúa desde el punto en que se detuvo justo antes de la interrupción. Esto ocurre

cada vez que se detecta un cambio de nivel en uno de los pasadores seleccionada en el puerto B.

ANUNCIO

• los 16F18877 tiene 35 pines.


• Sólo tiene un convertidor de 10 bits A / D.
• Esto implica que estas entradas analógicas catorce no se pueden leer, todo al mismo tiempo.
• Un conmutador analógico incorporado, configurado en Flowcode, selecciona qué entradas se muestrean.

• Después de la muestra instrucción, los puntos de conmutación analógica a la entrada correcta y esto se convierte en un valor
binario de 10 bits.
• En Flowcode, se puede optar por utilizar sólo los ocho bits más significativos (MSB) de este valor de 10 bits, mediante el uso de la GetByte instrucción,

o para usar los diez bits completos mediante el uso de la getInt instrucción. Los diez bits se llenan los diez bits menos significativos (LSB), acerca

de la variable seleccionada entero de 16 bits.

• Después de esto, el programa puede seleccionar para leer otra entrada analógica.

Los autobuses

• Un PIC y AVR microcontroladores se basan en una arquitectura Harvard.


• Esto significa que hay buses separados para las instrucciones y de datos.
• El bus de datos es de 8 bits de ancho y se conecta cada bloque y el puerto juntos.
• El bus de instrucciones es de 14 bits de ancho y transporta las instrucciones, que son de 14 bits de longitud, desde la memoria del programa de

la ALU.

Introducción a 'relojes'
Cada microcontrolador necesita una señal de reloj para operar. Internamente, la señal de reloj controla la velocidad de operación y sincroniza el

funcionamiento de los distintos bloques de hardware internos. En general, los microcontroladores pueden ser 'frecuencia de reloj' de varias maneras,

usando:

• un oscilador de cristal externo.


• modo de 'RC', donde la frecuencia de reloj depende de una resistencia externa y el condensador.
• un oscilador interno.
existe el modo 'RC' parte histórica y en parte por razones de economía. Se introdujo como una alternativa de bajo costo para un
oscilador de cristal. Está bien para aplicaciones que no están sincronización crítica, pero no se trata en este curso.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 25


Sección 2: Utilizando

E-blocks

E-blocks son pequeñas placas de circuitos que se pueden conectar fácilmente entre sí para formar un
sistema electrónico. Hay dos tipos de E-Blocks. Río arriba y tableros
Río abajo planchar.

Una variedad de tablas se pueden combinar para crear un sistema completo con placas aguas abajo conectados a tableros
aguas arriba.

E-blocks son compañeros ideales para el software Flowcode, lo que permite a los usuarios probar y desarrollar sus programas

Flowcode. Los programas pueden ser compilados directamente a las juntas, proporcionando entornos de desarrollo ideales.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 26


El uso de E-Blocks Sección 2

E-blocks consisten en tableros aguas arriba y aguas abajo juntas.

tableros aguas arriba

'Upstream' es un término de computación que indica un tablero que controla el flujo de información en un sistema. Por lo general,
se programan de alguna manera.

Cualquier dispositivo que contiene la 'inteligencia' y puede dictar la dirección del flujo de la información en el bus puede ser pensado como un
dispositivo de 'corriente arriba'.

Los ejemplos incluyen placas de microcontrolador, y placas de dispositivos de lógica programable.

tableros de aguas abajo

tableros de 'aguas abajo' son controladas por una junta de 'corriente arriba', pero la información puede fluir dentro o fuera de ellos. Los ejemplos

incluyen placas de LED, paneles de LCD, tableros RS232 etc.

tableros aguas arriba y aguas abajo combinan para formar un sistema completo, con las placas de aguas abajo enchufar en los tableros
aguas arriba 'inteligentes':

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 27


El uso de E-Blocks Sección 2

BL0011 PIC Programmer


• La junta tiene cinco puertos, con la etiqueta A a E.

• Puertos 'B', 'C' y oferta completa funcionalidad de 8 bits 'D'.

• Puerto 'A' tiene 6 bits funcionalidad (8 bits si se selecciona el oscilador interno).


• Puerto 'E' tiene una funcionalidad de 3 bits.

• Puede ser alimentado por una fuente de alimentación externa, la entrega de 7.5V a 9V o con alimentación a USB.

• Si se pulsa el interruptor de reinicio, el programa almacenado en el microcontrolador se reiniciará.

• La junta es programable USB a través de un chip de programación. Este se encarga de la comunicación entre Flowcode
y el microcontrolador.
• El microcontrolador ejecuta una instrucción por cada cuatro pulsos de reloj que recibe.
• (Nota - una sola instrucción no es lo mismo que un solo símbolo Flowcode, que se compila en C y luego en la Asamblea y,
probablemente, se traduce en una serie de instrucciones).
• Este curso utiliza un cristal de 8 MHz que se multiplica hasta 32Mhz internamente.
• Conmutadores permiten al usuario seleccionar una serie de opciones.

• Fuente de alimentación externa o la fuente de alimentación USB.

• Cuando el microcontrolador utiliza un oscilador interno, todos los ocho bits de puerto A se pueden utilizar para la operación de E / S.

• El uso de una herramienta PICkit3 de Microchip a través de cabecera ICSP.

• Viene con una superficie montada dispositivo PIC16F18877.


• Proporciona energía a la E-blocks aguas abajo a través de placas de los conectores de puerto.

• Contiene el chip Santo matriz que permite en tiempo real de depuración en circuito en cuando se combina con Flowcode.

Para información general programador Arduino, consulte el Anexo 1, Sección A (página 89).

Para información general programador E-blocks1 consulte el Anexo 2, Sección A (página 94).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 28


El uso de E-Blocks Sección 2

Junta Combo BL0114


La junta combina juntos en un tablero compacto de la funcionalidad que se encuentra en una serie de tablas de E-blocks
individuales:

• Junta BL0167 LED (x2)


• BL0169 tablero LCD
• Panel de conmutación BL0145 (x2)

• Para este supuesto, los conectores de puerto se adhieren a los conectores hembra de los puertos A y B de la placa de aguas arriba.

• La junta proporciona un conjunto de ocho interruptores y ocho LEDs para el puerto A y el mismo para el puerto B.

• Con el interruptor principal en la posición DIG, el puerto A se encamina a sus interruptores pulsadores (SA0 a SA7), para LEDs (LA0 a
LA7) y al quad display de 7 segmentos.

• Con el interruptor principal en la posición de ANA, el puerto A se conmuta a la sección del sensor analógico de la junta, de modo
que RA0 pin está conectado a la de a bordo sensor de luz y RA1 pin está conectado al potenciómetro para dar una tensión de
salida variable, (simulando la acción de un subsistema de detección analógica).

Nota: Con el interruptor en la posición de ANA, los interruptores de a bordo y los LED LA0 y LA1 no funcionarán.

• Puerto BI / O pasadores se enrutan a sus interruptores pulsadores (SB0 a SB7), a los LED (lb0 a LB7), para los quad displays de 7
segmentos y a la pantalla LCD.
• El quad display de 7 segmentos está activada por el interruptor '7SEG'. Está conectado a ambos puertos A y B.

• Puerto B se utiliza para controlar los segmentos LED y el punto decimal).


• Port A, los bits 0 a 3, seleccionar qué pantalla se activa.

• La pantalla LCD es un módulo x 4 líneas de 20 caracteres, encendido por el interruptor 'LCD'. Normalmente, un complejo dispositivo de

programar, Flowcode se ocupa de las complejidades, sin ser visto por el usuario.

Para el tablero de E-blocks1 combinado (EB083) visión general consulte el Apéndice 1, sección B (página 95).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 29


El uso de E-Blocks Sección 2

Conexión de E-blocks juntos


E-blocks2 se basa en un concepto basado en bus. Cada bloque de E-conecta junto con
un conector Har-flex de 16 pines, con los puertos femeninos unidos a los tableros aguas
arriba 'inteligentes' y los conectores macho unido a las juntas de aguas abajo.

El diagrama muestra que los tres primeros pasadores

se utilizan para transferir la alimentación a la placa

de aguas abajo, pasadores 4,15 y 16 están

reservados.

Los pines 5 y 6 están conectados a tierra,


mientras pines 7-14 son los pines que
transfieren los 8 bits por valor de datos entre las
tablas.

Para las conexiones de E-blocks1 favor ver


Apéndice 2, Sección C (página 96).

El uso de E-blocks en el banco


No es necesario un backplane de usar E-blocks - sólo tiene que conectarlos
entre sí en el banco.
En cada paquete de E-blocks se encuentra a cuatro pequeñas patas de goma para facilitar
esto. Estos proporcionan un grado de protección para las tablas Eblocks y ayudan a prevenir
cortocircuitos de alambre de cobre estañado y otros objetos metálicos en el banco.

La desventaja es que su sistema de E-blocks es menos portátiles como los conectores


estarán bajo más estrés que el sistema se mueve alrededor.

La protección de los circuitos de E-blocks

Siempre que sea posible, los componentes con plomo se han utilizado para los dispositivos de E-blocks tableros que son susceptibles
a daños eléctricos. Esto hace que la tarea de sustituirlos sencilla en caso de que se dañen.

Para proteger los componentes mercados anteriores, todos los 'aguas abajo' E-blocks placas incluyen resistencias de protección. Si se producen

errores al declarar la naturaleza de pines del puerto, por ejemplo una entrada declarada como una salida, se causó ningún daño.

Sin embargo, hay circunstancias en las que es posible causar daños:


• Hay que tener cuidado cuando se utilizan conectores de terminales de tornillos y placas de parche / prototipo.

• Siempre que sea posible, utilizar resistencias de protección para las líneas que necesita para conectarse al conectar dos placas de

mercados anteriores junto con un cambiador de género E-bloque.

• Asegúrese de masa uniéndose antes de manipular placas de circuitos E-blocks para minimizar el riesgo de daños por electricidad estática.

Si usted no ha conseguido una pulsera antiestática, a continuación, toque de un radiador u otro objeto metálico conectado a tierra.

Antes de hacer cualquier cambio en el sistema de E-blocks, apague la fuente de alimentación.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 30


Seccion 3: Introducción a
Flowcode

xxxxxxxxxxxxxxxxxxxxxxxxxx
Flowcode le permite crear aplicaciones de microcontroladores de arrastrar y soltar iconos en un diagrama de
flujo para crear programas. Estos pueden controlar los dispositivos externos conectados al microcontrolador tales
como LEDs, pantallas LCD, etc.

Una vez que el diagrama de flujo se ha diseñado, su comportamiento puede simularse en Flowcode

antes de que se compiló el diagrama de flujo, montado y transferido a un microcontrolador.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 31


Introducción a Flowcode Seccion 3

Introducción a Flowcode

Esta sección permite a aquellos que son nuevos en Flowcode para entender la forma en que se puede utilizar para desarrollar programas. Se
le permite crear programas paso a paso para aprender acerca de cómo funciona Flowcode. Aconsejamos que se trabaja a través de cada
sección para que se familiarice con todas las opciones y características de Flowcode y se introduce a una serie de técnicas de programación.
A medida que trabaja a través de cada sección, consulte también el archivo Flowcode ayuda. Los principales iconos Flowcode se introducen
a su vez.

Específicamente en esta sección aprenderá:


• cómo utilizar Flowcode cada icono (excepto al icono de código C).

• cómo los componentes fundamentales en el trabajo Flowcode - los componentes LED, LCD, ADC, interruptores, pantalla de 7 segmentos,

patio de la exhibición de 7 segmentos, teclado y EEPROM.

Lo que es Flowcode

El proceso
1. Crear un nuevo diagrama de flujo, que especifica el microcontrolador que desea orientar la campaña.

2. Arrastrar y soltar iconos de la barra de herramientas en el diagrama de flujo y configurarlos para crear el
programa.
3. Añadir dispositivos externos haciendo clic en los botones en la barra de herramientas componentes.

4. Editar sus propiedades, incluyendo la forma en que están conectados al microcontrolador, y configurar
cualquier macro que utilizan.

5. Ejecutar la simulación para comprobar que el programa se comporta como se esperaba.

6. Transferir el programa al microcontrolador compilando el diagrama de flujo a C, y luego a código ensamblador y finalmente a código
objeto.

visión general Flowcode

El entorno Flowcode consta de:


• un área principal de trabajo en el que se muestran las ventanas de diagrama de flujo.

• un número de barras de herramientas que permiten iconos y componentes que han de añadirse al diagrama de flujo.

• los paneles del sistema y el salpicadero que muestran los componentes conectados y proporcionan capacidades básicas de dibujo.

• el panel Explorador de proyectos que muestra las variables del proyecto, macros y macros componentes.

• el panel Lista de iconos que muestra marcadores, puntos de ruptura y los resultados de búsqueda.

• ventanas que permiten la condición de que el microcontrolador se puede ver.


• ventanas que muestran las variables y las llamadas macro cuando se simula el diagrama de flujo.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 32


Introducción a Flowcode Seccion 3

Estilo oscura Estilo de la luz

claro Goto> Ver> Estilo> luz / oscuridad

Una pantalla típica (probar la 7SEG)

La barra de herramientas de las

barras de herramientas y paneles de iconos

iconos de arrastrar y soltar de esta barra de herramientas en la ventana principal de diagrama de flujo para crear la aplicación

diagrama de flujo. Normalmente posicionado en el IZQUIERDA lado derecho de la pantalla, pero puede ser desacoplado.

barra de herramientas de componentes

Conectar componentes externos al microcontrolador o use los comandos básicos de dibujo del panel. Los componentes se agrupan
en diferentes categorías que aparecen como menús desplegables. Haga clic en un componente y que se añadirá al
microcontrolador y aparecen en el panel. Las conexiones de las patillas y las propiedades del componente de entonces se pueden
editar. Normalmente posicionado en el PARTE SUPERIOR lado izquierdo de la pantalla junto a los iconos de la barra esta barra de
herramientas, puede ser desacoplado.

barra de herramientas de menú y de simulación

• Abrir y guardar archivos.

• Deshacer y rehacer acciones.

• Imprimir su diagrama de flujo.

• Controlar las funciones de simulación y de descarga. Flowcode se puede utilizar en un estilo oscuro o

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 33


Introducción a Flowcode Seccion 3

Tablero de instrumentos y los paneles del sistema

Los componentes que se conectan al microcontrolador se mostrarán en uno de estos paneles donde se puede interactuar con ellos
cuando se ejecuta una simulación.

También proporcionan características básicas de dibujo como

líneas, formas e imágenes, que pueden ser utilizados para

construir paneles professionallooking avanzadas. los Panel del

tablero de instrumentos es principalmente para su uso en 2D

aunque no ofrece una vista 3D fijo. Se utiliza generalmente como

una interfaz que muestra los controles para componentes

interactivos.

los Panel System es el principal panel 3D, que ofrece


muchas más funciones y opciones:

• el control pleno de la cámara.

• ambientes de fondo editables con vistas predeterminadas Sky Dome y World cúpula.
• La opción de utilizar una imagen como fondo.
• el modo de sombra, ofreciendo opciones de sombra del objeto de sobremesa y.

Más detalles sobre estos paneles se encuentran en el 'Flowcode - Guía de introducción'.

(Ver> 3D: Panel System) / (Ver> 2D: El panel del tablero de instrumentos)

panel de propiedades

Todos los elementos del panel, incluyendo el propio panel, se han asociado propiedades que se muestran en el

panel Propiedades cuando se selecciona el elemento. mientras que otros pueden ser manipulados Algunos son de

sólo lectura. Algunos, como el tamaño y la posición, el cambio a medida que interactúan con el artículo. Otros

permiten el acceso a funciones más avanzadas del elemento seleccionado. El panel Propiedades típicamente se

acopla a la parte derecha de la pantalla, pero se parece a esto cuando desacoplado:

(Ver> Propiedades del panel)

Explorador de proyectos

Los botones en la parte superior de este panel permiten seleccionar Puertos, Globals, macros y Componentes.

• puertos - nombres de las variables asignadas a los puertos del microcontrolador.

• Globals- las constantes y variables que se han definido para su uso en el proyecto actual.

• macros - macros creadas por el usuario en el programa actual y permite al usuario arrastrar ellos en el diagrama
de flujo de corriente.

• componentes - similar, excepto que también enumera los componentes que están presentes en el panel.

(Ver> Explorador de proyectos)

lista de iconos

Todos los marcadores, puntos de ruptura y los iconos con discapacidad se enumeran,

junto con los resultados de búsqueda y de error.

(Ver> Listas de iconos)

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 34


Introducción a Flowcode Seccion 3

ventana de chip

Se muestra el pinout para el chip microcontrolador seleccionado actualmente. Cuando se simula


el diagrama de flujo, el estado de cada microcontrolador pin I / O se muestra como rojo o azul,
para 'alto' o 'bajo' salidas respectivamente.

(Ver> Chip)

Acoplamiento y desacoplamiento de las barras de herramientas y paneles

Barras de herramientas y paneles pueden ser desacoplado desde sus posiciones predeterminadas y, o bien dejarse libres flotante,

o atracado a la parte superior, inferior o los lados de la ventana Flowcode.

Para desacoplar una barra de herramientas acoplada, basta con hacer clic y mantenga en la barra de herramientas barras de apoyo ( el área

moteada en la parte superior o lateral de la barra de herramientas) y arrastre la barra de herramientas a su nueva posición.

Para acoplar de nuevo, haga doble clic en el barra de apoyo.

Ejemplo que muestra barras de herramientas flotantes

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 35


Introducción a Flowcode Seccion 3

ventana de diagrama de flujo

Los iconos que componen el diagrama de flujo se muestran en este espacio principal. El texto

cambiará dependiendo de las propiedades seleccionadas, macros componente llamado etc., los

nombres de visualización pueden ser cambiados por el usuario para ayudar a la organización del

proyecto.

Una estrella roja junto a un icono indica que el diagrama de flujo no se ha guardado en
su forma actual.

Simulación
Al simular un programa en Flowcode un rectángulo rojo alrededor
de un icono indica el icono para ejecutar la próxima.

depurador de simulación

Al simular un diagrama de flujo, los valores actuales de


las variables utilizadas en el programa aparecen en
esta ventana. Estos se actualizan después se simula
un comando (a menos que la simulación está
funcionando a toda velocidad - 'Lo antes posible').

Si pulsa el botón de pausa durante la simulación, puede hacer clic en una variable en esta ventana para cambiar su valor (que le
permite probar el programa en condiciones conocidas). La ventana también muestra la macro actual que está siendo simulada bajo la Las
llamadas macro sección, útil cuando una macro llama a otro durante el proceso de simulación.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 36


Introducción a Flowcode Seccion 3

Por favor, véase también la Sección 4 Primer Programa Flowcode Página 43

Inicio de un nuevo organigrama

• Crear un nuevo diagrama de flujo seleccionando Archivo> Nuevo o haga clic en el Nuevo botón de la Barra de herramientas principal.

• Seleccione el microcontrolador que desea orientar la campaña de la lista presentada.


• Flowcode a continuación, muestra que en el microcontrolador Chip ver ( Ver> Chip) y crea un diagrama de flujo de vacío para que
pueda empezar a añadir iconos a.

La apertura de un diagrama de flujo existente

Hay varias maneras de abrir una diagrama de flujo Flowcode existente:


• Seleccionar la opción Abrir en el menú Archivo ( Archivo> Abrir) o haga clic en el Abierto botón de la Barra de herramientas principal. Esto

le permitirá buscar el archivo que desea.


o
• Seleccione el archivo de la lista de archivos usados ​recientemente en el menú Archivo.

o
• Haga doble clic en un archivo de Flowcode (.fcfx) en el Explorador de Windows para iniciar Flowcode y abrir el archivo.

Guardar un diagrama de flujo

Para guardar un diagrama de flujo, seleccione el Salvar o Guardar como Opciones desde el menú Archivo.

(Archivo> Guardar / Guardar como) .

Diagramas de flujo deben ser salvados antes de que puedan ser compilados a do o transferido a un microcontrolador.

Diagrama de flujo de ahorro de Imágenes

Para guardar una imagen del diagrama de flujo activa, seleccione Guardar Diagrama de flujo actual desde el Guardar imagen submenú en el Expediente

menú ( Archivo> Guardar imagen> Guardar Diagrama de flujo de corriente) .

Esta función guarda una imagen del programa a cualquier archivo en el formato elegido de la lista:
• Mapa de bits (* .bmp)

• JPEG (* .jpg; *. Jpeg)


• GIF (* .gif)
• PNG (* .png)

Tenga en cuenta que la tasa actual del zoom se utiliza para determinar la resolución de la imagen guardada. Si necesita imágenes de alta calidad para la

impresión a continuación, aumentar la tasa de zoom. Desde el Guardar imagen menú, también tiene la opción de guardar la imagen actual de cualquiera

de los

Panel del tablero de instrumentos o la Panel System

(Archivo> Guardar Imagen> Guardar la imagen del tablero de instrumentos / Guardar imagen System) .

Estas imágenes se pueden guardar en cualquier formato de archivo seleccionado de la lista:

• Modelo (* .mesh)
• Mapa de bits (* .bmp)

• JPEG (* .jpg; *. Jpeg)


• GIF (* .gif)
• PNG (* .png) Modelo (* .mesh)

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 37


Introducción a Flowcode Seccion 3

El menú Ver
Esto determina qué paneles y barras de herramientas aparecen en el espacio de trabajo, una característica útil cuando se trata de simplificar su

apariencia. También tiene una Enfocar menú, que le permite mostrar más iconos en la ventana del espacio de trabajo que cuando se utiliza el zoom

predeterminado. El ajuste de zoom actual se muestra en la Enfocar submenú, y en el lado derecho de la barra de estado, en la parte inferior de la

ventana Flowcode. El tamaño de cada icono está determinado por el nivel de zoom - para los iconos más grandes, zoom - para los iconos más

pequeños, alejar. Utilice la función de vista previa de impresión para optimizar el aspecto de su diagrama de flujo en el papel. los Enfocar menú

también se puede acceder haciendo clic derecho en el espacio de trabajo de diagrama de flujo. Funcionar combinaciones de teclas:

• Aumentar Zoom (F3) - aumenta el tamaño zoom en un 5%

• Reducir (F2) - disminuye el tamaño de zoom por 5%


• zoom predeterminado (F4) - configurar el zoom al 75%

• Zoom para encajar - El zoom para encajar todo el diagrama de flujo en la ventana actual

• Zoom para encajar con la anchura - Aplica el zoom a la anchura del diagrama de flujo en la anchura de la ventana.

Opciones globales

los Ver menú también incluye una Opciones globales zona, ofreciendo una serie de potentes herramientas para configurar el diagrama de flujo ( Goto>

Ver> Opciones globales) Una abierta, seleccione la pestaña correspondiente.

Diagrama de flujo Tab

Esta pestaña contiene los ajustes para cambiar el estilo de fuente y

el tamaño y características de los iconos.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 38


Introducción a Flowcode Seccion 3

esquema Tab
Esta pestaña contiene los ajustes para cambiar la apariencia del
diagrama de flujo, incluyendo colores de los iconos y gráficos, colores
de fondo y los patrones etc.

pestaña anotación

Todos los ajustes de esta ficha se relacionan con la manipulación de las

anotaciones en el diagrama de flujo, incluyendo texto icono y

descripciones, así como información sobre herramientas de anotación y

estilos.

También la posibilidad de añadir comentarios icono en el código C.

pestaña de aplicaciones

Estos ajustes afectan al aspecto y la 'sensación' de todo el


programa.

La piel pre-series y opciones de la ficha cambiar el aspecto general de


Flowcode. También ofrece la posibilidad de imprimir en color y cambiar
la configuración de acceso web. los el lenguaje de anulación opción
permite al usuario anular la configuración de idioma Flowcode defecto y
para mostrar Flowcode en un idioma determinado. Para ello,
seleccionar el idioma entre los disponibles en la lista desplegable y
reiniciar Flowcode. Lo hará en el idioma seleccionado, siempre que el
paquete de idioma correspondiente se ha instalado.

Tab editor
Auto-editar nuevos iconos Se abre el panel Propiedades cuando se añade

un nuevo icono para el diagrama de flujo. Utilizar el Añadir iconos

comentarios a C opción de código para incluir sus comentarios asociados al

iconos son compilados a código C. los Permitir que los errores en los

diagramas de flujo opción le permite editar las propiedades del icono sin

desencadenar mensajes de error. los Permitir los puertos y pines

inconexas opción le permite cambiar conexiones de los componentes de

desconectado sin desencadenar un mensaje de error (aunque éstos se


siguen produciendo durante la simulación y la compilación).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 39


Introducción a Flowcode Seccion 3

Tab ubicaciones

Esto le permite elegir el directorio de destino que se compila a


Flowcode por defecto. También le permite especificar los
directorios que Flowcode debe buscar en la búsqueda de
componentes y diccionarios.

alcance de la lengüeta

los Alcance de datos permite al usuario ver los resultados y valores de

datos en bruto y de los componentes de sí mismos. Estos datos se

muestran durante la simulación y permite al usuario monitorizar señales

seleccionadas sobre los diferentes canales de osciloscopio. Puede leer

y visualizar los datos de un número de diferentes puertos

simultáneamente. Ajuste de la

base de tiempo permite al usuario ver una pequeña cantidad de datos a


una mayor precisión o grandes cantidades de datos.

Obtención de ayuda con Flowcode

Flowcode tiene en su interior y una extensa línea wiki que se puede acceder a través del
programa en sí mismo o por medio de un navegador de Internet y visitar esta página:

http://www.matrixtsl.com/wiki/

También puede acceder a la wiki Flowcode desde el interior del propio programa, vaya a la
sección 'Ayuda' de la Barra de herramientas principal y haciendo clic en el Ayuda… opción
de menú a partir de ahí. Esto abrirá una nueva ventana interna dentro Flowcode que
cargará la primera página de la wiki Flowcode.

Además cada componente dentro de Flowcode tiene una página en el wiki lo


que explica todas las macros dentro de ella, y por lo general incluye algunos
ejemplos.

Para acceder al componente de ayuda, simplemente haga clic con el puntero del ratón sobre

cualquiera de los componentes, ya sea en el panel 2D o 3D y seleccione Ayuda.

Desde aquí se puede ver:


• Explicación del componente
• Algunos ejemplos del componente en uso
• referencias macro explicando lo que cada macro más los parámetros y
valores de retorno.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 40


Introducción a Flowcode Seccion 3

Obtención de ayuda con Flowcode

Flowcode tiene en su interior y en línea una extensa wiki que se puede acceder a través del
programa en sí mismo o por medio de un navegador de Internet y visitar esta página:

http://www.matrixtsl.com/wiki/

También puede acceder a la wiki Flowcode desde el interior del propio programa, vaya a la
sección 'Ayuda' de la Barra de herramientas principal y haciendo clic en el Ayuda... opción
de menú a partir de ahí. Esto abrirá una nueva ventana interna dentro Flowcode que
cargará la primera página de la wiki Flowcode.

Además cada componente dentro de Flowcode tiene una página en el wiki que
explica todas las macros dentro de ella, y por lo general incluye algunos ejemplos.

Para acceder al componente de ayuda, simplemente haga clic con el puntero del ratón sobre

cualquiera de los componentes, ya sea en el panel 2D o 3D y seleccione Ayuda.

Desde aquí se puede ver:


• Explicación del componente
• Algunos ejemplos del componente en uso
• referencias macro explicando lo que cada macro más los parámetros y valores de retorno.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 41


Sección 4: Flowcode

primer Programa

xxxxxxxxxxxxxxxxxxxxxxxxxx
La adición de salidas digitales - iluminar el LED

Crear un programa que se ilumina una LED unido al microcontrolador. Este programa
introduce el tema de cómo controlar una salida digital.

El tutorial ofrece una clara, paso a paso lo que le permite crear su primer programa usando Flowcode.
Se puede ejecutar en modo de simulación de Flowcode antes de compilar a la junta para pruebas y
desarrollo.

Set-up usando E-Blocks 2.

Nota: Este tutorial se refiere a la configuración del puerto (puertos A y B) tal como se utiliza con PIC.

Para los usuarios de Arduino, por favor utilice los puertos C y D, según corresponda. (Puerto

C sobre 'Mapas' el Arduino al puerto A de la junta Combo).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 42


Primer programa Flowcode Sección 4

Iniciar un nuevo proyecto

Seleccione Proyecto 'Nuevo'' en la caja o Goto> Archivo> Nueva y elegir un microcontrolador


de destino de la lista que aparece. Para el E-Blocks2 BL0011 BL0080 o programador,
seleccione 16F18877.
(E-blocks1 uso 16F1937)
(Arduino utilizar Arduino Uno R3 PDIP)

Configuración del proyecto se puede hacer

en una variedad de maneras. Aquí el chip

16F18877 se ha seleccionado la imagen PIC

vía.

En lugar de seleccionar el

16F18877 de chip, las tablas puede ser

seleccionado directamente. Aquí el

BL0011 junta ha sido seleccionado a través de la

imagen GRATIS.

Aquí la placa Arduino ha sido seleccionado a

través de la imagen GRATIS.

PROPINA: Esto se puede cambiar más adelante si uno se equivoca.

Goto> Construir> Opciones de proyecto> elegir un objetivo

y seleccionar un microcontrolador de destino de la lista que aparece como

antes.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 43


Primer programa Flowcode Sección 4

Añadir una matriz de LED (PCB) para el panel del sistema 3D.
salidas
La matriz de LED se puede encontrar bajo salidas en la barra de

herramientas de componentes.

Goto> Componente Barra de herramientas> Salidas> Array

LED (PCB)> Añadir al panel sistema 3D

Crear un diagrama de flujo.

Mueva el cursor sobre el Lazo icono, en la barra de herramientas


de iconos. Haga clic y arrastra sobre el área de trabajo. Mientras lo
arrastra, el cursor normal, se transforma en un pequeño icono.
Moverlo entre los iconos 'begin' y 'Fin'. Mientras lo hace, una
flecha que aparece mostrando donde el Lazo se colocará icono.
Suelte el botón del ratón para soltar el icono de entre las cajas
'begin' y 'Fin'.

Salida

Añadir una Salida icono entre

el bucle en el diagrama de

flujo de la misma manera.

Lazo

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 44


Primer programa Flowcode Sección 4

Cambio de configuración del puerto

Haga doble clic en el icono de salida


Seleccione Puerto B. de
que usted ha puesto en su diagrama de
entrada un valor de 1.
flujo y la propiedades cuadro se van a

plantear.

(Usted ha hecho esto porque los

LEDs en su panel de sistema 3D

están actualmente conectados al

puerto B, por lo que está enviando el Salida

al mismo puerto).

Ejecutar la simulación.

Selecciona el correr icono de la barra de menús y la simulación del LED se

iluminará en el panel del sistema 3D.

Ejecutar (F5)

modo de simulación

Stop (Shift + F5)

CONSEJO: Recuerde que parar la simulación antes de hacer cualquier otra cosa.

(Si no lo está haciendo Flowcode como lo esperado, compruebe que no ha dejado accidentalmente su funcionamiento simulación).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 45


Primer programa Flowcode Sección 4

Salvar su programa y luego Compilar a chip para poner a prueba en el tablero. Usted debe ver la luz del LED hasta primera. Selecciona el Compilar a

chip imagen del menú como se muestra, o Goto> Construir> Compilar de chips

Guardar (Control + S)

Compilar a chip

LED fila inferior

Los cambios para tratar después de encender con éxito su LED.

Resaltar la imagen de la matriz de LED en el panel del sistema 3D y haga clic derecho para seleccionar el Propiedades.

Aquí puede cambiar el número de LEDs en la matriz cambiando el valor bajo contar.
Trate de cambiar el color de los LED en la simulación como se muestra a continuación.

valores de propiedades para 6 LED rojos. 6 LED rojos en simulación.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 46


Primer programa Flowcode Sección 4

Cambiar la configuración del puerto.

Abrir las propiedades del icono de salida (doble clic) y cambiar la configuración del puerto de Puerto A.

Resaltar la imagen de la matriz de LED en el panel del sistema 3D y haga clic derecho para seleccionar el propiedades, y cambiar la configuración del puerto

a Puerto A.

Ejecutarse en modo de simulación

y luego compilar a chip. Debería

ver el primer LED de la luz de otra

fila hacia arriba.

LED fila superior

Se puede practicar el cambio de los puertos, cambiando de nuevo a el puerto B.

Cambiar el valor de 1 a 255. Prueba en el modo de simulación y a continuación, compilar a chip (los 8 LEDs se iluminan). Experimento utilizando otros

valores. ( TIP: Ver Sistemas de números hoja de cálculo).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 47


Primer programa Flowcode Apoyo

Numeros binarios

dispositivos electrónicos digitales no pueden hacer frente a los números decimales. En su lugar,
Decimal Misma en binario
utilizan el sistema binario, que utiliza sólo dos números 0 y 1. El número 1 podría estar representado
0 0
por una señal de alta tensión, mientras que el número 0 podría ser un voltaje bajo.
1 1

2 10
El sistema decimal utiliza diez números, 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. Al llegar al último de
3 11
éstos, 9, podemos empezar de nuevo con 0, pero añadir otro número en el frente. Por
4 100
ejemplo, después de 8 y 9 viene 10, y después de 18 y 19 viene 20 y así sucesivamente.
Cuando llegamos a 99, ambos vuelven a 0s pero con un 1 delante, para hacer 100. 5 101

6 110

7 111

valor binario 8 1000

9 1001
dieciséis 8 4 2 1
10 1010

En binario, ocurre lo mismo, pero mucho más a menudo, ya que utiliza sólo 0s y 1s. El conteo
progresivo comienza con 0, 1, luego de vuelta a 0 con un 1 en la parte delantera, por lo que 10 (no diez Decimal Misma en binario

- es dos) A continuación viene 11 (tres) y empezar de nuevo con dos 0s pero con un 1 delante, para 1 1
dar 100 (cuatro) y así sucesivamente.
2 10

4 100

Tenga en cuenta que cada vez que los binarios 1 se mueve un lugar a la izquierda, que doble 8 1000

el valor del número en decimal.


Podemos usar esta idea para convertir entre sistemas numéricos.

CONSEJO: En cualquier número binario, la broca en el extremo de la izquierda, el bit más significativo (MSB), tiene el más alto

valor. El que está en el extremo de la derecha, el bit menos significativo (LSB), vale menos.

Los números hexadecimales

Hexadecimal, 'hexagonal' para abreviar, es un otro sistema para representar números.


• Un dígito binario es o bien 0 o 1.
• Un dígito decimal varía entre 0 y 10.
• Un dígito hexadecimal tiene dieciséis estados posibles.

Dieciséis estados es un problema, ya que tenemos sólo los dígitos del 0 al 9. Para evitar esto, utilizamos las letras A a F para proporcionar
los seis dígitos adicionales requeridos.

Trabajar con el número binario con ocho dígitos es una convención útil como computadoras (y el PIC MCU) almacenan la información
en grupos de ocho bits.

Una celda de memoria único dentro de la PIC MCU puede almacenar un número que va de 0000 0000 y
1111 1111. En decimal de este rango es de 0 a 255. El equivalente en hexadecimal es de 0 a FF.

CONSEJO: Puede introducir un número hexadecimal en Flowcode precediendo con '0x' en cualquiera de los cuadros de diálogo.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 48


Primer programa Flowcode Sistemas numéricos

Las construcciones de codificación - Sistemas numéricos

Una célula de memoria única dentro de un dispositivo PIC puede

almacenar un número que va de 0000 0000 y

1111 1111. En decimal de este rango es de 0 a 255. El equivalente

en hexadecimal es de 0 a FF.

Tareas

1
a) El sombreado en los LEDs que se encienden, para las tres primeras filas.

b) la elaboración de lo número produce los patrones de LED que se muestran en las tres últimas filas.

mismos patrones de LED usando Hex? Complete el siguiente cuadro por:

2 Utilizar Flowcode a:

a) Comprobar el trabajo de la tabla anterior usando Flowcode.

b) Introducir un número hexadecimal en Flowcode precediéndolo con '0x' en cualquiera de los cuadros de diálogo. Se puede iluminar los

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 49


Sección 5: Flowcode

Ejemplos

Todos estos ejemplos se pueden probar usando un PIC o un microcontrolador Arduino.

Arduino usuarios deben familiarizarse con las Los ajustes de Arduino En el Apéndice 1, (página 88) y
ajustar la configuración del puerto en consecuencia.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 50


Ejemplo Flowcode 1 Fuego

Ejemplo 1. La adición de entradas digitales - ¿Dónde está el fuego?

El escenario

Un gran edificio tiene una serie de sensores de calor en su sistema de


alarma contra incendios. Cuando se produce un incendio, los bomberos
tiene que saber donde está el fuego. En otras palabras, necesitan saber qué
sensor de calor ha disparado la alarma.

El sistema está controlado por un PIC MCU. Hay cinco sensores de calor,

conectados como entradas al puerto A. puerto B se configura como puerto de

salida y conectados a un conjunto de cinco LEDs. Si un sensor detecta el calor de

un incendio, el LED correspondiente se ilumina.

Configuración del diagrama de flujo

Flowcode abrir y crear un nuevo proyecto adecuado para la junta

que está utilizando. Arrastrar el icono de bucle, la icono de llave

de entrada y el icono de salida en su Diagrama de flujo de la

barra de herramientas de icono para crear un diagrama de flujo

como se muestra. Conjunto imput al puerto A y Salida al puerto

B.

Para los usuarios de Arduino, por favor utilice los puertos C y


D, según corresponda.

(Puerto C sobre 'Mapas' el Arduino al puerto A de la junta


Combo).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 51


Ejemplo Flowcode 1 Fuego

La creación de las variables

• Haga clic en el icono de entrada y seleccione propiedades en el menú. los Propiedades

de entrada Aparece el cuadro de diálogo, que se muestra opuesto. Esto nos permite

añadir una variable.

Pero lo que es una variable? UNA variable es un lugar donde podemos almacenar

información, en particular, la información que cambia a medida que nuestro programa

se ejecuta. En este caso, es el número del sensor de calor que activa la alarma. Puede

ser que sea el sensor 1 que se apaga, o el sensor 5 .... .

Vamos a utilizar una variable llamada SENSOR para almacenar la


información en la que se ha activado el sensor.

• Haga clic en la flecha al lado del cuadro variable.


Verá el siguiente cuadro de diálogo.

• Ahora coloca el cursor sobre la palabra Variables y aparece la flecha. Haga

clic en él y seleccione Añadir nueva.

Otro cuadro de diálogo, se muestra contrario, parece, que ofrece una gran
variedad de tipos de variables. Por ahora, aceptar el tipo de defecto Byte, una
variable que puede almacenar números del 0 al 255. Escriba el nombre SENSOR
como el nombre de la nueva variable y haga clic en el botón 'OK'. Ahora
aparece en la lista de variables que el diagrama de flujo puede utilizar.

• Haga doble clic en el nombre de la variable para utilizarlo, o,


alternativamente, hacer clic y arrastrar el nombre en el cuadro variable.

Ahora se ve la Propiedades de entrada caja de nuevo. Tenga en cuenta que

es necesario indicar al sistema qué puerto

que se va a utilizar para introducir los datos que necesita el sistema. Se establece en el puerto A en el momento, y vamos a
dejarlo así.
En este caso, el sistema necesita para controlar los sensores de calor y por lo que cada sensor se conecta a un poco diferente del puerto A. Haga

clic en 'Aceptar' para cerrar el cuadro de entrada Propiedades.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 52


Ejemplo Flowcode 1 Fuego

Más sobre variables

En la sección anterior que ha añadido una variable para el programa usando el cuadro
de diálogo variable.

Las señales de ordenador consisten en corrientes de binarios 0s y 1s en cada cable. Un

grupo de ocho cables puede llevar a ocho bits, (dígitos binarios) simultaneamente. Esta

agrupación de ocho bits, conocido como

byte se utiliza la mayor parte del cableado interno dentro de microcontroladores y para
los registros que mantienen y datos de proceso.

También se utiliza dentro de los subsistemas de memoria. El contenido de un registro

de memoria que tiene ocho bits puede variar de 0 a 255. Una variable dentro Flowcode

se puede configurar para utilizar un solo registro de memoria o más de uno.

Flowcode las variables:

Flowcode ofrece ocho tipos diferentes de variables:


• una Bool (booleano) variable de cualquiera de los dos puede ser 1 o 0 (verdadero o falso).

• un registro único, conocido como Byte variables, puede almacenar los números del 0 al 255.

• un registro doble, conocida como una En t variable puede almacenar números de -32768 hasta 32767.

• un doble registro también puede ser firmado, cuando es conocido como UInt variable, que puede almacenar los números del 0 al
65535..
• un registro de cuatro, conocido como Largo variables, puede almacenar los números de -2147483648 a

2147483647.
• un registro quad también puede ser firmado, cuando es conocido como ULONG variable, que puede almacenar números del 0 al
4294967295.

PROPINA: Utilizar una Byte variable para contadores simples y para las variables que no pasarán por encima del valor de 255. Es el más económico
en términos de espacio de memoria y también el más rápido. procesos matemáticos que implican a dos bytes (refiere a menudo como la aritmética de

16 bits) tardan más en ejecutarse. Un registro múltiple, conocido como un Cuerda variables, puede consistir en un número de Byte las variables - el

valor por defecto en Flowcode es 20.

Otros temas variables


Números de punto flotante ( que contienen un punto decimal en algún lugar de ellos), también se puede utilizar, aunque representan una

gama mucho más amplia de valores que un número entero. Ellos sufren una pérdida de precisión en grandes rangos. Por último una controlador

de objetos se utiliza para hacer referencia a una pieza más complicada de los datos (tales como un archivo, componente o un bloque de

texto), cuyo formato interno no se conoce.

¿Por que preocuparse?

El número de registros dentro de un microcontrolador es limitado, y en aplicaciones más grandes el número y tipos de variables debe
ser manejada con cuidado para asegurarse de que hay suficiente. En la descarga de un programa, las variables en Flowcode se
implementan en el Memoria de acceso aleatorio (RAM) Sección de la PIC MCU. En el 16F18877 hay 4096 bytes de memoria. Esto
significa que puede tener 4096 Byte variables, 2048 En t variables o 204 Instrumentos de cuerda cada uno consistente en veinte bytes
o caracteres.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 53


Ejemplo Flowcode 1 Fuego

Configuración de las salidas

• A continuación, haga clic en el icono de Salida y seleccione propiedades o simplemente haga doble

clic en él. Aparece el cuadro de propiedades de salida.

• Haga clic en la flecha, al lado de la Variable caja. Verá el


SENSOR variable de la lista.

• Haga doble clic en la palabra SENSOR o haga clic y arrastre a la


Variable caja.
• los Propiedades de salida cuadro muestra ahora que el sistema está configurado para dar salida

a todos los datos que se almacena en el SENSOR variable. Cambiar el puerto utilizado para la

conexión B, haciendo clic en la flecha, en la ventana del puerto, y luego hacer clic en PORTB en

el menú que se abre.

• Haga clic en 'Aceptar' para cerrar el cuadro de propiedades de salida.

• El diagrama de flujo ahora debería tener este aspecto:

Note las flechas en el icono de anotaciones. Muestran que la información se transmitirá desde el puerto A en el diagrama de flujo, a través de SENSOR,

( icono de entrada) y del diagrama de flujo, a través de SENSOR, a B (icono de salida) del puerto.

Adición de los LEDs

• Ahora haga clic en el salidas y seleccione el botón Matriz de LED (PCB)


icono. Haga clic y arrastre que en el panel de instrumentos.

• Cambiar el Contar propiedad bajo la sección de simulación para el valor 5, haga


clic en la casilla junto a la propiedad Count y utilizar el teclado para introducir el
valor.
• Haga clic junto al puerto, en la sección Conexiones para abrir una vista
interactiva del chip, mostrando las clavijas compatibles.
• Haga clic en el menú desplegable y seleccione la opción PUERTO B. Ahora ha conectado los LEDs a los pines en el puerto B.

(Para los usuarios de Arduino, por favor utilice los puertos C y D según el caso).
La adición de los interruptores

• Usted va a utilizar cinco interruptores para simular los cinco sensores de calor. El interruptor que se encuentra encendida (cerrado)

es el sensor de calor que ha disparado la alarma de incendios.

• Haga clic en el entradas y seleccione el botón Interruptor Array (diapositiva). Arrastre en un lugar adecuado en el panel del sistema.

• Haga clic en la casilla junto a la Contar propiedad y cambie el valor a 5. Compruebe que el componente está
conectado a Porta.

Simulando el programa
• Haga clic una vez en el Entrar en botón. los depurador de simulación ventana aparece, pero lo ignoran por ahora.

• Mueva el cursor sobre uno de los interruptores y hacer clic, para simular la detección de un incendio. El gráfico interruptor activa a la
posición cerrada. Haga clic en el Entrar en botón varias veces más para simular el programa completo.

El programa ha terminado. Usted acaba de detectarse un incendio, que se convirtió en un sensor de calor. El grupo de LED
que, o el cuerpo de bomberos, sensor que detecta el fuego dice.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 54


Ejemplo Flowcode 2 Oveja

Ejemplo 2. Uso de bucles - Cuenta de ovejas

Contar ovejas, mal al principio, pero sin quedarse dormido!

El plan es sencillo - cuando una oveja pasa a través de la puerta, se rompe un haz de luz. Esto
envía un pulso a un sistema de conteo, que luego se suma uno al total almacenado en el
sistema.

Le mostramos este total en la matriz de LED.

(Tenga en cuenta que Flowcode tiene un componente de rotura de viga, basado en el detector de colisiones. Aunque esto haría un trabajo
mucho mejor, por ahora detectamos la interrupción del haz de luz usando métodos más básicos).

Configuración del diagrama de flujo

• Flowcode lanzar y comenzar un nuevo diagrama de flujo.

• Crear el diagrama de flujo mostrado opuesto.

• Contiene una Lazo icono y una Cálculo icono.


• Contiene una imput y un icono Salida icono.

(Para los usuarios de Arduino, por favor utilice los puertos C y D según el caso).

La creación de las variables

Vamos a crear dos variables, una llamada OVEJA y la otra llamada TOTAL.

• los OVEJA variable mostrar si una oveja está presente o no.


• La variable TOTAL almacenará el número total de ovejas registrados hasta el momento.

• Hacer clic Ver en la barra de menú, y asegúrese de que el Explorador de proyectos se comprueba

( Ver> Explorador de proyectos).

• Haga clic en el Globals botón en la parte superior del panel Explorador de proyectos.

• Pase el ratón sobre Variable en el panel Explorador de proyectos y haga clic en la flecha para Añadir
nueva. Ahora se ve la Crear una nueva variable cuadro de diálogo. Escribir el nombre OVEJA y
haga clic en 'Aceptar'. Puede dejar el tipo de variable como Byte ya que no habrá que muchas
ovejas.
• Crear una variable llamada TOTAL del mismo modo.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 55


Ejemplo Flowcode 2 Oveja

Configuración del cálculo


• Haga doble clic en el Cálculo icono para abrir el cuadro de
diálogo Propiedades.
• Cambiar el Nombre para mostrar a "nuevo total".

• Crear el cálculo escribiendo lo siguiente en el cálculos


ventana:
Total = total + OVEJAS
• Vamos a simular romper el haz de luz mediante un interruptor

situado en el puerto A bit 0.

• los Entrada propiedades están configurados para almacenar cualquier número aparece en el puerto A en la variable llamada OVEJA. Inicialmente,
ese número es 0. Cuando se pulsa el interruptor, el número de puerto A y se almacena en la variable OVEJA es 1 (con un solo interruptor,
el número más grande que podemos crear en el puerto A es 1). Cuando el Cálculo icono se ejecuta, el número almacenado en la variable OVEJA
se añade a la TOTAL variable. Por lo tanto, cuando una oveja rompe el haz de luz, TOTAL se incrementa en 1. Con ninguna oveja
presente, TOTAL permanece sin cambios.

• Haga clic en el botón 'OK', para cerrar el cuadro de diálogo.

Configuración de propiedades de bucle

• Haga doble clic en el Lazo icono para abrir su


propiedades cuadro de diálogo. (Esto muestra las opciones para
controlar el bucle). Al lado de bucle while declaración es el
cuadro de texto de control de bucle, en el que escribe la
condición de bucle (el programa continúa bucle hasta que se
cumpla esta condición). Ejemplos de condiciones de bucle:

• count = 10 (Bucle se ejecuta, siempre y cuando

el 'count' variable = 10)


• contador> 4 (Bucle se ejecuta mientras el 'recuento' es mayor que 4)
• count = preestablecido (bucle se ejecuta siempre que el 'count' es la misma que la variable 'preset') En todos estos, bucle

continúa siempre que la condición en el bucle while cuadro de texto es " cierto'.

En la programación ' cierto' tiene un significado especial. Se le asigna un valor numérico de 1, de modo que una prueba puede
determinar si algo es " cierto '. Similar ' falso' se le asigna el valor numérico 0.

La condición predeterminada en el bucle while cuadro de texto es 1 - esta condición es siempre 'verdadero' y así, con este valor, el bucle
se ejecutará siempre. Programas por lo general contienen un 'bucle infinito' estructura. Si no lo hacen, el programa terminará pronto y el
ordenador simplemente sentarse sin hacer nada.

Cuando para probar?

Puede configurar las propiedades para probar la condición de bucle ya sea al comienzo del bucle o al final. La comprensión de
esta opción es importante. Puede afectar el número de veces que el bucle del programa.

Loop para un determinado número de veces

A veces, sólo desea ejecutar un bucle para un número determinado de iteraciones. Para ello, compruebe el cuenta de bucles casilla e introduzca
el número de bucles que desee en el cuadro de texto asociado.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 56


Ejemplo Flowcode 2 Oveja

Configuración de la entrada

• Haga clic en el Entrada icono, y seleccione propiedades en el menú, para ver


el cuadro de diálogo siguiente:
• Cambiar el nombre de visualización. Haga doble clic en Entrada en el

Nombre para mostrar la caja y el tipo " Compruebe el sensor".

• Haga clic en la flecha al lado del Variable caja para abrir el


Administrador de variables.

• Haga doble clic en la palabra " OVEJA' para insertarlo en el


Variable caja.
• Por defecto, el puerto de entrada es A, que es lo que queremos, (Arduino utilizar PORTC), Haga clic en 'Aceptar' para cerrar el cuadro de

diálogo.

Configuración de la salida

• Haga doble clic en el Salida icono para abrir la salida propiedades cuadro de diálogo.
• Haga clic en la flecha al lado del Variable caja.
• Haga doble clic en la palabra TOTAL para insertarlo en el Variable caja.
• En la salida propiedades caja, cambiar el puerto utilizado para PORTB, (Arduino utilizar PORTD).

• Haga clic en 'Aceptar' para cerrar el cuadro de diálogo. El

diagrama de flujo ahora debería tener este aspecto:

(Para los usuarios de Arduino, por favor utilice los puertos C y D según el caso).

Adición de la matriz de LED

• Haga clic una vez en el salidas cuadro y seleccione la matriz de LED icono. Colocarlo en el panel de sistema al mover el
cursor sobre él y luego 'clic y arrastrar' en su posición.
• Cambiar el valor de la Contar propiedad a 8 para ajustar el número de LEDs en la matriz.
• Haga clic en el conexiones propiedad en el propiedades cristal. Seleccione PORTB en el menú desplegable para conectar los
LEDs a los pines en el puerto B.
• Puede cambiar el color de la matriz de LED en el Colores sección.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 57


Ejemplo Flowcode 2 Oveja

Añadiendo el interruptor

• Un conmutador pulsador único representará el sensor de haz de luz.

• Haga clic una vez en el Entrada cuadro y seleccione Interruptor (Push, Panel) icono. Añadir o arrástrelo hasta el panel de

instrumentos.

• Sobre el propiedades cristal conexiones sección, comprobar que la Conexión Propiedad en el interruptor es $ PORTA.0 es decir, el
conmutador está conectado al puerto A bit 0.

• Goto> Formas> Etiqueta en Panel de la barra de herramientas del sistema para crear texto.

• Haga clic en el Etiqueta propiedad en el propiedades panel y sustituir el texto por defecto con " interrupción del haz de luz".

• Para ajustar el tamaño del texto, haga clic en el Posición ficha y cambiar los valores de ' Anchura 'Y' Altura ' bajo la ' Tamaño
Mundial ' sección. Mover el texto a una posición adecuada al lado del interruptor.

Simulando el programa
• Ahora ejecute la simulación por medio de la correr botón.
• los depurador de simulación Aparecerá la ventana - de cerca, ya que no es necesaria.

• Mueva el cursor sobre el interruptor y dar clic en el ratón más breve que pueda. Lo que sucede depende

de la rapidez con que haga clic, y la rapidez con que funciona el PC.

Nosotros sólo queremos la LED B0 a la luz, para mostrar un total de 1 ovejas. El programa se ejecuta a gran velocidad, sin embargo, y por lo
tanto mantiene el ciclismo a través de la Entrada y Cálculo pasos. Como resultado, antes de tener tiempo para soltar el pulsador, el total se ha
incrementado (incrementado en uno) varias veces. Este problema se analiza en la siguiente sección.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 58


Ejemplo Flowcode 2 Oveja

La solución: La adición de un retardo

El problema - el programa se ejecuta demasiado rápido!

Antes de que tengamos tiempo de soltar el interruptor, el programa ha recorrido varias veces, sumando uno al número cada vez.

Tenemos que reducir la velocidad mediante la adición de un retraso.

• Mueva el cursor sobre el Retrasar icono.


• Arrástrelo hasta el área de trabajo principal y dejarlo caer entre el Cálculo y el Salida iconos.

• Haga doble clic en el Retrasar icono para abrir el propiedades

cuadro de diálogo.

• Cambiar el valor en el valor de retardo o variable caja a 200 y luego haga clic en el botón 'OK'. Esto provoca un retardo de 200
milisegundos (0,2 segundos) cuando el Retrasar icono es activado. En otras palabras, el sistema sólo se sienta allí y no hace nada
durante 0,2 segundos.
• Ahora ejecute de nuevo la simulación. Siempre que no se mantiene pulsado durante demasiado tiempo, usted debe encontrar que la matriz de

LED muestra un incremento de 1 cada vez que se pulsa el interruptor.

• El programa ahora funciona satisfactoriamente, proporcionando la fiebre ovejas a través del haz de luz en menos de 0,2 segundos. El
retraso podría aumentarse para permitir ovejas más lento!

Nota: Este programa muestra el número total de ovejas en formato binario.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 59


Ejemplo Flowcode 3 mensajes

Ejemplo 3. La pantalla LCD - Publicación de mensajes

Los programas que utilizan la pantalla LCD necesitan utilizar el oscilador de cristal. Si es

necesario, en Flowcode, seleccione Construir en el menú principal, luego Opciones del

proyecto y finalmente el configurar

lengüeta. Selecciona el Oscilador de cristal de la lista de opciones

(Build> Opciones de proyecto> Configurar) .

Las pantallas LCD

Flowcode viene con un número de componentes que añaden subsistemas utilizados comúnmente para Flowcode, tales como la pantalla LCD, pantalla

de 7 segmentos, y los dispositivos de entradas analógicas.

Aquí, nos fijamos en la pantalla LCD, el subsistema de visualización de texto básico en una variedad de dispositivos electrónicos, desde
calculadoras a los teléfonos móviles. Puede mostrar texto o números en una o más filas de la pantalla.

En la mayoría de los lenguajes de programación, la pantalla LCD es una de las últimas cosas que se aprenden, ya que es bastante un dispositivo

complicado de programar. Sin embargo, Flowcode se ocupa de las complejidades, haciendo que la pantalla LCD fácil de usar. La pantalla LCD se

hace referencia aquí es el utilizado en el tablero de E-Blocks Combo y en la pantalla de cristal líquido - una fila de cuatro, veinte pantalla de

caracteres.

Adición del componente LCD


Antes de poder utilizar la pantalla LCD, es necesario agregar un componente a un panel LCD Flowcode.

Para ello, haga clic en el Muestra cuadro, seleccione el LCD (no específico, 20x4) componente del menú y añadirlo a la Panel
System. Un imitador pantalla LCD aparecerá ahora en el panel.

En la parte superior de la propiedades panel, el Componente sección identifica el componente que acaba de seleccionar. Por defecto, se
añade el LCD al puerto B.

La pantalla LCD requiere cinco conexiones. Se muestra letras y números transmitidos como datos en serie en este autobús de cinco hilos.
Las técnicas utilizadas van más allá de este tutorial. Afortunadamente, Flowcode tiene algunas rutinas incorporadas que se ocupan de las
complejidades. arrastre una Macro componente icono sobre el diagrama de flujo y abrir el cuadro de diálogo macro correspondiente haciendo
doble clic sobre él.

Ahora desplazarse por la LCD en la sección componentes y seleccione la macro llamada Comienzo.
Esto da inicio a la pantalla LCD, borra la pantalla y lo consigue listo para la acción.
Examinamos más macros LCD en el próximo par de secciones, pero por ahora
desplazarse por las macros disponibles y echar un vistazo rápido a cada uno.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 60


Ejemplo Flowcode 3 mensajes

escribir mensajes

Para mostrar texto en la pantalla LCD, simplemente escriba en.

• Agrega otro Macro componente al diagrama de flujo y abrir el cuadro


de diálogo macro.
• Seleccione la macro llamada LCD PrintString. Esto requiere un solo parámetro
(elemento de datos), 'Texto' (el texto que se imprime).

• Escriba el texto en el cuadro de parámetros entre comillas, por


ejemplo " Hola Mundo"

• Ejecutar el programa y el texto será enviado a la pantalla LCD.

Otras funciones LCD

Hay una serie de otras funciones útiles en la lista de macros del LCD:

Claro - Borra la pantalla y restablece la posición del cursor (donde las impresiones de pantalla siguiente,) a '0,0', es decir la parte superior izquierda.

cursor - Mueve el cursor a la ubicación especificada. Los dos parámetros, 'X' y 'Y' seleccionar las posiciones horizontal y vertical de la
celda, respectivamente. '0,0' es la celda superior izquierda, '0,1' la primera celda en la segunda línea, '3,2' la cuarta celda de la tercera
línea, etc.

PrintNumber - Obras como 'printString' pero no se imprime un número en lugar de una cadena. Se puede utilizar con variables, o con los
números reales.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 61


Ejemplo Flowcode 3 mensajes

usando PrintNumber

En total vamos a añadir cuatro Macros de componentes al diagrama de flujo.

• Para la primera Macro componente añadir Comienzo.

• Para seleccionar el segundo printString y añadir " Hola Mundo" ( entre comillas).

• Para la tercera seleccione Cursor y añadir 0,1 a los parámetros.


• Para el cuarto seleccione PrintNumber con el valor del parámetro como 123.
• Hacer clic correr para simular el programa.

PROPINA: Intente cambiar los valores de la Cursor parámetros y ver dónde están los números de impresión.
El valor 'y' tiene que estar entre 0 y 3 y el valor 'x' tiene que ser entre 0 y 19. (entre 3 y 17 para ver las
tres figuras 1 y 2 y 3).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 62


Ejemplo Flowcode 4 Cronógrafo

Ejemplo 4. Cronómetro
Este ejemplo utiliza el ejemplo 5 (Utilizando PrintNumber) como punto de partida.

• Ampliar el programa del ejemplo anterior ( Usando PrintNumber) arrastrando una Lazo icono debajo de la printString Macro
componente.
• Cambie el texto en el Macro printString Componente a " Centésimas"( entre comillas).
• arrastre una Cálculo en el icono Lazo.
• Crear una variable llamada Contar como una En t tipo (valor inicial 0).

• Haga doble clic en el Cálculo icono. En el cálculos de texto en forma de caja Count = Count + 1
(Esto añade 1 al valor de la variable contador cada vez que se ejecuta el icono).
• A continuación arrastre otra Macro componente en el Lazo.

• Haga doble clic en el Macro componente y encontrar Cursor bajo las macros LCD.
• Introduzca 0,1 como parámetros para posicionar el cursor en el primer carácter de la segunda línea.
• A continuación, arrastre otra Macro componente en el espacio de trabajo.

• Seleccionar PrintNumber e introduzca Contar como el parámetro.

• Ahora, arrastre un Retrasar icono en el diagrama de flujo y ajustar el retardo a 10 ms (que es igual a una centésima de
segundo).

• El contador contará (aproximadamente) el tiempo transcurrido en centésimas de segundo.

CONSEJO: Usted puede refinar el programa haciendo clic


en cada icono y entrar en los comentarios para describir
lo que hace el icono.

Puede parecer como un montón de esfuerzo, pero puede


ayudar con los programas más complejos.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 63


Ejemplo Flowcode 5 Calculadora

Ejemplo 5. El uso de números binarios - Una calculadora binaria.

En este apartado se crea un sumador binario - un sistema


que hace que el microcontrolador sumar dos números.

La manera más simple de entrada de un número binario es utilizar un

conjunto de interruptores conectados al puerto de entrada.

Para introducir dos números, tenemos dos conjuntos de

interruptores y dos puertos de entrada.

Para ver el resultado del cálculo, utilizaremos una matriz de


LED, conectado al puerto de salida. Necesitamos un
microcontrolador con tres puertos.

Configuración del diagrama de flujo

• Flowcode lanzar y comenzar un nuevo diagrama de flujo.

• Esta vez que tome nota de este cuadro de diálogo: Necesitamos un

microcontrolador con al menos tres puertos. Tire de la barra de desplazamiento

hacia abajo para encontrar la 16F18877PIC MCU.

• Haga clic en él para seleccionarlo y haga clic en 'Aceptar'.

• Haga clic y arrastre una Lazo icono.

• Haga clic y arrastre una Entrada icono y dejarlo caer entre los extremos del
bucle.
• Haga clic y arrastre un segundo Entrada icono y soltarlo en entre los
extremos del bucle.
• Haga clic y arrastre una Salida icono y soltarlo justo debajo de la
Entrada cajas.

• Haga clic y arrastre una Cálculo icono, y lo coloca en entre el segundo


Entrada icono y el icono de salida.
• Su diagrama de flujo será similar a esto:

(La imagen de ejemplo tiene descripciones y variables añadidas).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 64


Ejemplo Flowcode 5 Calculadora

La creación de las variables

• Hacer clic Ver en la barra de menú y asegúrese de que Explorador de proyectos está

chequeado ( Ver> Explorador de proyectos) .

• Haga clic en el Globals botón en la parte superior de la Explorador de proyectos panel. Vamos a
crear tres variables, llamado INPUT1, INPUT2 y suma.
Los dos primeros almacenar los números alimentados desde los interruptores. La variable

suma almacena el resultado de la adición de ellos juntos.

• Pase el ratón sobre Variables en el Explorador de proyectos Panel continuación, haga clic en la flecha

que aparece.

• Hacer clic Añadir nuevo y el Crear una nueva variable Aparece el cuadro de diálogo.
Escribir el nombre INPUT1, y haga clic en el botón 'OK' dejar el tipo de variable como Byte.

• Crear variables, INPUT2 y suma del mismo modo.

Configuración de las entradas

• Haga clic derecho en la parte superior Entrada icono, y seleccione Propiedades.

los Propiedades: Entrada Aparece el cuadro de diálogo.

• Haga doble clic en la palabra Entrada en el Nombre para mostrar caja para resaltarlo.

• Tipo ' Introduzca el primer número' para reemplazarlo. Esto aparecerá al lado de la Entrada

icono en el diagrama de flujo.

(Adición de etiquetas como esto ayuda a los usuarios a entender qué está sucediendo).

• Haga clic en la flecha al lado del variable caja para abrir el


Administrador de variables.

Esta lista las tres variables que acaba de crear.


• Haga doble clic en INPUT1 Para utilizar esta variable en el cuadro de entrada.

• Regreso en el Propiedades de entrada cuadro de diálogo, haga clic en la flecha hacia abajo

al final de la ventana y seleccione el puerto PORTB para reemplazar Porta.

• Haga clic en 'Aceptar' para cerrar el cuadro de diálogo.

• Haga doble clic en el segundo Entrada icono, (una forma más rápida para abrir el propiedades .

Caja) Configurar esta entrada para:

• mostrar la etiqueta 'Introduzca el segundo número de'

• utilizar la variable INPUT2


• utilizar PORTC.

• A continuación, cerrar el cuadro de diálogo haciendo clic en el botón 'OK'.

Para los usuarios de Arduino necesitarán estos dos puertos que desea establecer como sigue:
• La entrada 1 se establece en PORTC (para utilizar el puerto A se enciende en el tablero combinado).

• Entrada 2 set para PORTD (para usar los interruptores del puerto B en el tablero combinado).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com sesenta y c


Ejemplo Flowcode 5 Calculadora

Configuración del cálculo


• Haga doble clic en el Cálculo icono para abrir el propiedades
cuadro de diálogo.

• Cambiar el nombre de visualización: a 'Añadir los


dos números juntos'.

• En el cálculos cuadro de inserción:


suma = INPUT1 + INPUT2

(Cualquier tipo esta en forma directa, o arrastre en las variables de la


ventana de la derecha y luego insertar las = y signos + en el lugar correcto)

• Haga clic en el botón 'OK', para cerrar el cuadro de diálogo.

Configuración de la salida

• Haga doble clic en el Salida icono, para abrir la salida


propiedades cuadro de diálogo.

• Haga clic en la flecha al lado del Variable caja.


• Haga doble clic en suma para insertarlo en la caja.

• De vuelta en la salida propiedades cuadro de diálogo:

• cambiar el puerto utilizado para PORTD, ( Arduino PORTB)

• clic en 'Aceptar' para cerrar el cuadro de diálogo.

Adición de una matriz de LED

• Haga clic en el salidas pestaña y seleccione matriz de LED

Colocar en el medio de la Panel System moviendo el cursor sobre el


componente y luego haciendo clic-anddragging en su posición (o haga clic
en él y seleccionando Centro de todos los objetos).

• Haga clic al lado de la Contar bajo la propiedad Simulación


en la sección de propiedades panel y cambiar el número de LED a Siete.

• Haga clic al lado de la propiedad del Puerto y seleccione PORTD en el menú


desplegable para conectar los LEDs a los pines en el puerto D, ( Arduino
PORTB).
• Cambiar el color de la matriz de LED a rojo (0000FF)

La adición de los interruptores

Se utilizan dos conjuntos de interruptores, uno para cada número binario. El puerto de salida tiene sólo ocho bits. El mayor número que
puede dar salida es 1111 1111 (= 255 en decimal). Vamos a limitarnos a la introducción de siete números de bit que significa que el mayor
número que se puede indicar es 111 1111 (= 127 en decimal). Si usamos los números más grandes, que se hubiera sobrepasado la
capacidad de la salida.
• Haga clic en el entradas pestaña, seleccione Interruptor Array (Slide) y se arrastra sobre el panel de sistema por encima de la matriz de LED.

• Abre el propiedades para el panel Interruptor Array (Slide). Conectarlo al puerto B, utilizando la flecha situada junto a la propiedad
puerto para abrir el menú desplegable ( Arduino PORTC).
• Añadir un segundo Interruptor Array (Slide) al Panel de sistema de la misma manera.
Colocarlo debajo de la matriz de LED y conectarlo a PORTC ( Arduino PORTD).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 66


Ejemplo Flowcode 5 Calculadora

simulación lenta
Como se describió anteriormente, Flowcode le permite avanzar a través del un paso / icono del diagrama de flujo a la vez, para ver el
efecto de cada una de las variables y en la salida.
• Hay tres maneras de simular el programa paso a paso:
• Haga clic en correr en la barra de herramientas principal y en el Entrar en botón ( Ejecutar> Paso a paso)

• presione el F8 tecla de función del teclado.


• Haga clic en el Entrar en botón en la barra de herramientas principal en la sección de simulación.

Suceden varias cosas:


• un rectángulo rojo aparece alrededor de la EMPEZAR icono, mostrando que este es el paso actual.

• la depurador de simulación ventana aparece (que contiene Variables y Las llamadas macro).

• la Variables sección enumera las tres variables que se han definido para este programa, y ​muestra sus valores actuales

(todos cero en el momento). No haga caso de la sección Llamadas Macro por el momento. Ahora la creación de dos números en los

componentes del interruptor.

• Mueva el cursor sobre la caja del interruptor conectado al puerto B.


• Haga clic en los interruptores B0, B1 y B3, para activarlos. Ha configurado el
número binario 000 1011 (= once en decimal.) (Interruptor B6 da el bit más significativo y B0
el bit menos significativo).

• Configurar el número 000 1111 (quince) en los interruptores conectados al puerto C.


• Ahora Paso a paso al siguiente icono en el programa, por ejemplo, al presionar F8 una vez más.
• El rectángulo rojo se mueve a la siguiente icono, el icono de lazo, pero poco más pasa.
• Presione F8 una vez más. El rectángulo rojo pasa al primer icono de entrada.
• Presione F8 de nuevo y el cuadro Variables muestra que la variable INPUT1 ahora contiene once (el resultado de la instrucción de entrada

simplemente llevado a cabo).

• Presione F8 de nuevo y la sección Variables muestra que de entrada contiene ahora quince años.

• Presione F8 de nuevo y el cálculo se lleva a cabo. La variable suma almacena el resultado.


• Presione F8 de nuevo. El valor almacenado en suma se transfiere a la matriz de LED. Parece que:

La lectura desde el bit más significativo (D6) para el bit menos significativo (D0), la matriz de LED muestra el número 001 1010. En
decimal, este es el número 26. No hay sorpresas allí entonces.
• Repetir el mismo procedimiento con diferentes números y paso a través del programa para comprobar cuál es la suma de los
números es.

PROPINA: Explora la adición de gráficos para su calculadora binaria para que sea más fácil de leer.
Goto> Formas> Etiquetas añadir dígitos por encima de los LEDs.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 67


Ejemplo Flowcode 6A Microonda

Ejemplo 6. lógica binaria en control.


Los sistemas electrónicos pueden tomar decisiones.

Muy a menudo, estos son de la forma "Si esto y esto es cierto, entonces ..." o "Si esto O esto es cierto, entonces ...". Se basan en combinaciones
específicas de las circunstancias con el fin de tomar alguna acción en particular.

Son ejemplos del uso de lógica binaria. La respuesta a la pregunta: “Si ...” es “Sí” / “No”, o “true” / “falso”, es decir una de dos
posibilidades (una solución binaria). Esta respuesta podría ser expresado como un 0 lógico o un 1 lógico y electrónicamente por un
voltaje alto o un voltaje bajo.

Hay una clase de componentes electrónicos digitales, llamado puertas lógicas, que llevan a cabo exactamente estas decisiones. Las
entradas y salida son lógica 0 o lógica 1.

Podemos programar Flowcode para hacer exactamente las mismas decisiones.

6A. El control de un horno de microondas


Por razones de seguridad, un horno de microondas tiene un sensor de puerta para asegurarse de

que el generador de microondas no funcionará si la puerta está abierta. Dicho de otra manera, el

generador funciona si la puerta está cerrada Y uno de los interruptores de control de calentamiento es

presionado.

Podemos construir esta condición en un programa de Flowcode.

Configuración del diagrama de flujo

Lanzar Flowcode con un nuevo diagrama de flujo. Crear el


diagrama de flujo mostrado opuesto. Usa:

• una lazo icono

• dos entrada iconos

• Tres salida iconos


• dos decisión iconos
• dos cálculo iconos
• una retrasar icono.

Crear cuatro variables:


• 'Puerta' ( para almacenar el estado del interruptor de la puerta).

• 'Control' ( para almacenar el estado del interruptor de

encendido / apagado de control)

• 'Output' ( para controlar si el microondas se


enciende o no)
• 'Count' ( para controlar cuántas veces se ha producido el retraso
1s. Darle un valor inicial de diez años, por lo que el horno
funcionará durante 9s).

• Utilizar la configuración por defecto para el lazo icono.


• Configurar un icono de entrada para almacenar el estado del interruptor de la

puerta (en el puerto Un bit 0) en la variable 'puerta'.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 68


Ejemplo Flowcode 6A Microonda

• Configure el otro entrada icono para almacenar el estado del interruptor de control (en el puerto Un bit 1) en la variable ' controlar '.

• El icono de cálculo cheques superiores a ver si la puerta y el interruptor de control se han presionado.

Configurarlo utilizando la ecuación salida = de control y puerta.


El y significa la operación AND.
El resultado de esta operación (0 o 1) se almacena en el variable ' salida '.
• La parte superior decisión icono comprueba el valor almacenado en ' salida '. ( Si la salida? es

la abreviatura de Si la salida = 1?)

configurar este decisión icono.

• Cuando el resultado de la cálculo es 0, el programa sigue la ruta del 'No' de la decisión


icono y el de la izquierda salida se ejecuta icono. Esto envía un 0 lógico a la LED, asegurándose de que (y el generador
de microondas) se apaga.

Cuando el resultado del cálculo es 1, el programa sigue la ruta 'Sí'. El 'Activar'


salida icono envía un 1 lógico para el LED de encenderlo. Configurar
estos dos iconos de salida.

• El más bajo cálculo icono reduce el número almacenado en la variable ' contar ' por uno. Configurarlo utilizando la
ecuación count = count - 1
• El valor inicial de 'contar' es de diez. Siempre que el número almacenado en 'contar' no ha llegado a cero, el programa sigue
el 'No' ruta. Finalmente, después de un bucle suficientes veces, el número almacenado sí reduce a cero. Entonces, el
programa sigue la ruta 'Sí' y ejecuta el 'Apagar' icono de salida, que se configura de la misma manera que el icono de otra
'Apagar', para apagar el generador de microondas.

• Agrega un del conjunto de conmutadores para el panel del sistema. Configurarlo para tener sólo dos interruptores, uno conectado al puerto A,

bit 0 y el otro al puerto A, el bit 1.

• Añadir una LED conectado al puerto B, el bit 0 para representar el generador de microondas.

• Añadir etiquetas al panel de sistema para identificar los componentes. Posicionarlos mediante el coordenadas mundiales bajo la Posición

pestaña de las propiedades de la etiqueta.

• Ahora simular el programa paso a paso, utilizando la tecla de función F8 varias veces.
• Comprobar lo que ocurre para diferentes combinaciones de estados de conmutación e interpretar esto en términos del comportamiento del

horno de microondas. Lo que sucede, por ejemplo, si se abre la puerta mientras el generador de microondas está funcionando?

Para Arduino los puertos necesitan ser ajustado a PORTC y PORTD (equivalente a A y B de la placa Combo).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 69


Ejemplo Flowcode 6B Coche

Ejemplo 6. lógica binaria en control. 6B El control de


la luz interior de un coche.
La luz interior de un coche puede ser controlada por otra lógica booleana
ecuación.
Por simplicidad, consideremos un coche de dos puertas con el comportamiento siguiente: La luz interior

se enciende cuando una puerta (A) O el otro (B) se abre y permanece encendido hasta que el interruptor

de encendido (C) está activada. En la jerga de Boole, se dice que la luz está encendida, si (A o B) Y NO C

es cierto.

Una vez más, podemos construir esta condición en un programa de Flowcode.

Configuración del diagrama de flujo

Flowcode lanzar y comenzar un nuevo diagrama de flujo. Crear el

diagrama de flujo mostrado opuesto, usando:

• una lazo icono.

• Tres entrada iconos.

• dos salida iconos.


• una decisión icono.

• una cálculo icono.

crear cuatro variables:


• door_A ( para almacenar el estado del interruptor de la puerta A).

• door_B ( para almacenar el estado del interruptor de la puerta B).

• ig_switch ( para almacenar el estado del interruptor de encendido).

• salida ( para controlar si la luz interior se enciende o no).

• Utilizar la configuración por defecto para el lazo icono.


• configurar una entrada icono para almacenar el estado del interruptor de la puerta A
(puerto A bit 0), en el variable 'door_A'.

• configurar una entrada icono para almacenar el estado del interruptor de la puerta B

(puerto A bit 1) en la variable 'Door_B'.

• Configure el otro icono de entrada para almacenar el estado del interruptor de


encendido (puerto A bit 2) en la variable 'Ig_switch'.

El icono de cálculo comprueba si cualquiera de las puertas se ha abierto Y


el interruptor de encendido está NO en.

• Configurarlo utilizando la ecuación salida = (door_A || door_B) & ig_switch

la || significa la O operación y! la NO operación. El resultado del cálculo se almacena en la variable 'salida'.

(Para los usuarios de Arduino, por favor utilice los puertos C y D según el caso).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 70


Ejemplo Flowcode 6B Coche

• los decisión icono comprueba el valor almacenado en ' salida'.

• configurar este decisión icono.


• Cuando el resultado de la cálculo es 0, el programa sigue el 'No' ruta desde el icono de decisiones y el icono de
salida 'Apagar' se ejecuta, lo que garantiza que la luz se apaga.

• Cuando el resultado del cálculo es 1, el programa sigue la ruta 'Sí'. El 'Encienda' icono de salida envía un 1
lógico al LED de encenderlo.
• Configurar estos dos iconos de salida.

• Agrega un del conjunto de conmutadores para el panel del sistema. Configurar que tenga tres interruptores, uno conectado al puerto A, el bit

0, uno a Porta, el bit 1 y el otro al puerto A, el bit 2.

• Añadir un LED conectado al puerto B, el bit 0 para representar la luz interior en el coche.

• Añadir etiquetas para el panel del sistema para identificar los componentes y la posición de ellos como se muestra en el diagrama Goto>

Formas> Etiquetas.

Ahora simular el programa paso a paso, utilizando la tecla de función F8 varias veces.

Comprobar lo que ocurre para diferentes combinaciones de puertas abiertas y los estados de conmutación de encendido. Interpretar el
comportamiento en términos del comportamiento de la luz interior. Lo que sucede, por ejemplo, si la puerta se abre y se cierra poco después?
¿Es correcto este comportamiento?

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 71


Sección 6: Programación

Ceremonias

los Ejercicios de programación se presenta aquí como tareas flexibles adecuados para un mayor desarrollo.

tareas individuales, pequeñas pueden ser desarrollados en proyectos de mayor escala si se desea. Pruebe las ideas, probarlos,
experimentar, desarrollar sus habilidades y ver lo que puede crear.

El objetivo de los ejercicios es desarrollar experiencia en el uso Flowcode y en el proceso, desarrollar la


comprensión de la terminología y las técnicas de programación que abarca.

Los programas pueden ser probados mediante la simulación en Flowcode, pero también descargaron a un microcontrolador
y probados en el hardware. En general se supone que el programador está utilizando un microchip PIC MCU aunque los
ejercicios son igualmente aplicables a otros microcontroladores.

La sección termina con más Retos. Estos son aún más abierto y contienen solamente una breve
especificación.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 72


Crear materiales de Ejercicio 1

Este ejercicio se configura Flowcode a salida las señales digitales específicas a la matriz de LED.

Fondo

• Sección 1 - Introducción a los microcontroladores.


• Sección 2 - Uso de E-blocks.
• Sección 4 - Flowcode primer proyecto. La adición de salidas digitales - iluminar el LED

• Flowcode Wiki - El uso de máscaras.

objetivos

• Cambiar el nivel lógico de una sola espiga de un puerto.


• Enviar diferentes códigos de 8 bits en el puerto de un microcontrolador.

• configurar una Salida icono.


• Utilizar binario código.

• Manipular lógica niveles de salida.


• Utilizar LEDs para mostrar una salida.

• Compilar un programa de un microcontrolador.

Tareas

1 Crear un diagrama de flujo Flowcode luego ver si se puede:

una) añadir una sola Salida icono, configurada a la luz todos los LED de un puerto y ejecutar la simulación.
segundo) alterar los parámetros a la luz sólo los LEDs impares y ejecutar la simulación.
do) luz sólo los LEDs pares.
d) la luz sólo los bits altos 'nibble' (4 a 7) del puerto elegido.

Modificar este programa y ver si se puede:


mi) repetir los pasos anteriores utilizando hexadecimal en lugar de numeración decimal.
F) Sólo la luz del LED en el bit 7, mediante el envío de un valor de 8 bits para el puerto.

sol) Sólo la luz del LED en el bit 7, a través del " de un solo bit' método de salida.

h) única luz del LED en el bit 7, a través del " enmascarar' método de salida.

2 Escribir un programa que utiliza al menos veinte Salida iconos para escribir valores diferentes para el puerto B, uno tras otro. Utilizar los
cuatro métodos en este ejercicio - hexadecimal, decimal, de un solo bit y enmascaramiento. Simular el programa y revisar los resultados.

(Guarde el programa y descargarlo en el microcontrolador).

TIP: reinicie el programa varias veces presionando el botón de reinicio en el


tablero de programador.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 73


El uso de retrasos Ejercicio 2

En este ejercicio, aprenderá cómo se utilizan los retrasos para frenar la ejecución del programa. Microcontroladores funcionan muy rápidamente - por

lo general la ejecución de alrededor de 5.000.000 instrucciones de montaje, cada segundo. Un ser humano puede detectar y comprender solamente

alrededor de tres imágenes estables por segundo. Para permitir que un microcontrolador de alta velocidad para comunicarse con los seres humanos

'lentos', a veces tenemos que reducir la velocidad mediante la adición Retrasar instrucciones.

Fondo

• Sección 1 - Introducción a los microcontroladores.


• Sección 2 - Uso de E-blocks.
• Flowcode Wiki - Loop propiedades del icono.

objetivos

• Añadir un retardo para retrasar la ejecución de un programa.

• Cambiar el intervalo de demora.

• Configurar un icono de demora.

• Controlar la velocidad de un microcontrolador.

• utilice una osciloscopio a los acontecimientos del tiempo.

Tareas

1 Comience abriendo el programa creado en el último ejercicio ( Ejercicio 1).


una) Añadir Retrasar iconos y configurarlos para que los estados de salida se pueden ver
cómodamente, incluso a velocidad 'oscilador SA'.
segundo) Guarde el programa y descargarlo en el microcontrolador, poniendo a prueba el programa en el
E-blocks de planchar.

Modificar la duración de los retrasos causados ​por la Retrasar iconos.

do) Comience con un retraso de 1s.

re) Progresivamente reducir la demora hasta que es demasiado rápido para los ojos para detectar los diferentes

estados de salida.

do) Descargar el programa para el microcontrolador cada vez y probarlo en E-blocks.


d) Utilizar un osciloscopio para medir los retrasos que ha configurado en Flowcode.

mi) Hacer un dibujo detallado de la imagen de osciloscopio, con la tensión y el momento infor-
mación y el tiempo de retardo usado en el programa Flowcode.

CONSEJO: No probar esta en modo de simulación - simulación de tiempo no siempre es exacta ya que se ejecuta en un
sistema operativo Windows y no en 'tiempo real'.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 74


El uso de puntos de conexión ejercicio 3

UNA Punto de conexión, o instrucción 'Goto', se utiliza a menudo para crear un bucle infinito - para repetir un conjunto de
instrucciones una y otra vez (una mejor manera de hacer esto es utilizar una instrucción 'Loop'). La ventaja de un punto de conexión
es que puede ser utilizado para saltar de un bucle para un lugar determinado en el programa. La idea de la modulación de ancho de
pulso (PWM) se introduce como un medio de controlar el brillo del LED.

Fondo

• Flowcode Wiki - Punto de conexión propiedades del icono.


• Sección 1 - Introducción a los microcontroladores.
• Sección 2 - Uso de E-blocks.
• Sección 4 - Flowcode primer proyecto. La adición de salidas digitales - iluminar el LED.

objetivos

• Utilizar Puntos de conexión para introducir ramificación incondicional en un programa.

• Introducir PWM como un medio de controlar el brillo de los LEDs.


• Crear un Bucle infinito.
• Manipular los niveles de salida de la lógica.

• Utilizar LEDs para mostrar una salida.

Tareas

Escribir un programa para ver si se puede:


1
una) Utilizar Retrasar, Salida y Punto de conexión iconos a la luz los LEDs pares e impares de una matriz
alternativamente dentro y fuera. Use un intervalo de 300 ms entre, en una Bucle infinito.

(Pruebe el programa en un primer 'paso a paso' y luego continuamente en el simulador Flowcode).


segundo) Utilizar Retrasar, Salida y Punto de conexión iconos para actualizar el nibble alto y nibble bajo LED

alternativamente dentro y fuera, con un intervalo de 300 ms entre, en una Bucle infinito.

c) utilizar Retrasar y Salida iconos para parpadean todos los LED de la matriz y se apaga con un intervalo de 500 ms

en el medio, en una Bucle infinito.


d) modificar el programa cambiando el 'encendido' y 'apagado' veces de tal manera que el total ( 'on' tiempo + 'off') no se modifica,
por ejemplo, por 12 ms y apagado durante 8 ms. W sombrero es la diferencia? (programas de descarga al microcontrolador y
prueba de ellos).

CONSEJO: Realice los últimos retrasos muy corto y hacer que el encendido y apagado asimétrica,
(Por ejemplo, por 8 ms y apagado durante 12 ms).

Se trata de un generador de PWM de software. Cuando se ejecuta, la intensidad de los LED es menor. Se encienden y apagan
demasiado rápido para los ojos para observar. En cambio, vemos el cambio de intensidad.

2 Escribir un programa que:


una) Luces de LEDs en los cuatro bits más significativos (MSB), de una matriz y los mantiene en.
segundo) Atenúa la intensidad de los LED de los cuatro bits menos significativos (LSB), en comparación

a los cuatro LEDs MSB, utilizando PWM.


c) utilizar un osciloscopio para examinar la señal de control de uno de los cuatro LSB LEDs.

CONSEJO: El MSB es el bit más a la izquierda y el LSB es el Rig más bits.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 75


realizar cálculos ejercicio 4

microcontroladores modernos, como el MCU PIC o Arduino, son capaces de hacer tareas matemáticas sencillas con números de 8 bits a muy alta

velocidad. Como los cálculos se vuelven más complejos o los números se elevan por encima de un valor de 8 bits, entonces el tiempo de ejecución se

alarga de forma espectacular. Flowcode permite cálculos complejos utilizando hasta un número de 16 bits y se encarga de todas las complejidades.

Sin embargo, éstos pueden reducir la velocidad de ejecución del programa.

Fondo

• Variables - Ejemplo 1. La adición de entradas digitales - ¿Dónde está el fuego?

• Flowcode Wiki - la creación de variables.

• Las entradas digitales - Ejemplo 1. La adición de entradas digitales - ¿Dónde está el fuego?

• Flowcode Wiki - icono de cálculo propiedades.


• Sección 1 - Introducción a los microcontroladores.
• Sección 2 - Uso de E-blocks.

objetivos

• Crear y utilizar una variable.


• configurar una cálculo icono para realizar cálculos aritméticos y lógicos.
• Crear y manipular variables.
• Realizar cálculos.
• Utilice LEDs con resistencias limitadoras de corriente.

Tareas

1 Crear un diagrama de flujo que:

una) utiliza una variable llamado 'contador' que contiene un valor inicial de '1'.
segundo) muestra el valor almacenado en el 'counter' variable sobre LEDs.

(Simular el programa para probar que funciona). Modificar


su programa por:
do) la adición de una Cálculo icono para el doble del valor almacenado en el 'counter' variable;
re) que muestra este nuevo valor de LEDs.
mi) usando un bucle infinito que repetir estos pasos continuamente con un retardo de 300 ms entre ellos.
¿Que ves? (Esto se llama un 'Luz de marcha').
f) la sustitución de la 'se multiplica por 2' con 'contador = contador + 1'. ¿Qué ves ahora?
(Que acaba de programar un contador binario).

Modificar su programa para mostrar el resultado de los siguientes cálculos sobre los LED de puerto B:
2
a) 45 + 52;
b) 45 y 52;
c) 45 o 52;
d) NO 45;
e) (1 + 3) * (6/2);
F) VAR2 = VAR1 * 3 (donde las tiendas variable 'VAR1' El número 18).
(Sobre el papel, compruebe si los resultados son correctos).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 76


mediante bucles ejercicio 5

La repetición de un conjunto de instrucciones, para un número exacto de veces, MIENTRAS o HASTA

una condición se cumple es uno de los más poderosos operaciones de programación.


CONSEJO: La lenta simulación o 'Paso a paso' función en el simulador de
Flowcode es útil para depurar programas complejos.

Fondo

• Flowcode Wiki - Loop propiedades del icono.

• Flowcode Wiki - Punto de conexión propiedades del icono.

• Flowcode Wiki - la creación de variables.


• Sección 1 - Introducción a los microcontroladores.
• Sección 2 - Uso de E-blocks.
• Sección 4 - Flowcode primer proyecto. La adición de salidas digitales - iluminar el LED.

objetivos

• Crear y utilizar un programa 'Luz de marcha', utilizando el método de 'multiplicar por dos'.
• Crear y utilizar un programa 'Luz de marcha', utilizando el método de 'shift-derecho'.

• Crear y rellenar una matriz.


• Crear un condicional lazo.

Tareas

1 Escribir un programa para:

una) hacer un contador binario de 8 bits, utilizando una Lazo icono, para contar ARRIBA de 0 a 255, a continuación, restablecer y

repetir el recuento (mostrar el valor del contador en los LEDs de puerto B). Modificar su
programa a:
segundo) hacer que la cuenta del contador ARRIBA de 0 a 255 y luego contar hacia atrás ABAJO a 0.

CONSEJO: Utilice dos bucles dentro de un bucle infinito de manera que el proceso se repite indefinidamente.
(Descargar el programa para el microcontrolador y probarlo a toda velocidad).

2 ¿Sabe usted KITT De Knight Rider o los robots cylon de Battlestar Galactica? Escribir un programa para hacer que un simple 'Luz de
marcha' que se extiende desde el puerto B, el bit 0 al bit 7 del puerto B y luego de vuelta al puerto B bit 0, repetidamente.

una) Trate de usar el método de 'multiplicar por dos'.


segundo) Trate de usar el método de 'desplazamiento a la derecha'.
Modificar su programa para crear una luz de funcionamiento de 16 bits, utilizando los LED del puerto de A y B.

CONSEJO: Utilice sólo los bucles, no hay decisiones.


(Descargar el programa para el microcontrolador y probarlo).

3 Crear un diagrama de flujo que contiene una matriz de cuatro variables, llamado 'Matrix [x]' que almacena los valores
siguientes: Matrix [0] = 129 Matrix [1] = 66 Matrix [2] = 36 Matrix [3] = 24
(Mostrar las salidas de los LEDs de puerto B).
una) Utilizar dos 'do-while' bucles para crear una secuencia infinita:
Matrix [0] -Matrix [1] -Matrix [2] -Matrix [3] -Matrix [2] -Matrix [1] -Matrix [0] -Matrix [1] -.....;
segundo) Consulte las cuatro variables como ' Matrix [x] 'Donde 'x' es una variable independiente, conocido como el índice

de la matriz.
(Descargar el programa para el microcontrolador y probarlo).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 77


la introducción de datos ejercicio 6

añadiendo digitales entradas a un circuito microcontrolador es bastante fácil, pero es un gran avance. Esto permite que las señales externas que

influyen en cómo reacciona el programa.

Fondo

• Sección 1 - Introducción a los microcontroladores.


• Sección 2 - Uso de E-blocks.
• Sección 4 - Flowcode primer proyecto. La adición de salidas digitales - iluminar el LED.

objetivos

• Los datos de entrada de interruptores.

• Uso bucles para crear secuencias de LED.

• configurar una icono de entrada.

Tareas

1 Escribir un programa para mostrar el estado de los interruptores conectados a un puerto elegido, en los LEDs conectados a un puerto
diferente. p.ej. cuando un interruptor se pulsa conectado al puerto A, el LED correspondiente en luces puerto B.

Modificar el programa para que:


una) el LED permanece encendido durante 2 s.

segundo) cuando se presiona el interruptor '0', LED 1 es lit.

b) Cuando se pulsa el interruptor '1', LED 2 se enciende y así sucesivamente.

c) cuando se pulsa el interruptor '7', no pasa nada. Explorar tantas


combinaciones como sea posible.
(programas de descarga al microcontrolador y prueba de ellos).

2 Escribir un programa para crear un contador que:


una) contiene dos bucles.
segundo) cuenta cuando se pulsa el interruptor '0'.

do) cuenta hacia atrás cuando se presiona el interruptor '1'.

re) muestra el recuento en la matriz de LED de un puerto adecuado.

(programas de descarga al microcontrolador y prueba de ellos).

3 Escribir un programa 'Luz de marcha' que:


una) contiene dos bucles.
segundo) hace que los LEDs 'correr' la izquierda cuando se pulsa el interruptor '0'.

do) hace que los LEDs 'correr' la derecha cuando se pulsa el interruptor '1'.

d) muestra el recuento en la matriz de LED de un puerto adecuado. (programas de descarga


al microcontrolador y prueba de ellos).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 78


Tomando decisiones ejercicio 7

programas anteriores incluyen sencilla la toma de decisiones, el uso de bucles y puntos de conexión. Ahora miramos en detalle en el Decisión icono,

ampliamente conocido como el 'entonces ... if ... else' estructura, probablemente la línea de comando más utilizado en cualquier programa.

Fondo

• Flowcode Wiki - Decisión propiedades del icono.

• Flowcode Wiki - Punto de conexión propiedades del icono.

• Sección 1 - Introducción a los microcontroladores.


• Sección 2 - Uso de E-blocks.

objetivos

• configurar Decisión iconos y, por tanto, añadir la bifurcación condicional a un programa.


• Controlar el frecuencia en el que los LEDs parpadean.

• Utilice LEDs para mostrar niveles lógicos de salida.

• Utilice la memoria temporal.

Tareas

1 Escribir un programa que utiliza interruptores para producir una secuencia inversa en los LEDs.
una) cuando se presiona el interruptor '0', LED 7 se ilumina.

segundo) cuando se presiona el interruptor '1', LED 6 se enciende.

y así…

2 Escribir un programa que crea un contador de 8 bits, contados a partir de '0' a '255' y luego de vuelta a '0' en varias

ocasiones.
una) Utilizar Decisión iconos en lugar de iconos bucle.

segundo) Use dos interruptores conectados a un puerto elegido, los bits 0 y 1.

do) Contar hasta cuando se pulsa el interruptor '0'.

re) Cuenta atrás cuando se pulsa el interruptor '1'.


mi) Mostrar el número actual de los LEDs conectados a un puerto adecuado.
(Descargar el programa para el microcontrolador y probarlo).

3 Escribir un programa que cuenta de 0 a un valor almacenado en una variable denominado 'contar' cuando se presiona el interruptor '0' y espera
hasta que el interruptor '1' se pulsa antes de contar hasta 0.
una) Use dos interruptores conectados a un puerto elegido, los bits 0 y 1.
segundo) Utilizar un puerto diferente para la matriz de LED para mostrar el valor actual de la cuenta.

(Descargar el programa para el microcontrolador y probarlo).

4 Escribir un programa que hace ocho LEDs se encienden y apagan a una frecuencia de 1 Hz,
es decir, teniendo un segundo para un ciclo 'en-y-off'. Use dos interruptores conectados a un puerto adecuado, los bits 0 y 1.

una) Los LED deben parpadear más rápido si se pulsa el interruptor '0'.

b) Los LED deben parpadear más lentamente si se pulsa el interruptor '1'. (Descargar el
programa para el microcontrolador y probarlo).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 79


Tomando decisiones ejercicio 7

5 Escribir un programa que hace que todos los ocho LED en una luz matriz cuando se pulsa un interruptor de la primera vez y todo se apaga cuando

se pulsa de nuevo.

(Descargar el programa para el microcontrolador y probarlo).

6 Un coche tiene dos luces interiores. Se encuentra en la parte delantera del coche y uno en la parte trasera. Escribir un programa para

simular este escenario usando LEDs y cinco interruptores de controlarlos.

una) Utilice interruptores 0, 1, 2, 3 para representar puertas están abiertas o cerradas.

segundo) Utilice el interruptor 4 para representar el maletero (baúl) abierto o cerrado.

do) La luz de los dos LEDs cuando una puerta se abre.

re) La luz sólo la 'parte trasera' del LED cuando se abre el maletero (baúl).

(Descargar el programa para el microcontrolador y probarlo).

CONSEJO: Se supone que los interruptores están cerrados cuando las puertas están abiertas.
Esto puede ser más fácil para simular con interruptores 'push-to-make'.

7 volante de un coche tiene interruptores en él que controlan las luces exteriores. Escribir un programa para simular el control
de las luces.
una) Use un interruptor para controlar la dirección del indicador de la izquierda (elegir un LED correspondiente), que parpadea en

de 250 ms y 250 ms y apagado durante varias veces hasta que se suelta el interruptor.
segundo) Utilice otro interruptor para controlar la dirección del indicador derecho (elegir un LED correspondiente), en el

mismo camino.

do) Use dos LEDs como luces de freno controlados por un interruptor que se enciende durante el tiempo que se presiona.

re) Crear faros cual la luz cuando se pulsa un interruptor y permanecerá encendida hasta que se pulsa de nuevo.

mi) Terminar con un par de luces antiniebla de la misma manera.

TIP: No trate de escribir este programa a la vez. Dividirlo en subsecciones y resolver cada uno
por separado antes de ponerlos todos juntos.
Para hacerlo más fácil, utilice la función de etiquetado de Flowcode a los interruptores de etiquetas y LEDs.

8 Seis ovejas se les permite vagar entre los dos campos. Hay dos sensores entre
los campos. Escribir un programa que cuenta y muestra el número de ovejas en
cada campo. Simular este escenario mediante dos interruptores para
representar los sensores.

una) Mostrar los resultados en formato binario en la matriz de LED

(Utilizar cuatro LED para el campo oeste y cuatro para el campo este).
una) Usa dos interruptores a representa los sensores.

TIP: Supongamos que cada oveja es más larga que la distancia entre los sensores.
Piense en los distintos escenarios que podrían ocurrir. Una oveja podría desencadenar un sensor y luego de vuelta. Puede
desencadenar una oveja ambos sensores y luego volver a salir? ¿Cuándo un recuento de ovejas como en el campo al este?

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 80


LCD de programación ejercicio 8

El uso de LEDs para mostrar salidas pueden ser limitantes.

La pantalla LCD es una forma alternativa de mostrar los datos, tanto letras y números, por los seres humanos no binarios.

Fondo

• Sección 1 - Introducción a los microcontroladores.


• Sección 2 - Uso de E-blocks.
• Ejemplo 3. La pantalla LCD - Publicación de mensajes

objetivos

• Crear, rellenar y manipular las variables de cadena.


• Controlar la visualización de texto y números en una LCD.
• Usar una pantalla LCD como dispositivo de salida para el microcontrolador.

• configurar una componente macro Para el LCD.

Tareas

1 Escribir un programa que muestra el texto “Hello World” en el centro de la línea inferior de la LCD.

Escribir un programa que muestra un aumento de recuento (decimal) en la pantalla LCD. Modificar el programa para que cuente
2 cuando se pulsa un interruptor y una cuenta atrás cuando se presiona un interruptor diferente (uso bucles o Decisiones).

Escribir un programa para mostrar el estado de los interruptores conectados al primer puerto. Cada vez que se pulsa un interruptor,
3 el correspondiente LED de las segundas luces de puerto UP y el valor de la

decimal equivalente se muestra en la pantalla LCD.

Escribir un programa para mostrar el estado de los interruptores conectados al primer puerto en los LEDs del segundo puerto y en la línea superior
4 de la pantalla LCD y, a continuación:

una) multiplicar este binario número por 100.


b) mostrará el resultado en la línea inferior de la pantalla LCD, con “[x 100 =]” que se muestra en frente de ella.

Escribir un programa que se desplaza las líneas de texto dan a continuación, una línea a la vez. Inicialmente, el texto se centra en la línea inferior de la
5 pantalla durante 2 segundos. T uando se mueve hacia arriba a estar centrado en la línea superior de 2s, para ser reemplazado en la línea inferior de la

siguiente línea de texto, y así sucesivamente.

Texto:

“Sólo hay” “10” tipos


“de personas” “Los
que” “comprender”
“binario” “y los que”
“No”.

(Incluya el programa en una Bucle infinito y la prueba de la LCD).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 81


Uso del teclado ejercicio 9

Un numérica teclado se utiliza en muchos dispositivos electrónicos, y en algunos (teléfono móvil, por ejemplo.), se utiliza como un teclado numérico y

también como una manera de escribir texto en lugar de números. Hay doce botones en el teclado, sin embargo, el teclado está conectado al

microcontrolador por sólo ocho líneas. Este problema se resuelve mediante el uso de multiplexación.

Fondo

• LCD - Ejercicio 8 - Programación de los LCD.

• Flowcode Wiki - funciones de manipulación de cadenas.

• Sección 1 - Introducción a los microcontroladores.


• Sección 2 - Uso de E-blocks.

objetivos

• texto de entrada y los números de un teclado y mostrar mensajes en la pantalla LCD.

• Utilizar código ASCII para transmitir estos datos.

• Utilizar entradas multiplexadas.

• configurar una componente macro Para el teclado.

Tareas

1 Mostrar números que se presionan en el teclado sobre el LCD.


a) D ANTALLA un número uno a la vez durante el tiempo que se presiona el botón en el teclado.
segundo) ¿Puede volver a escribir este programa sin utilizar el teclado macro de componentes?

do) Extender este programa para mostrar los números que se presionan en el teclado, uno tras
otro en la fila superior de la pantalla LCD. Ver si se
puede refinar el programa para:
re) borrar la pantalla cuando se pulsa '#'.
e) mostrar un máximo de quince personajes y mostrar una advertencia en la fila inferior de la pantalla LCD cuando se
supera este máximo.

Escribir un programa para:


2
a) poner juntos dos números que les '9999' introducida a través de la teclado.
b) Visualizar los dos números, el '+' y '=' y la suma resultante en la fila superior de la pantalla LCD.
c) Visualizar una advertencia en la fila inferior cuando '9999' se supera.

Escribir un programa para un simple juego de adivinanzas, donde:


3
una) un jugador tiene que adivinar un número entre '0' y '9'.
segundo) el número secreto está pre-programado en el microcontrolador.
do) las pantallas LCD, en la fila superior, la última conjetura entraron a través de la teclado.

d) el LCD muestra un mensaje, en la fila inferior, que indica si la suposición es demasiado alto o demasiado bajo.

Extender este programa de manera que el número secreto está en el rango de '0' a '255'. Extender el programa de
nuevo para que el número secreto está en el rango de '0' a '9999'.

Escribir un programa para utilizar el teclado, como en un teléfono móvil, al texto de entrada al microcontrolador.
4
una) Utilizar código ASCII para transmitir los datos.

segundo) Utilizar el carácter '*' para un espacio.

do) Borrar la pantalla cuando se pulsa '#'.


re) Mostrar un mensaje en la fila inferior cuando el texto tiene más de diez caracteres.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 82


Las entradas analógicas y la EEPROM ejercicio 10

El 16F18877 PIC MCU acepta 35 entradas analógicas separadas. Los dispositivos más nuevos pueden tener aún más. Un término análogo señal
en una de estas entradas puede ser traducido en un número binario digital de 10 bits. Podemos optar por utilizar sólo los ocho más significativo
bits de este número de 10 bits o de usar el número de 10 bits. Tenga en cuenta que el trabajo con números de 10 bits en un microcontrolador de
8 bits como el PIC MCU, la escritura necesita cuidado programa.

Fondo

• LCD - Ejercicio 8 - LCD de programación


• Flowcode Wiki - funciones de manipulación de cadenas

• Sección 1 - Introducción a los microcontroladores


• Sección 2 - Uso de E-blocks

objetivos

• Crear registradores de datos, a partir de datos de 8 bits y 10 bits del ADC.

• Configurar una entrada analógica.

• Introducir datos a través de interruptores.

• Introduzca la información de los sensores de luz y temperatura.


• Configurar y utilizar el EEPROM.
• Desplazarse por EEPROM datos.
• texto de la pantalla y los datos numéricos en la pantalla LCD.

• Utilice el tablero prototipo E-blocks.

Tareas

1 Escribir un programa para mostrar un número de 8 bits, lo que equivale a la término análogo tensión de entrada desde el sensor de luz en la placa
del sensor. Intente conectar un voltímetro para medir la término análogo voltaje de entrada. (Excepto los siguientes programas y descargarlos en el
microcontrolador para la prueba).

Modificar el programa de la Tarea 1 a mostrar los datos de la ' maceta 'En el tablero del sensor. Tratar de convertir el ADC salida de 8 bits en
2
una lectura de voltaje entre 0 y 5 V, por lo que es tan preciso como el modo de 8 bits permite. Utilizar una voltímetro para medir la tensión de
entrada analógica.

3
Modificar el programa 2 para visualizar, en la pantalla LCD, un número de 10 bits equivalente a la término análogo tensión de entrada de la 'olla' en la

placa del sensor. Utilice un voltímetro para medir la tensión de entrada analógica. Tratar de convertir el ADC de salida de 10 bits en una lectura de

voltaje entre 0 y 5 V, por lo que es tan preciso como el modo de 10 bits permite. Utilizar una voltímetro para medir la término análogo voltaje de

entrada.

Escribir un programa para controlar la iluminación en una habitación durante un período de 24 horas:
4
• utilizando la señal analógica desde el sensor de luz en la placa del sensor
• el almacenamiento de las mediciones de luz en el EEPROM.

• el muestreo a la tasa más alta posible, dado que el PIC MCU tiene 256 bytes de EEPROM
la memoria a bordo.
• y la visualización de cada muestra con su número de la muestra, en la pantalla LCD.

• desplazándose hacia delante a través de las muestras mediante un conmutador a presión '0' o el desplazamiento hacia atrás por el

interruptor de presión '1'.

TIP: Aumentar la velocidad de muestreo de modo que usted no tiene que pasar 24 horas en las pruebas.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 83


El uso de macros de software ejercicio 11

En lenguajes de programación basados ​en códigos, como do y BASIC, una macro de software que se llamaría una

subrutina o función o procedimiento. A medida que los programas se hacen más grandes, utilizan ciertas combinaciones de instrucciones una
y otra vez. Estos programas se vuelven más difíciles de entender y leer. Las rutinas que son re-utilizados se pueden poner en una macro de
software, que puede ser llamado siempre que sea necesario en el programa principal. Haciendo uso de estas macros de software ilumina el
programa principal y hace que sea mucho más fácil de leer.

Fondo

• Flowcode Wiki - macro software propiedades del icono


• Sección 2 - Uso de E-blocks

objetivos

• Utilizar macros de software para simplificar la estructura de un programa.

• Crear macros de software.


• Utilice el control de bucle cerrado.

• Usar PWM para controlar el brillo de los LED.

Tareas

1
Escribir un programa que selecciona y dirige uno de tres programas diferentes mediante el uso de dos interruptores.

una) interruptor de '0' selecciona uno de los tres programas (que usted desarrolló antes).

• 'X': un 8-bit binario contador ascendente, aparece en los LEDs.


• 'Y': un 8-bit binario contador descendente, está representada en los LEDs.

• 'Z': una de 8 bits bidireccional 'luz corriente', que se muestra en los LEDs.

segundo) la pantalla LCD muestra un mensaje de texto que identifica el programa seleccionado.

do) interruptor de '1' activa el programa seleccionado cuando se presiona.

re) los tres programas se colocan en macros de software.

1 programa de modo que modificar:

mi) Si se presiona el interruptor '0', mientras que uno de los tres software se está ejecutando, detiene la ejecución

inmediatamente y se vuelve a seleccionar el bucle principal y espera una nueva selección.

Modificar el programa 1 de nuevo de modo que:

F) si el interruptor '0' mientras se presiona uno de los tres software se está ejecutando, la ejecución se detiene y

vuelve al bucle principal, como antes, pero que almacena el valor mostrado en los LEDs.
g) cuando se hace la selección siguiente, que comienza macro los LEDs de donde la anterior fue apagado,
haciendo la transición entre ellos más suave.

(programas de descarga al microcontrolador y prueba de ellos).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 84


Uso de interrupciones externas ejercicio 12

En ejercicios anteriores, el microcontrolador no necesariamente reacciona a las entradas de inmediato porque estaba ocupado haciendo otra cosa.

Las características de interrupción externa de microcontroladores resolver este problema. En un 16F18877, las interrupciones externas son en el pin

'RB0' - una única interrupción de pasador y en el puerto B como una 'interrupción en cambio (COI)'. Si estas interrupciones se ha inicializado

correctamente, entonces un cambio en el puerto B puede causar que el programa se detenga la ejecución inmediata y cambiar a la ejecución de la

macro de interrupción apropiado. entonces tenemos lo que se llama una ejecución 'tiempo real'.

Fondo
• Sección 2 - Uso de E-blocks.
• Flowcode Wiki.

objetivos

• Crear y utilizar las interrupciones de un solo PIN.

• Crear y utilizar interrumpir-on-cambio (COI) interrumpe.


• Use la operación en tiempo real de un microcontrolador.

Tareas

1 Escribir un programa para medir cuánto han pasado muchos segundos desde que se restableció un programa y muestra el resultado en una pantalla

LCD. Utilizar una variable llamada contar Se muestra cuyo valor en los LEDs (no utilizar una interrupción). Utilice un retraso 1s. Un flanco ascendente

en RB0 debe llamar a una macro que agrega una a contar.

Re-diseñar este programa utilizando una interrumpir ( De un solo pin) en RB0. Ahora volver a

diseñarlo utilizando ambos tipos de interrupción externa así que eso:

una) desencadenando los incrementos de interrupción de un solo pin ' contar '(Count = count + 1)

b) la activación de la COI interrumpir decrementos ' contar '(Count = count - 1)

Escribir un programa para hacer un dado electrónicos que:


2
una) recuentos de 1 a 12.
segundo) mostrará el resultado en la pantalla LCD.

do) Inicia 'rodadura' cuando se pulsa el interruptor 0.

re) se detiene 'rodando' cuando el interruptor 0 se pulsa de nuevo.

PROPINA: El LCD debe mostrar los números de 1 a 12, uno tras otro, una y otra vez rápidamente, a intervalos de 20 ms

(demasiado rápido para ver con un ojo humano). Modificar este programa de forma que:

mi) los dados se mantenga 'rodando', siempre y cuando el interruptor se mantenga pulsado 0.

F) se detiene 'rodando' cuando se suelta el interruptor.

g) en ese punto muestra el número en la pantalla LCD.

Escribir un programa para hacer que un contador de tiempo de reacción que:


3
una) ilumina todos los LED inicialmente.

segundo) los mantiene encendida durante alrededor de 6s.

do) ellos se apaga y se inicia un temporizador.


re) detiene el cronómetro cuando el jugador pulsa el interruptor 0.

mi) a continuación, muestra el 'tiempo de reacción' resultante en la pantalla LCD.

(Utilice una variable que se incrementa cada 10 ms.)

Modificar el programa de 3 para limitar el tiempo permitido para el tamaño de la variable utilizada y muestra un mensaje en la pantalla LCD cuando se

supera este tamaño. (Incluir una trampa para evitar las trampas simplemente manteniendo pulsado el interruptor 0 continuamente).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 85


Utilización del temporizador de interrupciones ejercicio 13

El otro tipo de función de interrupción en Flowcode es la interrupción de temporizador. Estos le permiten realizar tareas de software en intervalos de
tiempo predeterminados, precisamente, - una característica muy útil en el desarrollo de aplicaciones y los relojes de tiempo crítico.

Fondo

• Flowcode Wiki - ¿Qué es un display de 7 segmentos?

• Sección 2 - Uso de E-blocks.

objetivos

• Creación y uso de interrupción del temporizador.

• Utilizar el pre-escalador para crear intervalos de tiempo precisos.

• Activar el temporizador usando el cristal o un evento externo.

Temporizador de la aritmética:

El 16F18877 tiene varios temporizadores, pero nos fijamos en sólo dos: Timer0 ( Temporizador 0) y TMR1 ( Temporizador 0).

• Timer0 puede ser activada por el cristal o por una transición en el T0CKI alfiler RA4.
• El reloj interno tiene una frecuencia de la frecuencia de reloj de cristal / 4, es decir, 19660800/4 =
4,915,200Hz.
• los Timer0 prescaler se puede ajustar desde 1: 2 a 1: 256. Para este ejercicio, lo ponen a 1: 256, de modo que cada 256 pulsos de reloj hacen
que el Timer0 para aumentar en 1. Esto ocurre a una frecuencia de
4.915.200 / 256 = 19.200Hz.
• Cada vez que esto 8 bits temporizador 'desbordamientos' (alcanza 256), se genera una interrupción. Esto ocurre con una frecuencia de 19.200 /

256 = 75 Hz, de modo que el programa principal se detiene 75 veces por segundo y por lo que la interrupción del temporizador macro se

ejecuta 75 veces por segundo.

• En lugar de utilizar el cristal, este temporizador también se puede 'registró' por un evento externo, como en la medición de la velocidad

del motor etc.

• TMR1 puede ser activada por el oscilador de cristal o por una transición en el T1CKI alfiler RC0.
(Su funcionamiento es similar al de Timer0, excepto que utiliza diferentes valores prescaler).


Tareas

Escribir un programa para producir un temporizador precisa '' segundos que muestra el resultado en la pantalla LCD y se inicia cuando el
1 microcontrolador se pone a cero. Utilice un retraso 1s. No utilice una interrupción del temporizador.

(Descarga este programa al microcontrolador y probarlo utilizando su reloj). Reescribir el programa utilizando una
interrupción del temporizador.

Escribir un programa para crear un temporizador de baloncesto que se inicia cuando se pulsa el interruptor 0 y muestra el tiempo transcurrido en la
2
pantalla LCD. Hacen que los LED se encienden y apagan cuando han transcurrido 30 años (el tiempo permitido para el equipo con la bola para hacer

un intento de gol).

PROPINA: Utilizar una De un solo bit interrumpir en el pin RB0 para iniciar el cronometraje.)

Escribir un programa para producir un reloj de precisión que muestra el tiempo transcurrido desde la última puesta a cero, en horas, minutos y

segundos en la pantalla LCD (prueba con un reloj). Modificar este programa de forma que:

una) switch '0' detiene el reloj cuando se presiona la primera vez.


segundo) interruptores '1', '2' y '3' se puede utilizar para cambiar la hora que se muestra a la hora real.
do) interruptor de '0' se reinicia el reloj cuando se pulsa una segunda vez.

Escribir un programa para producir un temporizador de cuenta atrás de 01:00:00 a 00:00:00 en cuestión de segundos y luego se ilumina todos los
43
LEDs.

(Descarga al microcontrolador y probarlo con su reloj).

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 86


Retos adicionales sección 6

1 Desarrollar un regulador para todos los LEDs que reacciona a la intensidad de la luz medida.

• El sensor de luz controla la intensidad de la luz en una habitación. Cuando esta intensidad cae, un circuito de control envía más potencia
a las luces en esa habitación y viceversa, cuando la intensidad aumenta.

• Los indicadores sirven para simular las luces tenues. Esto se realiza mediante la programación de una PWM de software salida a los LEDs en el puerto B.

Cuando el PWM 'on' que aumenta el tiempo, los LED vuelven más brillantes, etc.

• Poner este programa en una interrupción del temporizador macro.

• El principal lazo supervisa la término análogo entrada desde el sensor de luz sobre el placa del sensor, en el puerto C. Cuando el sensor
de luz detecta menos luz, los LED tienen que brillar. Lo contrario debe suceder con los LEDs cuando el nivel de luz, medida por el sensor
de luz, se intensifica.
• El período de la señal PWM se mantiene una temperatura constante de 20 ms en todo momento, establecidos mediante una interrupción de temporizador.

• Descargar este programa para el microcontrolador y probarlo. Si tienes un 2 osciloscopio canal,


medir la entrada analógica del sensor de luz en una y la salida de PWM a uno de los LEDs en el otro.

• Utilizando un enfoque similar, desarrollar un controlador de temperatura para una incubadora. el BL0129 placa del sensor Grove se puede utilizar
con el Sensor de temperatura Grove módulo. Usa los LEDs para simular la acción de un calentador.

2 Tres jueces votan en espectáculos de variedades en un programa de juegos X-factor similares. Cuando dos o más jueces 'sí', el acto avanza a la siguiente
ronda.

• Diseñar un programa para combinar los votos de los jueces en un pasa / no pasa veredicto.

• Crear dos secuencias de luz LED, uno para indicar pase y el otro falle.

3 Diseñar un sistema de riego automático para un terrario sellada (vidrio de contenedores de la planta). Use la temperatura y el sensor de
humedad Grove módulo para detectar cuándo el terrario necesita riego.

• El dispositivo de salida es una bomba accionada por motor que tiene una duración de un período de tiempo una vez disparado. Debe haber

un período de 'descanso' después de riego antes de que el sistema pueda funcionar de nuevo.

4 Crear una cerradura de combinación, utilizando el BL0138 tarjeta de teclado a la entrada de una de cuatro dígitos 'PIN'.

• Añadir una característica que 'se bloquea' un usuario después de tres intentos fallidos.

• Modificarlo para evitar un mayor acceso al sistema por un período de tiempo, como diez segundos.

• Utilice la pantalla LCD para mostrar los números seleccionados en el teclado y el número de intentos realizados.

5 Desarrollar un interruptor de proximidad para una luz de seguridad utilizando la sensor ultrasónico guardabosques Grove módulo. El sistema debe cambiar en

cuatro luces (lámparas 12V) cuando una persona se acerca a menos de un metro del sensor y por lo tanto hace uso de la BL083 tablero de relés.

6
Utilizar el Sensor receptor de infrarrojos Grove Módulo de tiempo de la oscilación de un péndulo sin obstaculizar la misma.

7 Diseñar un sistema para controlar la Motor de corriente continua ( y el sensor) en el actuadores Panel de enseñanza a una velocidad constante.

• Añadir una función para modificar esta velocidad establecida.

Diseñar un sistema para controlar la motor paso a paso sobre el actuadores El entrenamiento del panel de modo que gira, en 15 0 pasos, a través de un círculo
8
completo y luego se invierte de nuevo a su posición inicial de la misma manera.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 87


Apéndice 1: Arduino

ajustes

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 88


Los ajustes de Arduino Apéndice 1

ARDUINO: SECCIÓN A

BL0055 Arduino escudo

• La placa tiene tres puertos, etiquetados A0-A5, D0-D7 y D8-D13.


• Puerto D0-D7 ofrece una funcionalidad completa de 8 bits.

• Puerto A0-A5 y D8-D13 tiene una funcionalidad de 6 bits.

• Puede ser alimentado por una fuente de alimentación externa, la entrega de 7.5V a 9V o con alimentación a USB.

• Si se pulsa el interruptor de reinicio, el programa almacenado en el Arduino se reiniciará.


• La junta es programable USB a través de un chip de programación. Este se encarga de la comunicación entre Flowcode y
el Arduino dispositivo.
• El Arduino ejecuta una instrucción por cada pulso de reloj que recibe.
• (Nota - una sola instrucción no es lo mismo que un solo símbolo Flowcode, que se compila en C y luego en la Asamblea y,
probablemente, se traduce en una serie de instrucciones).
• Este dispositivo utiliza una cristal 16MHz.

• La junta puede detectar si la fuente de alimentación externa o la fuente de alimentación USB deben ser utilizados.

• El uso de la herramienta AVR ISP de Microchip a través de la cabecera ICSP.

• Por lo general, se suministra con un dispositivo Arduino Uno.

• Proporciona energía a la E-blocks aguas abajo a través de placas de los conectores de puerto.

• Contiene el chip Santo matriz que permite la depuración en tiempo real y el pasador de vigilancia en circuito cuando se combina con
Flowcode.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 89


Los ajustes de Arduino Apéndice 1

ARDUINO: SECCIÓN B

Selección de Arduino en Flowcode

Al abrir Flowcode, se le presenta la pantalla de 'Bienvenida'. Haga clic en Nuevo proyecto.

Seleccionar Arduino Uno R3 PDIP .

Aquí la placa Arduino ha sido seleccionado a través de la

imagen GRATIS.

Esto nos lleva a la entorno estándar Flowcode. Un diagrama de flujo ahora se puede desarrollar en un programa que puede ser
probado en el modo de simulación Flowcode, o guardada y compilada a la placa Arduino.

Siga los ejemplos y ejercicios, teniendo en cuenta los cambios de puerto donde se requiera.
Por ejemplo anterior es cómo Primer programa Flowcode ( Página 42) se vería a un usuario Arduino. Aquí, los usuarios están

utilizando Arduino PORTC en lugar de Porta.

(PORTC en el Arduino 'Mapas' de la Porta de la junta Combo)

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 90


Los ajustes de Arduino Apéndice 1

ARDUINO: SECCIÓN C

E-blocks2:

Eblocks2 utiliza las tablas de 'clic' por sus conexiones SPI. Utilizando el BL0106 'clic' tablero de E-bloque, se puede poner la tarjeta en la (D8-D13)
del puerto como se muestra en la imagen siguiente:

E-blocks1:

El uso de la SPI E-bloque (EB013)

En el SPI E-bloque de mover el “CHIP EN LA SELECCIÓN” puente en la posición “2” y conecte DAC_EN y NVM_EN a los pines centrales

del “PUERTO DE UN MODO SELECT” puente (J14) de la Junta EB083 Combo:

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 91


Los ajustes de Arduino Apéndice 1

ARDUINO: SECCIÓN D

Configuración del hardware:

Este diagrama muestra cómo configurar el hardware de E-blocks con Arduino. Conecte su Arduino en la placa BL0055 como se muestra, a
continuación, el tablero combinado en los puertos etiquetados ( A0-A5) y ( D0-D7).

Nota: A pesar de tener dos conexiones de puerto de hardware entre la placa de desarrollo EB0114 y el Escudo BL0055, la
Arduino Uno sólo puede proporcionar 6 propósito general I / O conexiones en el puerto C, (A0-A5). Por lo tanto, los LED '6' y '7' y
los interruptores '6' y '7' en el puerto 1 de la placa de desarrollo, no se pueden utilizar con el Arduino Uno.

Con el fin de programar la tarjeta Arduino Uno directamente desde dentro de Flowcode, debe asegurarse de que están instalados los

controladores adecuados. Le recomendamos que visite el sitio Arduino y descargar los controladores más recientes desde allí.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 92


Apéndice 2: E-blocks1

ajustes

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 93


Ajustes E-Blocks1 Apéndice 2

E-BLOCKS1: SECCIÓN A

EB006 multiprogramador
• La placa tiene cinco puertos, con la etiqueta 'A' a 'E'.

• Puertos 'B', 'C' y oferta completa funcionalidad de 8 bits 'D'.

• Puerto 'A' tiene una funcionalidad de 6 bits, (8 bits si se selecciona el oscilador interno).

• Puerto 'E' tiene una funcionalidad de 3 bits.

• Puede ser alimentado desde una fuente de alimentación externa, la entrega de

7.5V a 9V o con alimentación a USB.


• Como se ha señalado en otra parte, no hay conexión 5V se proporciona en el conector de
tipo D. Esta debe ser proporcionado por una conexión adicional a las juntas de 'aguas
abajo', utilizando los terminales de tornillos de la placa Multiprogramador. La conexión a
tierra es proporcionado a través del pasador 9 del conector de tipo D.

IMPORTANTE - NO conecte el tornillo de 14V terminal a terminal de un 5V 'aguas abajo' de tornillo.

• Si se pulsa el interruptor de reinicio, el programa almacenado en el PIC MCU se reiniciará.

• Hay un mapeado 1: 1 entre los pines en el conector de tipo D y aquellos en los puertos, (por ejemplo, Pin1 se conecta a PB0,
Pin 2 a PB1 etc.)
• La junta es programable USB a través de un chip de programación. Este se encarga de la comunicación entre
Flowcode' y el PIC MCU.
• El PIC MCU ejecuta una instrucción por cada cuatro pulsos de reloj que recibe.
• (Nota - una sola instrucción no es lo mismo que un solo símbolo Flowcode, que se compila en C y luego en la Asamblea y,
probablemente, se traduce en una serie de instrucciones).
• Este curso utiliza un cristal 19,660,800Hz. Las ventajas de esta frecuencia incluyen:
• tasa estándar Baud (19200) se puede obtener por dividiéndolo por 1024;
• se puede dividir aún más por 256 para dar 75 Hz.
• Los puentes permiten al usuario seleccionar varias opciones:
• fuente de alimentación externa o la fuente de alimentación USB;

• donde el PIC MCU utiliza un oscilador interno, todos los ocho bits de puerto A se pueden utilizar para la operación de E / S;

• el uso de una herramienta profesional CIE-2 (depurador en circuito) de Microchip.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 94


Ajustes E-Blocks1 Apéndice 2

E-BLOCKS1: SECCIÓN B

Junta Combo EB083


La junta combina juntos en un tablero compacto de la funcionalidad que se encuentra
en una serie de tablas de E-blocks individuales:

• la placa de LED EB004 (x2)

• tablero LCD EB005;


• Panel de conmutación EB007 (x2)

• EB008 Quad de 7 segmentos bordo Display.


• Para este supuesto, los conectores de tipo D se unen a conectores hembra
de los puertos A y B de la Multiprogramador.
• La junta proporciona un conjunto de ocho interruptores y ocho LEDs para el puerto A y el

mismo para el puerto B.

• Con enlaces J14 en la posición 'Digital', el puerto A se encamina a sus interruptores pulsadores (SA0 a SA7), para LEDs (LA0 a LA7) y al
quad display de 7 segmentos.
• Con enlaces J14 en la posición 'analógica', el puerto A se conmuta a la sección del sensor analógico de la junta, de modo que
RA0 pin está conectado a la de a bordo sensor de luz y RA1 pin está conectado al potenciómetro para dar una tensión de salida
variable , (simulando la acción de un subsistema de detección analógica).

• (Con estos enlaces en esta posición, los interruptores y LEDs de a bordo LA0 y LA1 no funcionarán.)

• Puerto BI / O pasadores se enrutan a sus interruptores pulsadores (SB0 a SB7), a los LED (lb0 a LB7), para los quad displays de 7
segmentos y a la pantalla LCD.
• El quad display de 7 segmentos está activada por el interruptor S3. Está conectado a ambos puertos A y B.

• Puerto B se utiliza para controlar los segmentos LED y el punto decimal).


• Port A, los bits 0 a 3, seleccionar qué pantalla se activa.
• La pantalla LCD es un módulo x 2 líneas de 16 caracteres, encendido por el interruptor S5. Normalmente, un complejo dispositivo de programar,

Flowcode se ocupa de las complejidades, sin ser visto por el usuario.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 95


Ajustes E-Blocks1 Apéndice 2

E-BLOCKS1: SECCIÓN C

Configuración del hardware:

Este diagrama muestra cómo configurar el hardware de E-blocks.

¿Cómo E-blocks se conectan entre sí


E-blocks se basan en un concepto basado en bus. Cada conector tipo D E-bloque utiliza nueve pines, que permite la transferencia de ocho
bits de datos y 'tierra'.

En el sistema de E-blocks, algunos E-blocks son 'corriente arriba' y algunos son 'aguas abajo'. dispositivos 'Upstream' tienen 'inteligencia',
son por lo general programable y controlan el flujo de información a dispositivos 'aguas abajo'. En el sistema de E-blocks, los dispositivos
de 'upstream' se conectan mediante 9 vías de tipo D
tomas de corriente, mientras que los dispositivos 'aguas abajo' se conectan usando 9-way D-Tipo tapones.

Los diagramas muestran cómo los pines están numerados en las tomas de corriente. En ambas clavijas y
enchufes, bit 0 se suministra en el pin 1, el bit 7 en el pin 8 y el pasador 9 se designa 0V.

Cuando dos dispositivos mercados anteriores necesitan estar conectados juntos un cambiador de género o
cable 'Insulation Displacement Conector' (IDC) con dos tomas de IDC en puede ser utilizado.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 96


Ajustes E-Blocks1 Apéndice 2

E-BLOCKS1: SECCIÓN D

Comprender el sistema de parches


La mayoría de las 'aguas abajo' E-blocks incluyen un sistema de parche que le da flexibilidad en las conexiones que se realizan entre el
E-blocks 'aguas arriba' y 'aguas abajo'. Las conexiones por defecto están optimizados para facilitar la conexión entre PIC MCU 'aguas
arriba' y tableros E-Blocks 'aguas abajo'. Otros microcontroladores pueden requerir diferentes conexiones, facilitadas por el sistema de
parche. El sistema de parche tiene dos partes:

• de los puentes que seleccionan entre las conexiones por defecto y el sistema de parches,

• el parche propios conectores.


Las fotografías muestran una placa base EB090 sensores con y sin sensores conectados a él.

Las siguientes dos diagramas muestran cómo utilizar el sistema de parches en esta placa.

En el diagrama superior, puentes J12 y J13 se establecen en la posición 'por defecto'. Este rutas de señales desde el sensor de luz y 'olla' a
las patillas 1 y 2 del conector de tipo D, respectivamente.

Sin embargo, cuando se utiliza un microcontrolador diferente, es posible que desee la señal de la 'olla' que aparezca en el pin 5 del
conector tipo D. Para lograr esto, mover los puentes J12 y J13 en la posición de 'parche' y añadir un alambre de la toma 'olla' on 'J11'
a la clavija 5 en J8, como se muestra en el diagrama inferior.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 97


Sección: Índice

Introducción
Acerca de este Curso ............................................... .................................................. ................................ 3
Que necesitarás .............................................. .................................................. ............................... 4
Convenios curso ................................................ .................................................. ............................ 6
Objetivos de aprendizaje ................................................ .................................................. ............................ 8
Mapeo de Nivel 3 BTEC Diploma extendido Nacional de Ingeniería - Unidad 6 ................................... 9

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 98


Introducción a los microcontroladores Índice

Sección 1

¿Qué es un microcontrolador? .................................................. .................................................. ................ 12


Microcontroladores ................................................. .................................................. ................................. 13
El mundo digital ............................................... .................................................. .................................. 14
El Mundo Análogo ............................................... .................................................. ............................. 14
Analógica de datos ................................................ .................................................. ..................................... 15
Información digital ................................................ .................................................. .......................................... 15
Analógico a Digital Conversión .............................................. .................................................. ............. dieciséis
La introducción de datos en un microcontrolador ............................................. .................................................. ..... 17
Transferir los datos ................................................ .................................................. ................................... 17
Los límites actuales ................................................ .................................................. ...................................... 18
Almacenamiento de datos ................................................ .................................................. ......................................... 18
Tipos de memoria ............................................... .................................................. .................................. 19
Memoria de sólo lectura (ROM) ............................................ .................................................. ...................... 19
Memoria de acceso aleatorio (RAM) ............................................ .................................................. .............. 19
Memoria PIC ................................................ .................................................. ......................................... 20
Programación ................................................. .................................................. ...................................... 20
El proceso de Flowcode ............................................... .................................................. .......................... 21
Ejecución del programa de ............................................... .................................................. ........................... 21
Los diferentes tipos de microcontrolador .............................................. .................................................. ........ 22
PIC16F1887 Arquitectura ................................................ .................................................. ..................... 23
PUERTO A ................................................ .................................................. ................................................. 22
PUERTO B ................................................ .................................................. ................................................. 22
PORT C ................................................ .................................................. ................................................. 22
PUERTO D ................................................ .................................................. ................................................. 22
PUERTO E ................................................ .................................................. ................................................. 22
Memoria: ................................................ .................................................. .............................................. 23
ALU: ................................................ .................................................. .................................................. ... 24
Timer 1 (TMR1): ............................................ .................................................. ....................................... 24
Temporizador 0 (TMR0): ............................................ .................................................. ....................................... 24
RBO Interrupción externa: .............................................. .................................................. ......................... 25
PUERTO B Interrupción externa: ............................................. .................................................. ..................... 25
A / D: .............................................. .................................................. .................................................. ...... 25
Los autobuses: ................................................ .................................................. ................................................. 25
Introducción a los relojes ............................................... .................................................. ........................... 25

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 99


El uso de E-blocks Índice

Sección 2

tableros aguas abajo ................................................ .................................................. ............................... 27


tableros aguas arriba ................................................ .................................................. ................................... 27
BL0011 PIC Programmer ............................................... .................................................. ......................... 28
BL0114 Junta Combo ............................................... .................................................. ............................. 30
Conexión de E-blocks juntos ............................................. .................................................. ................... 30
El uso de E-blocks en el banco ........................................... .................................................. ....................... 30
La protección de los circuitos de E-blocks ............................................. .................................................. ..................... 30

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 100


Introducción a Flowcode Índice

Seccion 3

Introducción a Flowcode ............................................... .................................................. ..................... 32


Lo que es Flowcode ............................................... .................................................. ................................. 32
visión general Flowcode ................................................ .................................................. .............................. 32
Las barras de herramientas y paneles .............................................. .................................................. ......................... 33
barra de herramientas de iconos .................................................. .................................................. ...................................... 33

barra de herramientas de componentes .................................................. .................................................. .......................... 33

barra de herramientas de menú y de simulación .................................................. .................................................. ............ 33

Tablero de instrumentos y los paneles del sistema .................................................. .................................................. .............. 34

panel propiedades .................................................. .................................................. ................................. 34


Explorador de proyectos .................................................. .................................................. ................................. 34
lista de iconos .................................................. .................................................. ............................................... 34
ventana de chip .................................................. .................................................. ...................................... 35
Acoplamiento y desacoplamiento de las barras de herramientas y paneles .................................................. ................................. 35

ventana de diagrama de flujo .................................................. .................................................. ............................. 36


ventana de simulación depurador .................................................. .................................................. ........... 36
Inicio de un nuevo diagrama de flujo .............................................. .................................................. ....................... 37
La apertura de un diagrama de flujo existente .............................................. .................................................. .............. 37
Guardar un diagrama de flujo ............................................... .................................................. ................................ 37
Diagrama de flujo de ahorro Imágenes ............................................... .................................................. ...................... 37
El menú Ver ............................................... .................................................. ..................................... 38
Opciones globales ................................................ .................................................. ..................................... 38
Diagrama de flujo Tab .................................................. .................................................. .................................... 38
esquema Tab .................................................. .................................................. ........................................ 39
pestaña anotación .................................................. .................................................. .................................. 39
pestaña de aplicaciones .................................................. .................................................. .................................. 39
Tab editor .................................................. .................................................. ........................................... 39
Tab ubicaciones .................................................. .................................................. ..................................... 40
alcance de la lengüeta .................................................. .................................................. ........................................... 40
Ayuda con los Flowcode .................................................. .................................................. .............. 41

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 101


Primer Proyecto Flowcode Índice

Sección 4

La adición de salidas digitales - iluminar el LED ........................................... .................................................. ...... 42


El hardware ................................................ .................................................. ........................................ 42
La creación de un nuevo proyecto ............................................. .................................................. .......................... 43
Adición de LEDs ................................................ .................................................. .......................................... 44
El diagrama de flujo ................................................ .................................................. ....................................... 44
Ejecución de la simulación ............................................... .................................................. ......................... 45
Cambio de propiedades de LED ............................................... .................................................. ........................ 46
Cambio de la salida ............................................... .................................................. .............................. 46
Guardar el programa ............................................... .................................................. ............................... 46
La compilación de la viruta ............................................... .................................................. .................................. 46
Cambio de la configuración de puertos ............................................... .................................................. ........................... 47
Numeros binarios ................................................ .................................................. ................................... 48
Convertir números ................................................ .................................................. ............................ 48
Trabajando en Hex ............................................... .................................................. ...................................... 48
Hex en Flowcode ............................................... .................................................. .................................... 48
Las construcciones de codificación - Número Sistemas Hoja de trabajo ............................................ ..................................... 49

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 102


Ejemplos Flowcode Índice

sección 5

Ejemplo 1. La adición de entradas digitales - ¿Dónde está el fuego? .................................................. ........................ 51

Configuración del diagrama de flujo .............................................. .................................................. ........................ 51


La creación de las variables ............................................... .................................................. ........................... 51
Más sobre variables ............................................... .................................................. ................................. 53
las variables Flowcode ................................................ .................................................. .............................. 53
Otros temas variables ............................................... .................................................. ............................ 53
¿Por que preocuparse? .................................................. .................................................. ....................................... 53
Configuración de las salidas .............................................. .................................................. ........................... 54
La adición de los interruptores ............................................... .................................................. .............................. 54
Simulando el programa ............................................... .................................................. ........................ 54
Ejemplo 2. Uso de bucles - Cuenta de ovejas .................................................. .......................................... 55
Configuración del diagrama de flujo .............................................. .................................................. ........................ 55
La creación de las variables ............................................... .................................................. ........................... 55
Configurar el cálculo .............................................. .................................................. ...................... 56
Configuración de propiedades de bucle ............................................... .................................................. .................. 56
Cuando para probar? .................................................. .................................................. .................................... 56
Loop para un número determinado de veces ........................................... .................................................. ................ 56
Configuración de la entrada .............................................. .................................................. ............................... 57
Configuración de la salida .............................................. .................................................. ............................. 57
Adición de la matriz de LED .............................................. .................................................. ............................. 57
Añadiendo el interruptor ............................................... .................................................. ................................. 58
Simulando el programa ............................................... .................................................. ........................ 58
La solución: La adición de un retardo ............................................ .................................................. ................... 59
Ejemplo 3. La pantalla LCD - Publicación de mensajes .................................................. ................................ 60
pantallas LCD ................................................ .................................................. ......................................... 60
Adición del componente LCD .............................................. .................................................. ................... 60
Escribir mensajes ................................................ .................................................. ................................. 61
Otras funciones LCD ............................................... .................................................. .............................. 61
Usando PrintNumber - un ejemplo: ............................................ .................................................. ........... 61
Ejemplo 4. Un cronómetro .................................................. .................................................. ................... 63 Ejemplo 5. Uso de números
binarios - Una calculadora binario .................................................. .................... 64
Configuración del diagrama de flujo .............................................. .................................................. ........................ 64
La creación de las variables ............................................... .................................................. ........................... sesenta y cinco

Configuración de las entradas .............................................. .................................................. .............................. sesenta y cinco

Configurar el cálculo .............................................. .................................................. ...................... 66


Configuración de la salida .............................................. .................................................. ............................. 66
Adición de una matriz de LED .............................................. .................................................. ................................. 66
La adición de los interruptores ............................................... .................................................. .............................. 66
simulación Slow ................................................ .................................................. .................................... 67
Ejemplo 6. lógica binaria en el control .................................................. .................................................. .... 68
A. Control del horno de microondas ............................................ .................................................. ......... 68
Configuración del diagrama de flujo .............................................. .................................................. ........................ 68
B. El control de luz interior en un coche .......................................... .................................................. ........... 70
Configuración del diagrama de flujo .............................................. .................................................. ........................ 70

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 103


Ejercicios de programación Índice

sección 6

Ejercicio 1 - Crear materiales de ............................................. .................................................. ..................... 73


Ejercicio 2 - Usando Los retrasos ............................................. .................................................. ............................ 74
Ejercicio 3 - El uso de puntos de conexión ............................................ .................................................. .......... 75
Ejercicio 4 - Realizar cálculos ............................................. .................................................. ......... 76
Ejercicio 5 - Uso de bucles ............................................. .................................................. ............................. 77
Ejercicio 6 - Introducción de datos ............................................. .................................................. ......................... 78
Ejercicio 7 - Toma de decisiones ............................................. .................................................. .................... 79
Ejercicio 8 - Programación de los LCD ............................................. .................................................. ................. 81
Ejercicio 9 - Uso del teclado ............................................ .................................................. ..................... 82
Ejercicio 10 - Entradas analógicas y la EEPROM .......................................... ............................................ 83
Ejercicio 11 - Uso del software de macros ............................................ .................................................. .......... 84
Ejercicio 12 - Uso de interrupciones externas ............................................ .................................................. ....... 85
Ejercicio 13 - Utilización del temporizador de interrupciones ............................................ .................................................. ........... 86

Retos adicionales ................................................ .................................................. ............................. 87

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 104


Control de versiones

versión Autor Fecha cambios

1.0 JV 28/10/2016 la creación de documentos.

2.0 RT 20/04/2018 La actualización de nuevo. E-blocks2 y renovación general.

Copyright © 2016-18 Matrix Technology Solutions Limited www.matrixtsl.com 105


Matrix Technology Solutions Ltd.
33 Patíbulo calle

Halifax

HX1 5BA

t: +44 (0) 1422 252380 e:


sales@matrixtsl.com

www.matrixtsl.com

CP4375