Mostrando entradas con la etiqueta Digital. Mostrar todas las entradas
Mostrando entradas con la etiqueta Digital. Mostrar todas las entradas

sábado, 4 de septiembre de 2021

Compuertas Lógicas Complementarias

 

Compuertas lógicas complementarias

 En esta publicación se utilizara la herramienta en linea CircuitVerse para ilustrar el funcionamiento de las compuertas lógicas complementarias

La explicación de la compuertas lógicas principales y sus complementarias esta en el siguiente video .



 

Compuerta Lógica NAND

Esta es la descripción de la compuerta lógica NAND en CircuitVerse, el circuito esta como publico y puede copiarse.

  

Compuerta Lógica NOR

Esta es la descripción de la compuerta lógica NOR en CircuitVerse, el circuito esta como publico y puede copiarse.

  

Compuerta Lógica XOR

Esta es la descripción de la compuerta lógica XOR en CircuitVerse, el circuito esta como publico y puede copiarse.

 

Compuerta Lógica XNOR

Esta es la descripción de la compuerta lógica XNOR en CircuitVerse, el circuito esta como publico y puede copiarse.

 

Esquema con las compuertas logicas  basicas y complementarias

Este diagrama muestra de forma agrupada y comparativa de las compuertas lógicas basicas y complementarias. Ademas esta los elementos buffer y las negativas OR y AND.

 

lunes, 16 de agosto de 2021

Introducción a las compuertas lógicas en CircuitVerse

Compuertas lógicas

 En esta publicación se utilizara la herramienta en linea CircuitVerse para hacer una introducción a las compuertas lógicas

La explicación de la compuertas lógicas principales y sus complementarias esta en el siguiente video .


 

 

Compuerta Lógica NOT

Esta es la descripción de la compuerta lógica NOT en CircuitVerse, el circuito esta como publico y puede copiarse.

Compuerta Lógica AND

Esta es la descripción de la compuerta lógica AND en CircuitVerse, el circuito esta como publico y puede copiarse.

Compuerta Lógica OR

Esta es la descripción de la compuerta lógica OR en CircuitVerse, el circuito esta como publico y puede copiarse.

 

sábado, 9 de abril de 2016

jueves, 31 de marzo de 2016

Conexion Display 7 segmentos

CONEXIÓN DE DISPLAY DE 7 SEGMENTOS

Esta publicación muestra la conexión básica de un decodificador para display de 7 segmentos, tanto para Arduino como Pinguino.
En la siguiente figura se muestra la distribución de terminales de un display de 7 segmentos de cátodo común, el de ánodo común tendrá el terminal central conectado a VCC (5V)

Display de 7 segmentos
 

CONEXIÓN A UN DISPLAY DE CÁTODO COMÚN

Un display de cátodo común tiene su terminal común a tierra (GND).
La conexión aquí mostrada emplea un decodificador BCD para display de 7 segmentos de cátodo común con el circuito integrado cd4511 siendo equivalente también el 74HC48.
El montaje y simulación de este circuito se realizo con la herramienta 123D Circuits al final de este articulo esta el enlace respectivo.

 
Conexión con el cd4511

CONEXIÓN A UN DISPLAY DE ÁNODO COMÚN

Un display de ánodo común tiene su terminal común a VCC (5V).
La conexión aquí mostrada emplea un decodificador BCD para display de 7 segmentos de cátodo común con el circuito integrado 7447.


Conexión Arduino con el 7447

Conexión Pinguino 7447

 

CÓDIGO DE EJEMPLO 1

El siguiente programa emplea escritura directa al puerto D de la tarjeta Arduino con la instrucción PORTD. 
Este programa consiste en un contador cíclico de 0 a 9 incrementando la variable contadora i y asignando su valor al puerto D del microcontroaldor.
char i=0;
void setup(){
 DDRD=B11111111;
}
void loop(){
  PORTD=i;
  delay(1000);
  i++;
  if(i>9)
    i=0;  
}


CÓDIGO DE EJEMPLO 2

El siguiente programa emplea escritura directa al puerto B de la tarjeta Pinguino con la instrucción PORTB. 
Este programa consiste en un contador cíclico de 0 a 9 incrementando la variable contadora i y asignando su valor al puerto B del microcontroaldor.
char i=0;
void setup(){
 TRISB=0;
}
void loop(){
  PORTB=i;
  delay(1000);
  i++;
  if(i>9)
    i=0;  
}

CÓDIGO DE EJEMPLO 3

El siguiente programa visualiza en numero 5 en el display empleando programación tradicional que es compatible tanto para Arduino y Pinguino
void setup(){
 pinMode(0,OUTPUT);

 pinMode(1,OUTPUT);
 pinMode(2,OUTPUT);
 pinMode(3,OUTPUT);
}
void loop(){
 digitalWrite(0,HIGH);

 digitalWrite(1,LOW);
 digitalWrite(2,HIGH);
 digitalWrite(3,LOW);

}

ENLACES DE CONSULTA 

sábado, 10 de octubre de 2015

Decodificadores en Logisim

Circuitos Con Decodificadores En Logisim
 Decodificador de 3 a 8 con el 74138
El decodificador 74138 es un dispositivo estándar de amplio uso ya sea como elemento electrónico que se consigue en una tienda electrónica o como dispositivo que se puede sintetizar en una FPGA.

La librería empleada en Logisim para la realización del circuito que se observa en el vídeo se puede descargar del siguiente enlace
 En la tabla se observa que las salidas son activas bajas y que para que opere las entras de activación deben conectarse adecuadamente sino las salidas siempre serán uno. 
Tabla de la verdad del 74138
 
Explicación del funcionamiento 

Generación de funciones lógicas con decodificadores

Los decodificadores son también generadores de minterminos por lo tanto con ellos es posible realizar circuitos lógicos combinatorios a partir de tablas de la verdad o ecuaciones boolenas.
El siguiente vídeo explica el principio de operación del decodificador como generador de minterminos para la realización de un circuito que indique si un numero de 3 bits es impar.
 
 
Generación de funciones lógicas


En el vídeo se empleo una compuerta OR con entradas negadas (negativa OR), empleando el teorema de DeMorgan se puede realizar el equivalente lógico correspondiente empleando una compuerta NAND.
En la tabla se observa que /(B.A) = /B + /A que es la equivalencia que se aplica para emplear una compuerta NAND en lugar de una negativa OR 

Tabla con equivalencias lógicas

 
Generación de funciones lógicas parte 2
 

miércoles, 7 de octubre de 2015

Logisim para la simulacion de circuitos logicos

Circuitos Lógicos Digitales Con Logisim
 Logisim es un herramienta que permite la realización y simulación de circuitos lógicos digitales, permite la realización de circuitos básicos hasta circuitos complejos como procesadores.

Conexiones En Logisim
Logisim permite la conexión de varios datos binarios en un solo hilo (bus de datos) . El siguiente vídeo muestra los principios básicos de conexión.


viernes, 20 de febrero de 2015

Sistemas Combinatorios Con Boole Deusto


EJEMPLO DE SISTEMA COMBINATORIOS CON BOOLE DEUSTO

Boole Deusto

Es un entorno para el analisis y diseño de sistemas digitales combinatorios y secuenciales.
Es desarrollado por  Javier García Zubía, Jesús Sanz Martinez, Borja Sotomayor Basilio.
No es necesario registrarse en ninguna web, pero sí es recomendable enviar un correo electrónico a zubia@eside.deusto.es para poder recibir gratuitamente las nuevas versiones del BOOLE-DEUSTO. Basta con enviar el nombre, la universidad o centro de enseñanza, facultad, asignatura y curso en que se usa y número de alumnos que lo usan.

Enlaces de descarga y guias

Videos Tutoriales


miércoles, 8 de octubre de 2014

EEPROM AT28C16

EEPROM AT28C16

El emplear memorias EEPROM para la realización de circuitos digitales combinatorios y secuencial puede ahorrar el uso de compuertas y facilitar modificaciones y correcciones al los circuitos.
Una memoria EEPROM básicamente es un dispositivo lógico programable y puede ser empleado como tal para la realización de circuitos digitales tanto combinatorios como secuenciales.

Terminales EEPROM AT28C16

LECTURA DE DATOS EN LA MEMORIA EEPROM 

Una forma fácil de leer los datos de una memoria EEPROM, es empleando Led en la salida para visualizar el dato y emplear un Dip Swicht para generar la dirección que se desea consultar

Lectura EEPROM AT28C16

En el gráfico se observa que la configuración permita la lectura desde 00H hasta FFH y que los bits mas significativos del registro de direccionamiento que no son empleados son llevados a GND.
Hay que tener presente que la configuración del Dip Swicht es con resistencias de Pull Up
Otra forma de verificar los datos es empleando un microcontrolador como Pinguino.

Lectura EEPROM AT28C16 con Pinguino
El emplear un microcontrolador trae la facilidad de leer los datos secuencialmente o solo los que sean de nuestro interés por medio de un programa. En el ejemplo se emplea escritura directa al puerto B empleando la instrucción PORTB que en Pinguino corresponde al conjunto de terminales que van de 0 a 7.

ESCRITURA DE DATOS EN LA MEMORIA EEPROM 


Este tipo de memoria pude ser programada de forma manual sin la necesidad de algún voltaje especial de programación como ocurre en muchos dispositivos programables.

Programación manual EEPROM AT28C16

Para la programación manual se siguen los siguientes pasos
  • En el Dip Swicht de la izquierda se fija la dirección.
  • En el Dip Swicht de la derecha se coloca el dato que se desea guardar.
  • Se presiona el pulsador para escribir el dato.
Para un nuevo dato en otra dirección se repite nuevamente el procedimiento descrito.


Aunque la escritura de datos se puede hacer de forma manual, es más fácil empleando un microcontrolador.

Programación EEPROM AT28C16 con Pinguino
El emplear un microcontrolador, permite editar y cambiar los datos, así como direccionar en diferentes segmentos los datos que queremos escribir. En el ejemplo los datos son guardados en formato hexadecimal empleando un arreglo.

viernes, 25 de julio de 2014

Control remoto RF 315Mhz


Modulo Control Remoto RF a 315Mhz

Este modulo consta de un transmisor con 4 botones y un receptor con 4 terminales de salida y uno de indicación de que hay recepción de un dato.
Se puede emplear con Pinguino o cualquier aplicación electrónica digital con flip flop o latch para retener los datos.

Características

  • Chip: SC2262
  • Frecuencia de operación: 315MHz/433MHz (250MHz-450MHz)
  • Recepción de sensibilidad: > -85dBm
  • Tasa de transferencia: <5Kbps
  • Formato de decodificación: PT2272, HS2272, AX5327
  • Número de canales: 4
  • Cobertura: 40 metros~60 metros
  • Voltaje de operación RX: 5V
  • Corriente de operación: 10mA
  • Modulación: ASK
  • Longitud de antena: 24cm( 315MHz)/18cm( 433.92MHz)
  • Tamaño RX: 4.0cm x 2.3cm x 0.5cm

Diagrama De Terminales


  • GND corresponde al terminal de tierra.
  • 5V terminal de alimentación.
  • D0 Bit 0 es activado cuando se presiona el botón A
  • D1 Bit 1 es activado cuando se presiona el botón B
  • D2 Bit 2 es activado cuando se presiona el botón C
  • D3 Bit 3 es activado cuando se presiona el botón D
  • VT terminal de salida que indica que hay un nuevo dato
Pruebas Realizadas


Circuito de pruebas


  • El circuito se alimento con 3.7 voltios y opero de manera correcta. La antena que trae hay que desenrollarse , es de aproximadamente 30 cm y hay que hacerlo para su buen funcionamiento.
  • El terminal de salida VT se puede emplear como flanco de subida para un flip flop o señal de habilitación en un lacht. Esto mismo es valido para la tarjeta pinguino o un microcontrolador en general.








martes, 11 de marzo de 2014

Entradas y salidas digitales con la DAQ 6009


Montaje guía para la practica con la daq 6009
El montaje mostrado se empleara para la realización de una practica de electrónica digital con la tarjeta de adquisición de datos de National DAQ 6009.

Materiales

  • 1 DAQ 6009
  • 4 pulsadores
  • 4 Resistencias de 10 Kohm
  • Display de 7 segmentos de cátodo común
  • 15 resistencias de 330 ohm
  • 74LS138
  • 8 LED rojos comunes

Consideraciones en el montaje

  • La alimentación la suministra la tarjeta el cable negro indica tierra y el rojo 5V
  • Los pulsadores están en configuración de Pull Up
  • Los valores de las resistencias no son críticos y pueden sustituirse por valores próximos
  • Tener en cuenta la conexión de los LED dado que el 74LS138 tiene salidas activas bajas, por eso en el esquema el ánodo del LED esta a 5 V. Esto se hace para hacer una configuración en modo de dreno de corriente y encienda el LED cuando la salida en el 74LS138 es baja.

Guías e Información

Prueba básica de entradas y salidas digitales con la daq 6009


viernes, 17 de mayo de 2013

Lógica combinatoria con GAL y WinCUPL

LÓGICA COMBINATORIA CON GAL
En esta publicación se explicar como se utiliza y programa un dispositivo GAL para realizar circuitos digitales empleando lógica digital combinatoria.
Actualmente este dispositivo es muy económico y relativamente fácil de conseguir, ademas es reprogramable y fácil de montar en un protoboard.
Para programar el dispositivo GAL se empleara el WinCupl de Atmel, se pude descargar después de registrarse en la pagina.
Una vez descargado se introduce el código de activación dado por el soporte técnico de Atmel el cual es 60008009
ENLACES DE INTERÉS

Descargas

GAL22V10
En la GAL22v10 tendremos que 22 terminales pueden ser utilizados como entradas, en el esquema están marcados como In, que 10 terminales se pueden utilizar como salidas, en el esquema están marcados como Out ademas que estas salidas pueden ser Q lo que representa la salida de un flip flop. Se puede observar que los 10 terminales comparten la opción de entrada o salida y que esta salida puede ser el Q de un flip flop. También el terminal 1 que es una entrada comparte la opción de ser la entrada de la señal de reloj Clk para los flip flop internos de la GAL siendo esto útil al diseñar circuitos digitales secuenciales.

WINCUPL
En las siguientes tablas se resumen las instrucciones mas frecuentes para la realización de aplicaciones digitales combinatorias.

Formatos Numéricos

Se utilizan los prefijos entre comillas simples para indicar el formato numerico que se esta utilizando.

Asignación De Terminales, Variables Y Constantes

Son las instrucciones que se utilizan para definir y asignar terminales a variables, o asignar a variables operaciones con variables o constantes.
Ejemplos de asignaciones de terminales:
PIN 2 = a; /*asigna al terminal 2 la variable a*/
PIN 2 = !a; /*asigna al terminal 2 la variable a negada*/
PIN [2,3,4,5,6,7,8,9]= [A0,A1,A2,A3,A4,A5,A6,A7];
PIN [2..9] = [A0,A1,A2,A3,A4,A5,A6,A7];
PIN [2..9] = [A0..A7];
Ejemplos de asignaciones con variables intermedias: Las variables intermedias no tiene terminales asignados y son útiles para simplificar las ecuaciones que generan las salidas.
X0 = A0&A1 # A1&A2;
FIELD entradas = [D,C,B,A];
Ejemplos de ecuaciones booleanas de salida: Son las ecuaciones asociadas a las varibles declaradas para los terminales de salida.
El simbolo => utilizado en las tablas significa asignación de un ecuación booleana.
S = X0#Y0;
Table input=>output {
‘d’00 => ‘d’000;
‘d’01 => ‘d’001;
‘d’02 => ‘d’004;
}

Operadores Lógicos

La jerarquía hacer referencia a que operador se tendrá en cuenta primero al hacer una operación, por ejemplo si tenemos S=!A&B, se tendrá en cuenta primero la operación de negar A y luego se hará la operación AND.

Operadores Aritméticos

Los operadores aritméticos se utilizan para realizar operaciones entre valores que sean de tipo numérico y no con variables de tipo booleano como las asignadas a lo terminales por medio de la instrucción PIN. Normalmente lo que se hace es que el resultado de una operación aritmética se asigna a una variable o registro.

Instrucciones Adicionales

Instrucción De Repetición REPEAT: Esta instuccion no es formalmente igual a la que se utiliza en otros lenguajes de programacion como BASIC por ejemplo. Esta instrucción se utiliza en WinCupl para ahorrar escritura de lineas de código y no para implimentar una estructura ciclica en el dispositvo GAL
Ejemplo:
$repeat i = [0..3]
$define D(i) 'b'(i)
$repend
esto equivale a escribir el siguiente código:
$define D0 'b'000
$define D1 'b'001
$define D2 'b'010
$define D3 'b'011

EJEMPLOS
Ejemplo 1
Implementar una compuerta AND de dos entradas en una GAL22V10.

Name Ejem01 ;
PartNo   00 ;
Date     17/05/2013 ;
Revision 01 ;
Designer Julio ;
Company  UNIAJC ;
Assembly None ;
Location  ;
Device   G22V10 ;
/*Terminales de entrada de la compuerta AND*/
PIN 3 = a ; PIN 4 = b; 
/*Terminales de salida para las compuertas*/ 
PIN 17 = s; 
s = a&b; /*Compuerta AND*/ 
Ejemplo 2

Implementar una compuerta OR y una compuerta AND de dos entradas en una GAL22V10.

Name Ejem02 ;
PartNo   00 ;
Date     17/05/2013 ;
Revision 01 ;
Designer Julio ;
Company  UNIAJC ;
Assembly None ;
Location  ;
Device   G22V10 ;
/*Terminales de entrada de la compuerta AND*/
PIN 2 = A0 ;
PIN 3 = A1; 
/*Terminales de entrada de la compuerta OR*/
PIN 4 = B0;
PIN 5 = B1;
/*Terminales de salida para las compuertas*/ 
PIN 23 = S0; /*Salida compuerta AND*/
PIN 22 = S1 ;/*Salida compuerta OR*/
/*Operaciones Logicas*/ 
S0 = A1&A0; /*Compuerta AND*/ 
S1 = B1#B0; /*Compuerta OR*/ 
Ejemplo 3

Implementar un decodificador de binario a decimal con la GAL22V10
Tabla de la verdad correspondiente al decodificador, que se empleara en el programa.
En este ejemplo no se esta empleando el punto decimal dp a pesar de que esta conectado en el esquema mostrado.

CARACTERES EN UN DISPLAY 7 SEGMENTOS

Para otras aplicaciones puede ser útil generar caracteres alfanuméricos con un display de 7 segmentos, aqui se deja una tabla con su respectivo valor decimal teniendo en cuenta que el segmento a es el menos significativo y el segmento g el mas significativo
Mapa de caracteres
Name Ejem03 ;
PartNo 00 ;
Date 17/05/2013 ;
Revision 01 ;
Designer Julio ;
Company UNIAJC ;
Assembly None ;
Location ;
Device G22V10 ;
/*Terminales de entrada */
PIN [2..5] = A, B, C, D;
/*Terminales de salida */
PIN [13..20] = sa,sb,sc,sd,se,sf,sg,sdp;
/*Declaraciones */
FIELD entradas = [D,C,B,A];
FIELD salidas = [sdp,sg,sf,se,sd,sc,sb,sa]; 
/*Ecuaciones booleanas */
TABLE entradas => salidas {
'b'0000 => 'b'00111111;
'b'0001 => 'b'00000110;
'b'0010 => 'b'01011011;
'b'0011 => 'b'01001111;
'b'0100 => 'b'01100110;
'b'0101 => 'b'01101101;
'b'0110 => 'b'01111101;
'b'0111 => 'b'00000111;
'b'1000 => 'b'01111111;
'b'1001 => 'b'01100111;
'b'1010 => 'b'00000000;
'b'1011 => 'b'00000000;
'b'1100 => 'b'00000000; 
'b'1101 => 'b'00000000;
'b'1110 => 'b'00000000; 
'b'1111 => 'b'00000000;
 }