Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




Memorias RAM y Matriz de LEDS con el puerto paralelo del PC


       



#1  Memorias RAM y Matriz de LEDS con el puerto paralelo del PC
mauriciodtdt
Registrado: 06 Sep 2006
Mensajes: 7
citar
Como grabar y leer una memoria RAM para formar una matriz de leds de 8x5
Como grabar la memoria mediante el puerto paralelo del PC

#2  
tiopepe123
Colaborador
Ubicación: Barcelona (Espanya)
Registrado: 14 May 2006
Mensajes: 2871
citar
mediante un simple contador , por ejemplo un 4044

El contador se utiliza para generarlas direcciones y se lee por D0 a D7.

Esto permite leer la memmoria direcciona direccion

Otra forma es utilizando un registro de desplazamiento tipo 4094, le envias los datos tipo"serie" y liego el 4094 te lo pasa a paralelo. Siempre estamos hablando del bus de direcciones.

Finalmente el metodo engorroso es utilizando 74hct574 como lach.
pero necesitaras PCB y puentes.
Utilizarias este chip como memoria. Pones las direccion baja en el puelto y la memorizas, pones la direccion alta en lpt y memorizas y finalmente lees el dato de la ram.

#3  matriz de leds
mauriciodtdt
Registrado: 06 Sep 2006
Mensajes: 7
citar
gracias por la respuesta pero lo que yo necesito es saber los comandos en visual basic que me permitan sacar un clock pulse del puerto paralelo para ingresarlo al contador.

#4  Re: matriz de leds
MaMu
Moderador
Ubicación: Argentina - Buenos Aires - Capital Federal
Registrado: 18 Abr 2005
Mensajes: 874
citar
mauriciodtdt escribió: gracias por la respuesta pero lo que yo necesito es saber los comandos en visual basic que me permitan sacar un clock pulse del puerto paralelo para ingresarlo al contador.


Yo te recomiendo que utilices un Driver para tal fin, es decir para acceder al puerto paralelo, siempre y cuando estemos hablando de que usas como SO alguno basado en NT, como el windows XP. Entre los drivers que andan dando vueltas, tenes 2 muy simples: el PortTalk y el Inpout32, estos archivos son 2 dll que tienen declaradas ya las funciones de acceso al puerto con todas las salvedades de Privilegios de Acceso, para lo cual, si utilizas sentencias directas desde VBasic, te dara error de acceso, por ser una funcion de Privilegio.

Las funciones a utilizar son:

Código: Seleccionar todo

function Inp32(direccion:word):byte; stdcall; external 'inpout32.dll';
function Out32(direccion:word;Dato:byte):byte; stdcall; external 'inpout32.dll';


Con respecto a VBasic, tenes una DLL muy buena, implementada por Pablin

Código: Seleccionar todo

La librería que presentamos ahora permite desarrollar aplicaciones que funcionen tanto en Windows95 como en Windows XP pasando por todas las versiones intermedias. Adicionalmente tenemos un conjunto extendido de operaciones posibles a realizar tales como:

PortOut: Envía un byte al puerto especificado

PortWordOut: Envía una palabra (de 16 bits) al puerto especificado

PortDWordOut: Envía una palabra doble (de 32 bits) al puerto especificado

PortIn: Lee un byte del puerto especificado

PortWordIn: Lee una palabra (16 bits) del puerto especificado

PortDWordIn: Lee un palabra doble (32 bits) del puerto especificado

SetPortBit: Pone en 1 el bit especificado del puerto indicado

ClrPortBit: Pone en 0 el bit especificado del puerto indicado

NotPortBit: Invierte el estado del bit especificado del puerto indicado

GetPortBit: Obtiene el estado del bit especificado

RightPortShift: Rota a la derecha el contenido del puerto haciendo que LSB pase a MSB

LeftPortShift: Rota a la izquierda el contenido del puerto haciendo que MSB pase a LSB

IsDriverInstalled: Devuelve un valor diferente a 0 si el driver se encuentra cargado en memoria

Para poder utilizar esta librería basta con copiar el archivo IO.DLL en la carpeta donde está el programa en desarrollo y agregar en un módulo BAS lo siguiente:

Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte)
Private Declare Sub PortWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Integer)
Private Declare Sub PortDWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Long)
Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte
Private Declare Function PortWordIn Lib "IO.DLL" (ByVal Port As Integer) As Integer
Private Declare Function PortDWordIn Lib "IO.DLL" (ByVal Port As Integer) As Long
Private Declare Sub SetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Private Declare Sub ClrPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Private Declare Sub NotPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
Private Declare Function GetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte) As Boolean
Private Declare Function RightPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Private Declare Function LeftPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean
Private Declare Function IsDriverInstalled Lib "IO.DLL" As Boolean
************************************************** **http://www.pablin.com.ar/computer/programa/vb/io.dll

http://www.pablin.com.ar/computer/programa/vb/iodll.htm



Saludos

PD: te adjunto el PortTalk y el ImpOut32.dll y tambien Io.dll de Pablin



Este mensaje contiene archivos adjuntos, para verlos debes estar registrado.

#5  
kristobal
Ubicación: chile
Registrado: 23 Jul 2006
Mensajes: 2
citar
buena amigo, estaba esperando algo haci...

por si fuera el caso que tuvieras un programa (o como diseñar un programa) para controlar un circuito con el puerto paralelo del Pc, lo podrias mandar.

GRACIAS 8)

#6  
tiopepe123
Colaborador
Ubicación: Barcelona (Espanya)
Registrado: 14 May 2006
Mensajes: 2871
citar
mira aui
http://www.todoelectronica.da.ru/

#7  
mauriciodtdt
Registrado: 06 Sep 2006
Mensajes: 7
citar
gracias por la ayuda, cualquier duda de la matriz de leds o programacion de la memoria RAM haganmela saber

#8  
albermillan69
Registrado: 06 Mar 2008
Mensajes: 3
citar
mauriciodtdt escribió: gracias por la ayuda, cualquier duda de la matriz de leds o programacion de la memoria RAM haganmela saber


Tengo este circuito!
como hago ahora usando memorias ram el desplazamiento en tres matrices de 5x7 o 5x8?



Este mensaje contiene archivos adjuntos, para verlos debes estar registrado.

 Responder





 Otros temas de interés 
No hay mensajes nuevos Como adquiero la señal de 20 sensores por un mismo puerto?
No hay mensajes nuevos Convertir de Puerto Paralelo a USB
No hay mensajes nuevos Interface IrDA para el puerto serial
No hay mensajes nuevos Puerto infrarrojo IrDA para PC
No hay mensajes nuevos Activar registro del puerto paralelo

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||