Вы находитесь на странице: 1из 14

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores

Ejemplo N 1

Modelo PIC utilizado: 16F84

Este proyecto tambin puede ser desarrollado con los PIC:

16F6xx / 16F87x

Ttulo

Contador de 0 a 99.

Descripcin

Desarrollar un contador desde 0 hasta 99 visualizando el estado de la cuenta en 2


displays de 7 segmentos mediante un codificado CD4511 .

Objetivo

Mostrar como utilizar registros, convertir datos a BCD y la manera de visualizar


datos en displays de 7 segmen tos.

Procedimiento

Incrementar el valor de un registro, convertirlo a BCD y visualizarlo en los di splays de 7 segmentos .

Mdulos utilizados

Configuracin de puerto.
Asignacin d e registro
Evaluacin de registro
Conversin a BCD
Visualizacin en display de 7 segmentos con codificador

Desarrollo del ejemplo


Comience

creando

un nuevo proyecto.
Una vez generado un
nuevo proyecto, comenzamos declarando registros que vamos a utilizar.

Para eso debemos ir al men Declaraci n/R egistros como se


muestra en la imagen a la derecha.

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 1/14

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores

Para declarar un registro haga doble clic sobre


uno de los registros de Usuario (de color verde). Estos registros son los que Ud. puede utilizar para
guardar los datos que se requieran en el proyecto.
Declare un registro llamado contador .
A continuacin vamos a configurar el pue rto B.
Para esto ingrese al rbol de herramientas como se
muestra en la siguiente imagen.

Se presenta la pantalla de configuracin del puerto B. El puerto B lo utilizaremos para conectar los displays de 7 segmentos, por esto lo configuramos como sali da.

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 2/14

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores


El diagrama de flujo debe verse como la siguiente ima gen.

Luego iniciamos el registro contador a 0. De esta manera nos


aseguramos que al reiniciarse el microcontrolador, el contador siempre
comi enza la cuenta desde 0.
Para esto i ngres e al rbol de herramientas como lo muestra imagen de
la derecha.

Se presenta la pantalla Asignar un valor a un Registro.


Primero seleccione el registro al cual se le asignar un valor.
Dado que queremos que el registro contador siempre inicie la cuenta
en 0, seleccione la opcin un valor literal, que corresponde a un valor
fijo.
Luego seleccion e el formato del numero a ingresar, en este caso
Decimal y por ltimo ingres e el valor que desea asignar al registro, en
este caso 0.
Por ltimo, si lo desea puede ingresar un comentario.
En la siguiente imagen se muestran los datos ingresados .

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 3/14

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores


Al presionar el botn Ingresar se inserta el bloque en el diagrama de flujo, el cual debera ir quedando
como lo muestra la siguiente imagen.

El siguiente paso consiste en visualizar el estado de la cuenta en los displays de 7 segmentos.


Para esto, es necesario primero convertir el valor del contador a form ato BCD, es decir, que debemos
descomponer el valor de la cuenta en Unidades y Decenas para luego mostrar cada valor en el display correspon diente.
Para mayor informacin sobre visualizacin de datos en displays de 7 segmentos consulte el Anexo1Visualizacin de datos en displays de 7 segmentos.
Para convertir un valor a BCD ingrese al men como se muestra en la
imagen de la derecha :
Se presenta la pantalla convertir registro a BCD.
Primero seleccione el registro que desea convertir a BCD. En este caso, el registro Contador.
Luego debe seleccionar los registros donde guardar el resultado de la
conversin. Como an no hemos declarado los regis tros, presione el bot n nuevo correspondiente a las unidades. Se presenta la pantalla de
declaracin de registros y declare el registro Unidad.

Al volver de la pantalla de declaracin de registros, el registro recin declarado ha sido seleccionado en la lista automticamente.
Proceda de la misma manera
para el registro Decena.

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 4/14

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores


Dado que nuestro proyecto solo cuenta hasta 99, el valor de las ce ntenas no es necesario declararlo.
Al presionar el botn Ingresar se inserta el bloque en el diagrama de flujo.

Una vez que ya ha realizado la conversin a BCD, esta en condiciones de visualizar los datos en los displays de 7 segmentos. Vamos a utilizar un codificador CD4511 para ocupar menos cantidad de pines del
microcontrolador.

Para esto ingrese al rbol de herramientas como se muestra en la imagen de la derecha:


Se presenta la pantalla de visualizacin de displays de 7 segmentos con
codificador CD4511.

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 5/14

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores


Primero debe seleccionar el tipo de display a utilizar. El CD4511 es un codificador para displays tipo ctodo comn, por esto seleccionamos este tipo de display.

Luego debe seleccionar la cantidad de dgitos a utilizar, en este caso seleccione 2 dgitos.
Al seleccionar la cantidad de d gitos a utilizar, se muestra un mensaje que le indica como seleccionar los
valores de mostrar en cada display.

El proceso de visualizacin de datos en los displays consiste en enviar el valor de las unidades, habilitar
el display correspondiente a las unidades y apagar el display de las decenas, mantener el display de las
unidades encendido durante un breve periodo de tiempo (algunos microsegundos), luego se apaga el display correspondiente a las unidades y se enva el dato correspondiente a la decenas, se habilita el display
de las decenas y se mantiene encendido durante algunos microsegundos.

Este proceso debe repetirse muchas veces y se produce a gran velocidad. De esta manera se genera la
ilusin ptica de estar visualizando el valor representado por los 2 dgitos.
El campo repeticiones contiene la cantidad de veces que el proceso de multiplexado se repite. El valor
por defecto es de 1000 repeticiones. Si el valor de las repeticiones aumenta, mayor ser el tiempo que el
micro permanecer mostrando el dato antes de seguir con la ejecucin del resto del programa.

En este caso, si modifica el valor de las repeticiones, se vara la velocidad del conteo.

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 6/14

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores


Luego debe seleccionar el valor a visualizar en cada display. Esto se realiza haciendo un doble clic sobre
cada imagen de display.
Se presenta la pantalla Mostrar
un valor en un display.
Seleccione el registro Unidad.
Recordemos que este registro contiene el valor de las unidades del estado actual de la cuenta calculado
mediante el bloque de conversin a
BCD.
Proceda del mismo modo para el
registro de las decenas.
Una vez seleccionados los datos a visualizar en cada display, se debe seleccionar el pin por el cual desea habilitar e inhabilitar cada display para realizar el multiplexado.
Esto se realiza seleccionando el Pin correspondiente en cada una de las listas desplegables que se presentan debajo de cada uno de los displays.

Observe que Niple slo presenta en la lista los pines que estn configurados como Salida. De esta
mane ra se evitan los errores por seleccionar pines configurados como Entrada o no configurados.
Seleccione los pines B3 y B2 para las unidades y las decenas respectivamente.

Por ltimo, debe seleccionar los pines correspondientes al bus de datos por el cual se enva el dato a visuali zar al codificador CD4511.
Para este ejemplo seleccione los pines B4 al B7 como lo muestra la siguiente imagen.

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 7/14

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores

Por ltimo puede consultar e imprimir el esquema de conexin de la configuracin que ha seleccionado.

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 8/14

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores


Al presionar el botn Ingresar se inserta el bloque en el diagrama de flujo el cual debe verse como lo
muestra la siguiente imagen.

Por ltimo debe sumarle 1 al registro Contador. Para esto ingrese


al rbol de herramientas como se muestra en la imagen de la de recha.
Se presenta la pantalla Matemticas Adicin - 8 Bis.
El campo sintaxis presenta la manera de interpretar los datos solicitados.

En el campo Sumando 1 seleccione el registro contador y en el


campo Sumando 2 seleccione la opcin un literal, formato decimal,
valor 1.

Por ltimo, seleccione el registro donde des ea guardar el resultado


del clculo, en este caso, seleccione la opcin en otro registro, registro Contador. Esto significa que el registro Contador ser sobrescrito con el resultado del clculo.
La siguiente imagen muestra como debera quedar la pan talla.

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 9/14

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores

Al presionar el botn Ingresar, se inserta el bloque en el diagrama de flujo el cual debera quedar como
lo muestra la siguiente imagen.

Dado que el presente proyecto slo cuenta hasta 99, una vez realizado el incremento del registro contador, debemos controlar que el valor del mismo no supere el nmero 99.

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 10/1 4

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores


Esto lo hacemos comparando el registro con el valor literal (constante) 99 y reiniciar la cuenta a 0 cuando
el registro sea mayor a 99.
Para comparar el valor del registro utilizamos el bloque de comparacin
de registro a 8 bits ingresando al rbol de herramientas como se muestra
en la imagen de la derecha.
Se presenta la pantalla Evaluar un registro.
El registro a evaluar es el registro Contador, el operador de comparacin es > y el valor de comparacin es de tipo Literal, Decimal y valor
99.
En la siguiente imagen se muestran los datos seleccionados.

Al insertar el bloque, el diagrama de flujo debe verse como la siguiente imagen.

El bloque que acabamos de insertar puede interpretase como la formulacin de la siguiente pregunta:
El registro Co ntador , es mayor que el valor decimal 99?

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 11/1 4

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores


Y como todo bloque de comparacin,
debe tener 2 salidas; una para el SI y
otra para el NO.
El primer bloque insertado a contin uacin de ste, corresponde a la salida del
SI y el segundo a la salida del NO.
Entonces, que ocurre si el registro
contador es mayos que 99? Debemos reiniciar la cuenta a 0. Esto se realiza asignando el valor 0 al registro Contador.
Para esto utilizamos el mdulo de Asignar un valor a un Registro del mismo
modo que explicamos al inicio del ejemplo.
El diagrama de flujo debe verse como
la imagen de la derecha.

Continuando con el bloque de evaluacin de registro, si el valor no es


mayor a 99, entonces no se debe reiniciar la cuenta, sino que debe volver al
bloque de conversin a BCD para comenzar el ciclo nuevamente.
Para esto genere un vnculo Fl echa desde el bloque de evaluacin
hacia el bloque de conversin a BCD
como se muestra en la siguiente imagen.

Para terminar con este proyecto debemos cerrar el ciclo por medio de un
vnculo (flecha) desde el bloque de
asignacin del registro contador a 0
hacia el bloque de conversin a BCD.
De esta manera, el microcontrolador
ejecuta todo el proceso nuevamente
con el nuevo valor de la cue nta.

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 12/1 4

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores


El diagrama de flujo completo debe que dar como la siguiente imagen.

Por ltimo genere el cdigo Assembler, compile el cdigo Assembler y grabe el microcontrolador.

Esquema electrnico

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 13/1 4

Niple para PIC 16F84 v3 - Programacin Visual de Microcontroladores


Imagen de l proyecto en funcionamiento

Niple 16F84 Ejemplo 1 - Contador desde 0 hasta 99.

Pgina 14/1 4

Вам также может понравиться