Palpalá - Jujuy - Argentina
Fiesta Nacional de los Estudiantes 2011.
Todo un proyecto...!!!
Complejo Educativo José Hernández (2013) y sus Carroceros.
Colegio Mayor Jujuy (2013) - El ave Fenix
Nuestro Sistema de Iluminación
que marcó toda una Historia en los Desfiles de Carrozas
En el Año del Bicentenario del Éxodo Jujeño.
Vieron que Argentina no termina en salta...!!!
La ciudad donde los Cerros...
Fueron Pintados por Duendes Traviesos...!!!
Tocando el Cielo, Fe y Esperanza.
Gracias Virgen de Punta Corral...!!!

MICROCONTROLADORES PIC:

De lo más básico, a lo más complejo.
El Secreto está en practicar, interpretar, entender y experimentar.

Introducción - Tutorial de Display y Tablas

Voy a tratar de no hacerlo muy extenso, aunque me va a costar un poco, pensaba hacer algo con LCD, pero aquí en Jujuy, te sacan un ojo y te rompen el otro por un pequeñín de esos, así que lo haré con un simple Display, por otro lado, si alguien ya trabajó con los LCD, sería bueno que manden un tutorial al respecto, así lo incorporamos y ya estaríamos casi completitos, les parece...???

Ok, Comencemos...!!!


Los LCD o Displays

Si bien todas las tareas que realizamos, las podemos ver reflejadas en un simple LED, hay ocasiones, en que es necesario ver un número o una letra que nos brinde información de aquello que nuestro micro está haciendo, o simplemente que nos muestre la hora (podríamos hacer un reloj...!!!), o que le muestre un mensaje a nuestra "FIEL" Amada (Te casarías conmigo...???), jaja, bueno, lo último está demás... :oD

Pues para eso están los LCD o los Displays

Para quienes no conozcan lo que es un Display, aquí tienen una imagen

Básicamente un Display es una colección de LEDs ubicados de forma estratégica, y como todo LED, obviamente, dispone de un Cátodo y un Ánodo, el tema es que como son varios LED's, se los agrupa uniendo sus cátodos en cuyo caso será de CÁTODO COMUN, o bien agrupando sus ánodos, resultando un Dislplay de ANODO COMUN, por otro lado estos LED's pueden ser fabricados en forma de Puntos o Segmentos, tal es así que se encuentran Displays de 7 segmentos, como los de la imagen (que son los más comunes de todos).

En fin, nosotros trabajaremos con un Display de CÁTODO COMÚN y de 7 segmentos, más el punto (por supuesto)

Si ya están preparados para comenzar, aquí vamos...


Formas de Control

Para comenzar, les contaré lo que haremos...

Vamos a hacer un programa que lea la cantidad de veces que se activa un pulsador y muestre el resultado correspondiente.

Para hacerlo, tenemos dos posibilidades, una de ellas es hacerlo en forma directa, es decir conectar el puerto B del micro a los pines del Display, y luego encender cada uno de los segmentos del Display para visualizar el valor correspondiente.

La otra posibilidad es utilizar un decodificador BCD como el 74LS47 o el 74LS249, o el CD4511 que es el que yo utilizaré

Estos integrados disponen de 4 entradas correspondientes a un código binario, y 7 salidas que se conectan a un Display para mostrar el valor en decimal, o en hexadecimal, según el caso, el nuestro sólo lo hará en decimal.

Yo trabajaré de las dos formas, con y sin decodificador, así tienen una idea de como trabajar con ellos...

Trabajando con un decodificador BCD

Primero veamos todos los componentes que vamos a utilizar

El primero de ellos, es un Display de 7 segmentos de cátodo común, por ser de cátodo común, es obvio pensar que las señales que deberá recibir este Display para iluminar sus segmentos, deben ser positivas, aquí tienen una imagen del display y sus pines...

Este Display está compuesto por 10 pines, de los cuales 7 corresponden al ánodo de cada segmento (nombrados como a, b, c, d, e, f y g), uno para el punto (.), y finalmente 2 que corresponden al cátodo, a los cuales no les puse nombre pero están pintados de azul, aquí hay que aclarar algo, estos dos terminales son comunes, así que da lo mismo que conectes cualquiera de ellos o los dos.

El segundo componente importante aquí es el Decodificador, y yo voy a trabajar con el CD4511 aquí los datos del integrado.

Lo importante de este integrado, es que posee 4 pines de entrada y 7 de salida, mas unos cuantos de configuración. El hecho es que, los 4 pines de entrada (A, B, C y D) serán los que reciban el código en binario de la cantidad de veces que se activó el pulsador (dato enviado por el micro). Una vez recibido el dato, el integrado se hará cargo de decodificarlo y enviarlo por los pines de salida (a, b, c, d, e, f y g) para mostrarlo en el display, interesante no...!!!

Lo que nos falta saber, es que dato deberé enviar al decodificador para que este muestreeeee... el cero por ejemplo, para esto no hay nada mejor que ver su tabla de verdad, y aquí está...

EntradasSalidas
LEBILTD C B Aa b c d e f gVisualiz.
0110 0 0 01 1 1 1 1 1 00
0110 0 0 10 1 1 0 0 0 01
0110 0 1 01 1 0 1 1 0 12
0110 0 1 11 1 1 1 0 0 13
0110 1 0 00 1 1 0 0 1 14
0110 1 0 11 0 1 1 0 1 15
0110 1 1 00 0 1 1 1 1 16
0110 1 1 11 1 1 0 0 0 07
0111 0 0 01 1 1 1 1 1 18
0111 0 0 11 1 1 0 0 1 19

Por supuesto que de la tabla de verdad, solo tomé lo que me interesa, el resto lo dejé de lado, también se puede notar la configuración de los otros pines del integrado...

El último componente del que hablaremos, es el muy conocido PIC16F84, con el cual nos estamos familiarizando de a poco.

Ahora veamos como es el circuito que vamos a utilizar...

Lo que nos toca ver, es como programar el micro, yo lo haré utilizando la interrupción por el pin RB0, (y así repasamos algo de lo que vimos anteriormente), en él estará conectado el pulsador, y del puerto A usaré los 4 primeros Bits para enviar el dato al decodificador. Ahora bien, si lo que vamos a hacer es un contador, necesitaremos un registro para contar las veces que se activa el pulsador, o bien podemos hacer un incremento directamente en el puerto A, yo lo haré de esta última forma.

Un pequeño detalle antes de pasar a la siguiente página...

Sólo por si las moscas..., si te diste cuenta estamos utilizando 4 bits para enviar el dato al decodificador, y con 4 bits puedes contar hasta 15 (1111), pues resulta que el decodificador solo reconoce los datos hasta el 9 (1001), el tema es que cuando pase a 1010 (10) el display se apagará, ya que será un dato que no reconoce, cosa que deberemos tener en cuenta al programar.

Una solución sería verificar la cuenta, y cuando llegue a nueve reiniciarla en cero, bueno, pero eso lo veremos en la siguiente página...

Ok, ahora presta atención al código que viene...


CONTENIDO DEL TUTORIAL:

Grabadora CNC
CQPIC para LED's
CQPIC para RGB