![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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]... |
|
#2
|
||||
|
||||
|
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. |
|
#3
|
|||
|
|||
|
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]... |
|
#4
|
||||
|
||||
|
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. |
|
#5
|
|||
|
|||
|
escafandra me pudiera mostrar un ejemplo como pudiera utilizar el XOR ,
|
|
#6
|
||||
|
||||
|
El XOR, es un or exclusivo, es decir si un bit de "sólo" uno o del otro operando es uno, entonces el resultado en ese bit es uno. Esta sería la tabla.
xor |0 1 ___|____ 0 ..|0 1 1 ..|1 0 En C ese operador binario se representa por "^" Ejemplo: .........5 = 0101 .........4 = 0100 __________________ 5^4 = 1 = 0001 Saludos. |
|
#7
|
||||
|
||||
|
Bueno, no se si lo que realmente quieres es el operador XOR o el OR, pero no cuesta trabajo exponer el or:
Basta con que un bit de cualquiera de los dos operandos este a uno para que el resultado en ese bit sea uno. Esta sería la tabla: .or |0 1 ___|____ 0 ..|0 1 1 ..|1 1 En C ese operador binario se representa por "|" Ejemplo: .........5 = 0101 .........4 = 0100 __________________ 5|4 = .5 = 0101 Saludos. Última edición por escafandra fecha: 12-03-2009 a las 01:05:26. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|