Sei sulla pagina 1di 7

MICROCONTROLADORES Y MICROPROGRAMACIN PRACTICA # 1-A : VISUALIZACIN POR BARRIDO OBJETIVO: Poder visualizar sobre tres displays el dato de entrada,

usando barrido o multiplexacin en el tiempo; es decir, utilizar un nico bus de datos para mandar la informacin sobre los tres displays, enviando cada dato en un determinado tiempo. CRITERIOS DE DISEO: Para armar este circuito, se utilizara la lgica estudiada en Electrnica Digital, en base a compuertas lgicas y circuitos de mediana escala de integracin. Para realizar el diseo debemos conocer las caractersticas del circuito: Se ingresaran 12 lneas de datos (Tres nmeros hexadecimales). Los datos ingresados sern almacenados en un registro (lo cual incluye un dato ms de entrada que servir para almacenar la informacin). La visualizacin sobre los displays se har a travs de un convertidor hexadecimal a siete segmentos (se mostraran las letras ABCDEF y no combinaciones equivalentes (Ej. 74x47)).

El barrido es una tcnica bastante utilizada en sistemas digitales, la ventaja que ofrece es el de la reduccin de lneas de datos (entrada o salida), esta tcnica tiene una mayor eficiencia cuando se trabaja con sistemas basados en microcontroladores, que es donde se reduce mucho ms los recursos externos a usar (reduccin de hardware). El barrido en general aprovecha: la baja velocidad de respuesta de nuestros sentidos. la capacidad que tiene nuestro cerebro de completar y corregir la informacin. Esto ultimo lo podemos apreciar cuando leemos y existen algunas letras suprimidas o inteligibles, de igual forma lo entendemos. Entonces al ver una visualizacin por barrido, nos da la impresin que los displays siempre estn prendidos; cuando en realidad slo uno de ellos lo esta. DISEO: En la prctica hay dos formas de desarrollar el barrido: El barrido se desarrollara por display, esto implica que slo se prendera un display a la vez (ms bus de datos y menos de barrido). El barrido se desarrollara por segmento de display, esto implica que un segmento de todos los displays se prendera a la vez (menos bus de datos y ms de barrido)

Es ms sencillo trabajar con lgica digital (no microcontroladores) para realizar el barrido por display, por lo cual la presente prctica se implementara en base a esa lgica. DIAGRAMA DE BLOQUES:

DECODIFICADOR HEXADECIMAL A SIETE SEGMENTOS 4

DISPLAYS
3

SELECTOR DE DATO HEX


12 HABILITADOR DE DISPLAY

REGISTRO DE ALMACENAMIENTO
13

SINCRONIZACIN

DATOS DE ENTRADA

A. REGISTRO DE ALMACENAMIENTO: Segn requerimientos de diseo, se pide que los datos se almacenen en un registro, entonces utilizaremos un registro PIPO, el cual son varios flip-flop D. Se implementara a travs del CI74374; donde los datos y la seal para guardarlos, sern transparentes al usuario. B. CIRCUITO DE BARRIDO: Este se encarga de habilitar slo un display a la vez, este circuito puede ser independiente de la seal de reloj (asncrono), o depender todo el circuito de una sola seal de reloj (sncrono). Un circuito asncrono se implementara por ejemplo con un 4017 y una seal de reloj mucho mayor al que genera la secuencia combinacional, esto con el objetivo de una correcta visualizacin, aqu debemos tener cuidado si se conecta el 4017 directamente a la seal de reloj general, en el simulador funcionara y esto se debe a que estos modelos empiezan reseteados, pero en la practica empiezan en un estado aleatorio, lo cual causara errores durante la visualizacin. Un circuito sncrono utilizara un contador ms, pero la eficiencia de visualizacin seria mayor, y es de esta forma como se implementara el circuito.

Esta parte del circuito la forman el reloj, un contador (7493), y un decodificador 3 a 8 de salidas activas en alto (74238). Internamente el contador binario (7493), contiene dos contadores (mdulo 2 y 8), que se pueden unir para formar un contador mdulo 16, pero para este trabajo slo utilizaremos el contador mdulo 8. Al utilizar slo 3 displays convertiremos a este en mdulo 3, lo cual se logra realimentado las salidas QC y QD al and-reset del contador R0(1) y R0(2). Esta salida del contador sincronizara a todo el circuito; y brindara la informacin al decodificador de cual display se habilitara. C. MULTIPLEXOR: Una vez que los datos estn almacenados, debemos seleccionar uno de ellos y enviarlos por el bus de datos para su visualizacin, para ello utilizaremos tres multiplexores 1 de 4 (ya que no existen implementados 1 de 3), el CI que utilizaremos ser el 74153, el cual contiene 2 multiplexores internamente. El selector del multiplexor ser el contador que a la vez seleccionara a un display a la vez, con lo cual los datos y la habilitacin de displayado quedan sincronizados. D. DECODIFICADOR HEXADECIMAL A SIETE SEGMENTOS: Los datos a la salida del multiplexor son en hexadecimal, y se tendr que decodificar esa informacin, para esto existen CI combinacionales como el MC14495, pero que no se encuentran implementados en el Proteus. Es por esta razn que se hizo la lgica combinacional para una salida a siete segmentos. La forma ms sencilla de hacerlo era mediante 7 multiplexores 1 de 16 (74150) 1 de 8, pero ocupaban mucho espacio. Luego se utilizo los mapas de Karnaugh para reducir las expresiones booleanas, pero de igual forma ocupaban mucho espacio y tenan un forma bastante desordenada. Aprovechando que eran bastantes las funciones (7 en total), que dependan de las cuatro variables, y tratando de que el circuito sea lo bastante ordenado se implemento al decodificador de manera genrica, como muestra el diagrama:

E. MEJORAS: Como posibles mejoras podemos reducir el nmero de entradas hexadecimales y aumentar el nmero de seales de reloj, de esta forma tendramos 7 entradas en lugar de 13, el circuito es bsicamente el mismo, ahora la entrada es comn para los tres registros.

Otra mejora se podra desarrollar reduciendo aun ms el nmero de entradas, con registros del tipo SIPO, de esta forma slo tendramos tres entradas: dato, reloj y almacenado de dato.

PRACTICA # 1-B : TECLADO MATRICIAL OBJETIVO: Poder reconocer la tecla presionada (scan-code), mediante el uso de barrido y lograr minimizar el nmero de entradas-salidas utilizadas. DIAGRAMA DE BLOQUES:
D E C O D I F I C A D O R 2

R E L O J

H A B I L I T A D O R

C O N T A D O R

TECLADO

CODIFICADOR
3

REGISTRO DE ALMACENAMIENTO

CLK

SCAN-CODE

FUNCIONAMIENTO: El teclado tendr 4 filas y 6 columnas, segn criterios de diseo, las filas sern salidas y las columnas entradas de datos. El mtodo del teclado matricial consiste en habilitar una fila a la vez y leer las columnas, cuando una columna este activada se generara una seal para almacenar el dato y se deshabilitara el reloj para que el dato permanezca constante a la salida y no se atiendan a otras teclas. Una vez soltada la tecla el contador se vuelve a habilitar y el proceso se reinicia de nuevo. Para habilitar slo una salida a la vez se hizo uso de un decodificador 74138, y un contador (74161) que seleccione la salida, aqu debemos notar que la combinacin del contador corresponde a la fila habilitada, es decir que si se presiona una tecla esta combinacin corresponder al Scan-code de la fila presionada. Entonces slo nos faltara reconocer la columna, para ello utilizamos un codificador de prioridad (74148), este nos entregara la combinacin de la tecla presionada, as como tambin las seales de control necesarias para almacenar los datos en un registro (74374) y detener el ingreso de la seal de reloj (7408).

El circuito implementado tendr la siguiente forma:

CONCLUSIONES: La implementacin de la visualizacin por barrido resulta un tanto complicada por la cantidad se circuitos utilizados, pero tiene la ventaja de minimizar el consumo de potencia, ya que es como si se tuviera slo un display. La visualizacin por barrido aprovecha la baja respuesta visual, creando la ilusin de que los displays estn prendidos en todo momento. Para evitar problemas de visualizacin es recomendable disear el circuito de manera sincrona, dndonos un mximo rendimiento. Al momento de implementar la visualizacin por barrido es necesario colocar un driver que brinde corriente suficiente y resistencias adecuadas para no daar al display. Al momento de implementar el teclado matricial, se ha de notar que todas columnas de una misma fila pueden estar presionadas, en cuyo caso mandara el orden de prioridad, pero si se presiona dos filas de una misma columna, existir un corto circuito que daara al decodificador, por lo que es recomendable colocar resistencias adecuadas, entre el decodificador y las filas del teclado. El teclado matricial reduce significativamente el nmero de lneas a utilizar, de otra forma utilizaramos 24 entradas pero ahora slo utilizaremos 10, por lo cual es un mtodo bastante utilizado, ms aun en sistemas basados en microcontroladores. BIBLIOGRAFA: A. E. Delgado: Problemas De Electrnica Digital. Sanz y Torres S.L. 1999 Mark Balch: Complete Digital Design. McGraw-Hill 2003

Potrebbero piacerti anche