Página de inicio Mi Correo






   » Foro
   » Nuevo Foro
   » Mi Correo
   » Mis Actividades...


--- Novedades ---



    
  » Microcontroladores » Display y Tablas (1 de 9)  

.: 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 esta 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á...

Entradas Salidas
 LE   BI   LT   D C B A   a b c d e f g  Visualiz.
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 1 1 1 1 1 0
0 1 1 0 0 0 0
1 1 0 1 1 0 1
1 1 1 1 0 0 1
0 1 1 0 0 1 1
1 0 1 1 0 1 1
0 0 1 1 1 1 1
1 1 1 0 0 0 0
1 1 1 1 1 1 1
1 1 1 0 0 1 1
0
1
2
3
4
5
6
7
8
9

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.



R-Luis...


<--Anterior   Introducción   Siguiente -->
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Tabla de Referencias


    
--| |--