Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-03-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Perdoname, krlox31416, no se si por la mecánica de un anterior post tuyo, no termino de entenderte.
Cita:
Empezado por krlox31416 Ver Mensaje
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);   
begin asm    
MOV AX,3 // bit que se quiere utilizar en mi caso el bit 3    
MOV DX,378H // puerto paralelo 378h    
OUT DX,AX // damos salida lo que tenga AX en mi caso es 3 bit a DX que es el puerto 378h    
end;    
end;
Dime una cosa. ¿Ese código que pines activa?
El 3 es el 0011b, con lo que según yo creo, debería activar las salidas 2 y 3 del puerto paralelo. ¿Estoy en lo cierto?

Saludos.
Responder Con Cita
  #2  
Antiguo 09-03-2009
Avatar de krlox31416
krlox31416 krlox31416 is offline
Miembro
 
Registrado: jun 2008
Ubicación: San Juan del Río, Querétaro, México
Posts: 75
Poder: 19
krlox31416 Va por buen camino
correcto!!!

sip...
los pines 2 y 3 son los que utilizas para el bit 3 de salida...
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);   
begin asm    
MOV AX,3 // bit 3 de salida utilizando los pines 2 y 3    
MOV DX,378H // puerto paralelo 378h    
OUT DX,AX // damos salida lo que tenga AX en este caso es el bit 3 (combinacion -> 00000011 del pin 2 y 3)a DX que es el puerto 378h    
end;    
end;
lo que hacemos es mandar un pulso de 5 volts que es lo que manda el cpu...
de tu aplicación dependera como vas a programar por ejemplo...

mandar un estado alto seria cualquier bit del 1-255 menos el 0...
y un estado bajo seria el 0...
los pines del 2-9 dan salidas o estados altos de 5 volts...

por eso es importante que antes de hacer pruebas le adaptes a tu circuito (el que va a controlar tu programa hecho con este código alimentado con una fuente segun lo que soporte el diseño del mismo)una etapa optoacopladora con el fin de no dañar tu puerto de salida de tu maquina...
Cita:
Tienes los pines disponibles (pines del 2 al 9) 255=11111111 que son todas las combinaciones que puedes hacer para 255 osea estas utilizando 255 bits
http://www.modelo.edu.mx/univ/virtec...o/paralelo.htm

como decia una cosa es usar los pines de salida y otra saber que bit voy a mandar de salida...

saludos!!!...
__________________
el cielo me dio un cariño sin merecerlo... chimikuilo!!!
Responder Con Cita
  #3  
Antiguo 09-03-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Bien, gracias veo que no estaba equivocado.

Saludos.
Responder Con Cita
  #4  
Antiguo 09-03-2009
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Exclamation

Gracias a todas sus respuestas, pero aber si entiendo un poco de todos esos numeros, en generar no se puede activar y desactivar un puerto por separado,
por ejemplo yo pongo :
MOV AX,3 // bit que se quiere utilizar en mi caso el bit 3
MOV DX,378H // puerto paralelo 378h
OUT DX,AX // damos salida lo que tenga AX en mi caso es 3 bit a DX que es el puerto 378h
y lo que me hace es como dice escafandra me activa el ping de salida 2-3 pero yo no quisiera hacer eso, yo quisiera controlar los pines por separados, por que en el ping 2 quiciera poner un motor, en el 3 un bombillo, el 4 un Extractor, etc
Pero quisiera encender y apagar cada uno por separado, no que para poder apagar uno tenga que apagarlos todos ni que cuando enciendo el 2 se encienda tambien el 3, quisiera hacerlo todo por separado, que numeros de bit tendria que poner para logar todo eso...

(Se que para conectar todo eso a la PC tengo que poner un circuito electronico con transistores y relay.)

Les agrdeseria toda la ayuda pocible ...

[Saludos]...
Responder Con Cita
  #5  
Antiguo 09-03-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
yelian, No es complicado. El número 3 en binario es 0000 0011b esto quiere decir que de activan dos pines, pues dos están a "1".

Si quieres activar uno solo, pues pon a uno un sólo bit, es decir potencias enteras de 2.

Si quieres activar de forma combinada pues es fácil, realizar una operación or binaria.

Pin2 activo: 0000 0001 = 1
Pin3 activo: 0000 0010 = 2
Pin4 activo: 0000 0100 = 4
Pin5 activo: 0000 1000 = 8
...........

Si queremos activar el pin2 y el 3:
Pin2 | Pin3, es decir 1 | 2, es decir 0000 0011.

Así con cualquier pin o combinación.

Fácil, ¿no?

Saludos.
Responder Con Cita
  #6  
Antiguo 10-03-2009
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Gracias escafandra;

Por Favor pudieras continuar la Tablita que pusistes:

Pin2 activo: 0000 0001 = 1
Pin3 activo: 0000 0010 = 2
Pin4 activo: 0000 0100 = 4
Pin5 activo: 0000 1000 = 8

-Aaaaaaa
Probe el codigo de Ensamble con los numeros que me distes y me funciona bien pero hace una cosa que no gusta es que cuando enciendo el ping 2, se enciende bien pero cuando enciendo el ping 3 se enciende, pero me apaga el 2 me gustaria que trabajaran individual...

[Saludos]...
Responder Con Cita
  #7  
Antiguo 10-03-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
yelian, esto es binario puro.

Como dice el chiste, existen 10 tipos de personas, las que saben binario y las que no.
Bueno, la tablita es así:
Pin2 activo: 0000 0001 = 1
Pin3 activo: 0000 0010 = 2
Pin4 activo: 0000 0100 = 4
Pin5 activo: 0000 1000 = 8
Pin6 activo: 0001 0000 = 16
Pin7 activo: 0010 0000 = 32
Pin8 activo: 0100 0000 = 64
Pin9 activo: 1000 0000 = 128

Esto enciende individualmente cada pin, y por lo tanto apaga todos menos el activo. Todos los que quieras activos deben estar a "1", y los inactivos a "0"

Todos activos sería 1111 1111 en binario es decir 0xFF en hexadecimal ó 255 en decimal.
Para mantenerlos activos a medida que enciendes otro, debes hacer una operación or antes de mandarlo al puerto, con esto pones los "unos" que te interesen.

Saludos.

Última edición por escafandra fecha: 10-03-2009 a las 16:34:14.
Responder Con Cita
  #8  
Antiguo 12-03-2009
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
escafandra me pudiera mostrar un ejemplo como pudiera utilizar el XOR ,
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Puerto paralelo bactering Varios 8 15-09-2011 07:55:09
PWM con puerto paralelo... emeceuy Varios 5 19-07-2007 20:30:23
Puerto paralelo en C Chase C++ Builder 0 04-07-2005 12:29:37
Puerto Paralelo jorge Lazarus, FreePascal, Kylix, etc. 1 20-04-2005 03:25:42


La franja horaria es GMT +2. Ahora son las 05:44:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi