GUIAS ÚNICAS DE LABORATORIO SISTEMA DIGITAL CON MEMORIA EPROM AUTOR: ALBERTO CUERVO SANTIAGO DE CALI UNIVERSIDAD SANTIAGO DE CALI DEPARTAMENTO DE LABORATORIOS DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M SISTEMA DIGITAL CON MEMORIA EPROM Introducción. El artículo presente describe un proyecto que puede ser realizado por estudiantes de un primer curso sobre circuitos digitales. Tiene como objetivos reforzar los conocimientos que tienen los estudiantes de memoria EPROM, utilizando la misma en la obtención de la raíz cuadrada de un número entero de 2 dígitos y grabando la misma en el programador universal disponible en el laboratorio de Electrónica de la Universidad Santiago de Cali. Planteamiento del problema. Se debe diseñar un sistema digital que obtenga la raíz cuadrada de un número entero N de dos dígitos, esto es, 0 ≤ N ≤ 99. El resultado debe poderse visualizar en un display de dos dígitos, por tanto tendrá un dígito decimal. Por ejemplo si N = 87, entonces el resultado que aparecerá en el display será 9.3. El sistema digital constará de un teclado decimal para colocar el número N con su correspondiente display de 2 dígitos. Se deberá utilizar una memoria EPROM 27C64 para tener almacenados o grabados los resultados en forma de tabla. La introducción del número N en el sistema debe ser similar a como se introduce un número en una calculadora, esto es, si N=87, al presionar la tecla 8, este número aparece en la posición de las unidades. Posteriormente al presionar la tecla 7, este número aparece en la posición de las unidades y el 8 se corre a la posición de las decenas. Diagrama funcional En la figura 1 se muestra el diagrama funcional del sistema digital que cumple con los requerimientos planteados. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M I0 DAV I1 I2 o0 I3 o1 I4 o2 I5 o3 I6codificador I7 del I8 teclado I9 0 1 2 TECLADO 3 DECINAL 4 5 libre de ruido de rebote 6 7 8 9 A7 A6 A5 A4 A3 A2 A1 A0 dirección EPROM datos D7 D6 D5 D4 D3 D2 D1 D0 registro unidades registro decenas Decodificador BCD / 7 segmentos Decodificador BCD / 7 segmentos Decodificador BCD / 7 segmentos Decodificador BCD / 7 segmentos . N N Figura 1. Diagrama funcional En la figura 1, al presionar una tecla decimal se activa la salida correspondiente del teclado. El codificador se encarga de generar en su salida O3O2…O0 el código BCD del número decimal y generar un pulso DAV: “dato válido” cuando este código ya se encuentre disponible en la salida. Como el pulso DAV es aplicado simultáneamente al reloj de los dos registros, en el registro de las decenas se almacenará lo que esté en el registro de las unidades y en este último se almacenará la salida del codificador, es decir, el código BCD de la tecla presionada. Las salidas de los dos registros se aplican a decodificadores BCD/7 Segmentos y las salidas de estos a displays para visualizar el número N tecleado. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M Las salidas de los dos registros, que no es más que el número N en el código BCD, se aplican a la entrada de dirección de una memoria EPROM para buscar la √N. Así, si N=87 (10000111), en esta dirección de memoria deberá estar grabado o almacenado el dato 93 (10010011). Las salidas de la EPROM se aplican a decodificadores BCD/7 Segmentos y de estos a displays para visualizar la √N. Ruido de rebote Un switch o interruptor mecánico genera en su salida lo que se conoce como ruido de rebote. Suponga que se tiene el circuito que se muestra en la figura 2. voltaje en la salida +5v. R salida voltaje en ruido de la salida rebote 1 presión t1 (b) tiempo 2 (a) (c) tiempo Figura 2. (a) circuito, (b) señal ideal y (c) señal real Cuando el switch se encuentra abierto, la salida del inversor se encontrará en 0 lógico ya que su entrada se encuentra conectada a +5v. (1 lógico) a través de la resistencia R como se muestra en la figura 2. Suponga que en el instante t1 se presiona el switch para cerrarlo. Al hacer contacto la lámina móvil con el pin 2 se coloca tierra (0 voltios) a la entrada del inversor colocándose la salida del mismo en 1 lógico como se muestra en la figura 2b. Sin embargo, al golpear la lámina móvil el punto 2, esta rebota encontrándose el switch cerrado y abierto repetitivamente hasta que definitivamente se quede cerrado, generándose por tanto la señal que se muestra en la figura 2c. La frecuencia con que rebota el switch es relativamente alta y el tiempo que demora el ruido de rebote en la mayoría de los switches encontrados varía entre 10 y 20 milisegundos aproximadamente. Este ruido de rebote puede causar muchos inconvenientes en los sistemas digitales. Así por ejemplo, si la señal en c se aplica a un contador, este contará muchos pulsos al presionar una sola vez un switch, etc. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M En el caso que nos ocupa, si la señal DAV tuviese la característica que se muestra en la figura 2c, se aplicarían muchos pulsos a las entradas de reloj de los registros y si la tecla presionada es por ejemplo un 5, ambos registros almacenarían este número y en el display aparecería el número N = 55 con sólo presionar el nº 5 una sola vez. Supresión del ruido de rebote El ruido de rebote de un switch o una tecla puede ser eliminado utilizando un latch SR como se muestra en la figura 3. R Q Latch SALIDA R PRESIONAR salida Q +5v. R t1 2 1 3 Q Q S (a) S R t +5v. (b) (c) Figura 3. (a) Latch SR, (b) latch SR con NANDs y (c) señal obtenida En la figura 3, al no estar presionada la tecla, el punto 1 hace contacto con el punto 2 activando la entrada de Reset´ con un 0 y colocando Q=0. Si en t=t1 se presiona la tecla, el punto 1 hace contacto con el punto 3 activándose con un 0 la entrada de Set´ y colocando la salida Q=1. Si a continuación la lámina móvil rebota separándose del punto 3, las dos entradas del latch se inactivan con 1 y no cambia de estado, obteniéndose la señal que se muestra en la figura 3c sin ruido de rebote. Teclado decimal De acuerdo con el análisis anterior, el teclado decimal sin ruido de rebote consistirá de 10 teclas del 0 al 9 con diez circuitos biestables (latch) como se muestra en la figura 4. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M +5v. 10Kohmios 0 0 Tecla 0 10Kohmios +5v. 10Kohmios 1 1 Tecla 1 10Kohmios +5v. ver lista de elementos +5v. 10Kohmios 9 9 Tecla 9 10Kohmios +5v. Figura 4. Teclado decimal libre de ruido de rebote Codificador del teclado. Este circuito tiene como función la de generar el código BCD en dependencia de la entrada que se active, esto es, de la tecla que sea presionada. También la de generar el pulso DAV cuando el código BCD esté disponible en la salida O3O2…O0 Para encontrar el circuito del codificador del teclado se puede construir la tabla 1 que se muestra. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M Número de la tecla presionada 0 1 2 3 4 5 6 7 8 9 Entradas al codificador I0 I1 I2 I3 I4 I5 I6 I7 I8 I9 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 Salidas del codificador O O O1 3 2 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 Tabla 1. Tabla del codificador De la tabla anterior se pueden obtener las siguientes funciones para las salidas del codificador: O3 = I8 + I9 O2 = I4 + I5 + I6 + I7 O1 = I2 + I3 + I6 + I7 y O0 = I1 + I3 + I5 + I7 + I9 Con las funciones anteriores se puede obtener el circuito que se muestra en la figura 6. Como el pulso DAV debe generarse con cualquier tecla que se presione, esta salida será una OR de todas las entradas al codificador. La función de los 4 inversores será demorar este pulso (4 veces la demora de propagación de un inversor) para que ocurra cuando el codigo en BCD en las salidas O3O2O1O0 se encuentre disponible y estable. Los circuitos integrados requeridos para este codificador serán: 2 circuitos integrados de 2 compuertas OR de 4 entradas, 1 circuito integrado de 4 compuertas OR de 2 entradas, 1 circuito integrado de 1 compuerta OR de 8 entradas y 1 circuito de 6 inversores. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M O 0 0 1 0 1 0 1 0 1 0 1 codificador I0 I1 I2 I3 I4 I5 I6 I7 I8 I9 ver lista de elementos DAV O3 O2 O1 O0 Figura 5. Circuito del codificador del teclado Registros. Para almacenar el número N se utilizarán 2 circuitos integrados 74LS194A. Estos circuitos son registros de desplazamiento de 4 bits como se muestra en la figura 6. 3 10 9 2 1 11 S1 A S0 4 B 5 C SR SER 74LS194A reloj QA QB 14 QC 13 S1 S0 D SL SER CLR 15 6 7 0 0 1 1 0 1 0 1 no opera desplaza a la derecha desplaza a la izquierda carga o almacena los datos de entrada QD 12 Descripción: A,B,C,D : entradas de datos en paralelo QA,QB,QC,QD : salida de datos CLR : entrada asincrónica de borrado, se activa con 0 SR SER : entrada para desplazamiento a la derecha SL SER : entrada para desplazamiento a la izquierda S1S0 : Modo de operación Las operaciones anteriores se efectúan en sincronismo con el flanco positivo de los pulsos aplicados a la entrada de reloj Figura 6. Registro de desplazamiento bidireccional de 4 bits. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M El circuito con los 2 registros para almacenar el número N se muestra en la figura 7. Del codificador del teclado O3 O2 O1 O0 +5v. 4.7 Kohmios 1 S1 S0 A B SR SER DAV CLR C D SL SER 74LS194A QA QB QC QD S1 S0 A B SR SER CLR C D SL SER 74LS194A QA QB QC QD A la entrada de dirección de la EPROM A7 A0 Al decodificador BCD/ 7segmentos (decenas) Al decodificador BCD/ 7segmentos (unidades) Figura 7. Circuito de registros Observe que los registros de la figura 7 están colocados en el modo de carga de datos en paralelo ya que S1S0 = 11. De esta forma, cuando se presione una tecla y se origine el pulso DAV, estos registros almacenaran los datos que estén presentes en sus entradas con el flanco positivo de este pulso. Similarmente las entradas de CLR´ se colocaron en 1 fijo para que estén inactivas. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M Decodificador BCD/7 segmentos y display. El decodificador BCD/7 segmentos que se debe utilizar dependerá del tipo de display que se utilice, esto es, si es de ánodo común o de cátodo común. Se utilizará un display de ánodo común como se muestra en la figura 8, por lo que se utilizará el circuito integrado 7447A el cual es un decodificador de colector abierto BCD/ 7 segmentos cuyas salidas se activan con 0. (La salida activa queda conectada a tierra a través de un transistor) dp a b c d e f g dpa b c d e f g a f b g . dp e LEDs c d común común (a) (b) Figura 8. (a) display de 7 segmentos (b) circuito de ánodo común En la figura 9 se muestra el circuito de los displays de 7 segmentos alimentados por los decodificadores 7447A. En esta figura, cuando el circuito 7447A recibe el código DCBA = 0011 por ejemplo, produce en sus salidas el código abcdefg = 0000110, circulando corriente por los LEDs abcdg, iluminándose por tanto el número 3 en el display, etc. Las resistencias de 220 ohmios tienen como misión limitar las corrientes que circulan por los LEDs. En el display de las unidades de la √N se debe colocar un punto fijo, por lo que el terminal dp del mismo debe ir conectado a tierra a través de una resistencia de 220 ohmios como se muestra en la figura 9. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M De las salidas de los registros o de las salidas de la memoria EPROM EPROM D7 D6 D5 D4 D3 D2 D1 D0 Registros QA QB QC QD QA QB QC QD 6 D 3 4 5 2 C 1 B 7 A LT BI/RBO 7447A RBI a b c d e f g 6 D 3 2 C 1 B 7 A LT BI/RBO 7447A RBI a b c d e f g 4 5 13 12 11 10 9 15 14 13 12 11 10 9 15 14 220 0hmios 6 1 13 10 8 7 2 11 dp a b c d e f g dp a b c d e f g 4.7 KOHMIOS NTE3050 . común . NTE3050 común 14 +5v. Figura 9. Decodificadores BCD/ 7 segmentos y displays En la figura 9, las entradas LT´, RBI´ y BI´/RBO´ tienen un 1 fijo aplicado para que se encuentren inactivas. La entrada LT´ (Lamp test) se utiliza para probar el display ya que cuando se activa esta entrada todas las salidas abc…g se hacen 0 y se deben iluminar todos los segmentos. Si se activa la entrada BI´ no se activa ninguna salida del decodificador y el display permanece apagado. Si se activa la entrada RBI´ y la entrada al decodificador es un 0 (DCBA=0000) tampoco se activa ninguna salida y también el display permanecerá sin iluminarse. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M Memoria EPROM El circuito integrado que se utiliza para la memoria EPROM es el 27C64, el cual consiste de una memoria EPROM de 8 Kbytes con 13 líneas de dirección como se muestra en la figura 10. de los registros decenas unidades QA QBQCQDQA QBQCQD +5v. 2 23 21 24 25 3 4 5 6 7 8 9 10 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 dirección 20 22 Vcc EPROM 27C64 CE OE Vpp PGM datos de salida O7 O6 O5 O4 O3 O2 O1 O0 28 1 27 Vss D7 D6 D5 D4 D3 D2 D1 D0 19 D 18 17 16 C B A decenas 15 D 13 12 11 14 C B A unidades a los decodificadores BCD/ 7 segmentos de la raíz cuadrada de N Figura 10. Memoria EPROM Las entradas CE´y OE´están conectadas a tierra para habilitar el circuito y las salidas respectivas del mismo. Como solamente son necesarias 8 líneas de dirección (A7A6…A0), el resto de las líneas son conectadas a tierra, por lo que solamente estarán disponibles 256 localizaciones y de estas sólo se grabarán datos en 100. Para la grabación de los datos en la memoria EPROM se utilizará el programador universal marca XELTEK disponible en el laboratorio de la universidad Santiago de Cali conectado al puerto paralelo de la impresora de un computador personal habilitado para este objetivo. Después de conectar la energía eléctrica al programador, abra el programa SuperPro Lx(L+), asegurándose de no tener conectado todavía ningún circuito integrado al programador universal. Si no aparece ningún error en la pantalla del computador, haga DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M click en Select para seleccionar la memoria 27C64. Inserte su dispositivo en la base disponible en el programador y haga click en Edit para introducir los datos que deben ser grabados en cada dirección de memoria. Las direcciones de memoria en la EPROM 27C64 van de 0000hex a 1FFFhex. Una vez introducidos los datos, la ventana de Buffer Edit aparecerá como se muestra en la tabla 2. DIRECCIÓN 00000000 00000010 00000020 00000030 00000040 00000050 00000060 00000070 00000080 00000090 000000A0 000000B0 000000C0 HEX 00 31 45 55 63 70 77 84 89 95 FF FF FF 10 33 46 56 64 71 78 84 90 96 FF FF FF 14 35 47 57 65 72 79 85 91 96 FF FF FF 17 36 48 57 66 73 79 85 91 96 FF FF FF 20 37 49 58 66 73 80 86 92 97 FF FF FF 22 39 50 59 67 74 81 87 92 97 FF FF FF 24 40 51 60 68 75 81 87 93 98 FF FF FF 26 41 52 61 69 75 82 88 93 98 FF FF FF 28 42 53 62 69 76 82 88 94 99 FF FF FF 30 44 54 62 70 77 82 89 94 99 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF etc. Tabla 2. Ventana de Buffer Edit Las direcciones y los datos en la tabla anterior se encuentran en hexadecimal. En cada fila hay 16 localizaciones, correspondiendo la dirección que aparece en la columna de la izquierda a la dirección de la primera localización de la fila. Así por ejemplo, en la tercera localización de la primera fila aparece el número 14 porque esa localización tiene por dirección el número 0002 y √2 = 1.4. Cuando en una localización no se graba ningún dato aparece FF. Todas las localizaciones de todas las filas comenzando en la dirección 00A0 contendrán FF por lo que haga click en Fill. Coloque 00A0 en Fill Start Adress, 1FFF en Fill End Adress y FF en Fill Data. Luego de esta operación haga click en OK para llenar toda la tabla. Una vez terminado de introducir todos los datos, haga click en Prog para que su memoria quede grabada con los datos introducidos. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M Lista de elementos. En la tabla 3 se relacionan los elementos utilizados para el montaje del sistema digital descrito. Lista de elementos Item Referencia Descripción Cant Comentarios 1 74LS00 4 NAND de 2 entradas 5 Para eliminar ruido de rebote 2 CD4071B 4 OR de 2 entradas 1 Para el codificador del teclado 3 CD4072B 2 OR de 4 entradas 2 Para el codificador del teclado 4 CD4078B 1 OR/NOR de 8 entradas 1 Para el codificador del teclado 5 CD40106B 6 Inversores tipo Schmitt 1 Para el codificador del teclado 6 74LS194A Registro de 4 bits 4 7 7447A Decodificador BCD/ 7seg. 4 Salidas de colector abierto 8 NTE3050 Display de ánodo común 4 9 27C64 Memoria EPROM 1 Capacidad de 8 Kbytes 10 Resistencia 220Ω, ¼ w 29 11 Resistencia 10 KΩ, ¼ w 20 12 Resistencia 4.7 KΩ, ¼ w 2 13 Teclado decimal 1 Teclas: 1 polo, 2 posiciones 14 Fuente de energía 1 Salida estabilizada en +5 v. 15 tarjeta de circuito impreso 1 16 cables, estaño, etc. Tabla 3. Lista de elementos. En la figura 11 se muestran los circuitos integrados de las compuertas donde se pueden identificar los números de los pines de los mismos. Consideraciones Finales. En los momentos de redactar el presente artículo, los estudiantes han manifestado ciertas dificultades para conseguir en el mercado el teclado decimal con teclas de 1 polo, 2 posiciones. Para obviar este inconveniente se podría utilizar el circuito que se muestra en la figura 12. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M 14 13 12 11 10 9 8 14 VDD 1 13 12 2 10 9 3 4 5 6 13 12 11 10 NC VSS Vss 7 1 2 3 4 5 6 7 8 CD4072B 9 VDD 8 14 NC VDD 13 12 11 10 9 2 3 4 5 6 NC VSS 1 2 3 4 5 8 NC CD4071B 14 11 VDD 6 VSS 1 7 CD4078B 7 CD40106B Figura 11. Compuertas lógicas En esta figura se utiliza un capacitor para impedir que el voltaje a la entrada del inversor alcance el valor Vp , el cual es el nivel del voltaje de entrada en el inversor para el cual la salida experimenta una transición de 1 a 0. Observe que este inversor debe ser CMOS, no TTL. En el circuito CD40106B, Vp = 2.9 voltios con una fuente de alimentación de +5v. Voltaje en el capacitor rebote +5v VP VN 100 Kohmios CD40106B IIL salida tiempo salida tecla n 0.47 microfaradios Inversor CMOS entrada tipo Schmitt Trigger tiempo Figura 12. Alternativa para eliminar el ruido de rebote DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M Si fuese TTL, la corriente IIL del mismo contribuiría a cargar al capacitor más rápidamente cuando la tecla se abre. En un circuito CMOS la corriente IIL es prácticamente cero. Como la duración del rebote en la mayoría de los switches encontrados en la práctica varía entre 10 y 20 milisegundos, se utiliza una constante de tiempo RC = 0.47x100 = 47 milisegundos, lo suficientemente larga para lograr este objetivo. De utilizarse esta alternativa, no habría necesidad de utilizar el latch que se muestra en la figura 3. Similarmente se podría también utilizar el circuito integrado CD40147B como codificador del teclado. Como se muestra en la figura 13, éste es un codificador de prioridad de 10 entradas y 4 salidas BCD, es decir, a la salida se obtiene el código BCD de acuerdo a la entrada más prioritaria que se active con un 1 lógico. Se debe señalar que este circuito opera con lógica negativa, por lo que en el caso de ser utilizado se deben hacer las modificaciones pertinentes. 15 11 12 13 1 2 3 4 5 10 bit de mayor 0 orden 1 D 2 14 3 C pin 8: tierra 4 CD40147B 6 pin 16: +5voltios 5 B 7 6 7 9 A 8 bit de menor 9 orden Figura 13: Codificador de prioridad de 10 a 4 líneas Conclusiones En el presente artículo se ha descrito un sistema digital para obtener la raíz cuadrada de un número entero de dos dígitos utilizando una memoria EPROM en forma de tabla, en la cual las raíces cuadradas de los númeron están grabadas en forma permanente. Se debe observar que nada más se necesita una memoria de 256 bytes (8 líneas de dirección). La memoria 27C64 fue utilizada por su disponibilidad en el laboratorio de Electrónica de la Universidad Santiago de Cali. Bibliografía 1. Víctor P. Nelson, H. Troy Nagle, Bill D. Carroll y J. David Irwin, “Análisis y Diseño de Circuitos Lógicos Digitales”, Prentice-Hall Hispanoamericana S.A., 1996 2. M. Morris Mano, “Lógica Digital y Diseño de Computadores”, Editorial Dossat S.A., 1982 3. J.F. Wakerly, “Digital Design Principles and Practices”, 2ª ed., Englewood Cliffs, NJ: Prentice-Hall, 1984. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE LLAABBOORRAATTOORRIIOO DDEE SSIISSTTEEM A D I G I T MA DIGITAALL CCOONN M MEEM MOORRIIAA EEPPRROOM M