MULTIPLEXAJE Uno de los problemas que enfrentamos con frecuencia est en la cantidad de lneas de entrada/salida que no es suficiente para ciertas aplicaciones. Algunas tcnicas y trucos pueden ayudarnos a optimizar las funciones de los microcontroladores evitando la necesidad de conseguir circuitos integrados con mayor nmero de lneas de E/S. Una de esas tcnicas es el multiplexaje. MULTIPLEXAJE El multiplexaje, que se define como una forma de compartir secuencialmente el tiempo para que dos o ms seales o datos se puedan transmitir por un mismo medio conductor, es sin duda una gran herramienta para conseguir un mejor aprovechamiento de un dispositivo. El multiplexaje lo utilizaremos para la lectura de teclados y para la visualizacin de informacin a travs de displays de 7 segmentos.
Multiplexaje de despliegues visuales de 7 segmentos Este proceso consiste en activar secuencialmente cada display por cierto tiempo dando la sensacin ptica de que todos estn iluminados con su respectivo dgito. Se estima un tiempo de activacin de cada display entre 10 ms y 1 ms para originar esa sensacin. Cuando se requiere presentar nmeros la solucin ms econmica es el display de 7 segmentos. En realidad cada despliegue visual consta de 8 leds, pues adems de los 7 (a, b, c, d, e, f y g) que sirven para mostrar el nmero, hay un octavo para indicar el punto decimal (dp). Ver ejemplo en la siguiente pgina.
Contador BCD de dos dgitos Dos display de 7 segmentos conectados en PORTB El contador BCD se implementa con dos localidades de memoria RAM que son: CNTL el contador bajo y CNTH es el contador alto. Contador BCD es CNTH: CNTL. DISPLAY es la subrutina para el refrescamiento dinmico del despliegue visual de 7 segmentos. Ver diagrama de flujo de DISPLAY en la pgina siguiente. Ver la codificacin del programa en MPLAB: Contador BCD Multiplex16F84A Ver simulacin del ejemplo en PROTEUS.
inicio CNTL 0, CNTH 0 CNTL CNTL + 1 CNTL=10? CNTL 0 CNTH CNTH + 1 CALL DISPLAY CNTH=10? CNTH 0 NO NO SI SI
DISPLAY
CNT2 VALOR (persistencia)
PUERTO CNTL HABILITAR DIGITO #1 RETARDO DE DIGITO INHABILITAR DIGITO #1 PUERTO CNTH HABILITAR DIGITO #2 RETARDO DE DIGITO INHABILITAR DIGITO #2 CNT2 CNT2 - 1 CNT2 = 0? RETORNAR NO SI Contador BCD Multiplexado PIC16F84A FIN