Vous êtes sur la page 1sur 27

m 



  
     
à 
 

à 


à à

 

à  à   



?


à

El puerto paralelo lee y escribe todos sus pines


simultáneamente o Ê ÊG e ahí su
nombreG


à à



Π ines de   en el Bus de datos ?


Πines de   en el Bus de Estado ??
Π! ines de      en el Bus de "#?"$
Œ os 8 pines restantes son ?  % & ' ¢   

 (
 
 
à à

Œ El à Ê  àÊ está compuesto por 17 líneas


(pines) de señal y ocho líneas de tierra

Πpera en los       convencionales,


donde 0 - 0,5 voltios representan  (), 3G8 - 5
voltios representan  ()G

Œ iferente de la comunicación serial donde  es


representado por voltajes entre -3 y -25 voltios, y 
por señales entre 3 y 25 voltiosG 2  Ê  

)  * 
      sin un
circuito electrónico de acopleG
R+ 
,-
à à

Πebido a que el uerto aralelo trabaja en los niveles


digitales convencionales, es posible (y fácil)
conectarlo a chips lógicos TTG

Πara que un circuito externo se acople perfectamente


al puerto paralelo, sólo hace falta unir la tierra del
circuito con la tierra del puerto (pines 17 al 25)G

ΠR . ara mayor seguridad, es necesario


aislar los pines del puerto paralelo, por medio de
compuertas inversoras, buffers u opto aisladoresG
* à à

" . `onstruir un cable de acople al protoboard

" /. Usar un cable macho ± hembra B 25


0?#R

àR"#

`onectar dispositivos al puerto paralelo implica el


  de daños permanentes a la tarjeta madre del
`, tenga siempre presente que aún los profesionales
cometen errores, por lo tanto no está de más
recomendarle extremo cuidado al trabajar con el puerto
paraleloG
°1 
 2 


%?'

R .

as salidas del  Ê  Ê nos permiten  


   en forma de señales digitales, al entorno
     G

or lo tanto, podemos convertir variables propias de


un programa (
+3) en     
  Ê Ê   Ê  Ê Ê   
 Ê    Ê  y de esta manera lograr
verdadera    Ê Ê  Ê     
 Ê  G


 
 2 

ΠEl bus de datos o ? puede enviar un byte (8 bits)
al tiempo (transmisión paralela)G

Œ as ocho líneas de datos están representadas


físicamente por los pines 2 al 9, llamados 0, 1GG 7G
onde 0 es el bit menos significativo = 20 y 7 =
27G
/ 45/5
Œ ctualmente, las líneas de datos pueden usarse para
enviar  recibir datos
°1 
 2 


%?'

°"?"R"

ara enviar información a través del puerto paralelo,


antes que nada debemos +    , 6 u
objeto (dependiendo del lenguaje de programación)
en el cual se almacene la dirección dicho puerto, para
que así el programa conozca desde el principio la
ubicación exacta de donde debe leer y escribir
informaciónG
°1 
 2 


%?'

ara nuestro caso que trabajaremos en   , lo


primero es definir objeto llamado %      2 
 7   en el cual almacenaremos la dirección
del puerto paraleloG

ara este fin, nos apoyaremos en la función


³   ´, que es la encargada de localizar
automáticamente los dispositivos de entrada y salida
digital, definir su dirección y característicasG
+     à

igitemos en la ventana ³command Window ´ de


matlab, la instrucción:
unción de matlab para
localizar dispositivos I/
digital, definir su dirección y
característicasG

dio = digitalio ( 'parallel' , 'LPT1' )

Variable donde Especificamos ombre técnico


almacenaremos que es un del puerto
la información dispositivo de paralelo (de la
recogida por comunicación impresora)
  en paralelo
+  
6

à à

åa conocida la dirección del uerto aralelo, el


siguiente paso es definir por separado la dirección de
cada uno de los buses de comunicaciónG ara ello se
usa la función  Ê y se almacena cada dirección en
una variable del mismo nombre del bus ya sea ata,
Status y `ontrolG

`omenzaremos por definir el bus de datosG


+  6

 %6
6 
'

unción de Matlab para 0 al 7, úmero del


definir líneas de puesto que bus (el bus
información,explícitamente definiremos de datos
dentro de un busG 8 líneas de también
( efiniremos las líneas del data como llamado
bus de datos) un todo puerto 0)

data = addline ( dio, 0:7 , 0, 'out' );

Variable donde se Variable previamente efine


almacenará la definida que contiene los
información recogida la dirección y demás pines
por  Ê sobre el características del como
bus de datosG puerto paraleloG salida
,  + 6

?

åa definido el bus de datos, lo usaremos para enviar


información en forma digitalG
Este es el dato
ara ello, se usa la función: que deseamos
enviar,
putvalue (data, 255) debemos
digitar su valor
en decimal,
unción para ³data´ es el bus
aunque su
enviar datos a un al que deseamos
proyección en
determinado bus enviar la
el puerto
de información información
paralelo sea en
binario de 8
bitsG
,  + 6

?.1

Ejemplo: Si digitamos ³      ´, se


deberán encender ( + 5v =  ) los pine s 2,4,7,8 y 9,
debido a que este número corresponde en binario a:
G
RR"

hora que sabe enviar información a través del bus de


salida del puerto paralelo, envié diferentes datos y
observe los cambios ocurridos en los pine s del puertoG

`orrobore las instrucciones programadas por medio del


%°     ' armon 2002G

o olvide la instrucción que usaremos:


putvalue (data, valor numérico enviado)
°1 
 2 


%?'

à"8°R"# $?#?R0  
696

.
esde Matlab podemos definir los pines del bus de salida
de información T, ya sea como  compuesto
por 8 bits (  Ê Ê    ), ó buses
independientes que conformen el mismo bus de datos,
nombrados como data1, data2«data G

Siendo así, cada sub-bus de datos tendrá un diferente


BIT menos significativo, y por lo tanto el valor máximo que
se pueda asignar a cada bus ya no será de 255 (8 bits),
sino por ejemplo 15, en el caso de que se divida el puerto
en dos secciones de 4 pines, donde
/: ;/: ;/: ;/: < dec <bin

bserve los cambios en el ejemplo a continuación «


°1 
 2 


%?'

artimos nuevamente de cero, definiendo el puerto paralelo «

dio = digitalio('parallel','lpt1'); % efine el puerto paralelo


à+    
6



!6 
.

 = addline ( dio, 0:3 , 0, 'out' ); % pines 2 al 5


/= addline ( dio, 4:7 , 0, 'out' ); % pines 6 al 9

a única diferencia es que esta vez no definimos las


líneas del 0 al 7, sino del 0 al 3 y del 4 al 7G Esto
permite dividir T en dos, donde el BIT menos
significativo de , corresponde al pin 6G
°1 
 2 


%?'

à"8°R"# $?#?R0 /  


.

esde Matlab, podemos definir los pines del bus de salida


de información T, ya sea como un todo compuesto por
8 bits o como sub-busesG

hora, imagine que dividiéramos T en 8 buses de 1 BIT


cada uno, tendríamos 8 salidas digitales independientes
nombradas y controladas por separadoG

os comandos que se usan en este caso son muy similares,


observe las pequeñas variaciones:
°1 
 2 


%?'

dio = digitalio('parallel','lpt1'); % efine el puerto paralelo


Para definir independientemente cada uno de los pines
del bus de datos:

data.pin2 = addline (dio,0,0,'out'); %Pin 2


data.pin3 = addline (dio,1,0,'out'); %Pin 3
data.pin4 = addline (dio,2,0,'out'); %Pin 4
data.pin5 = addline (dio,3,0,'out'); %Pin 5
data.pin6 = addline (dio,4,0,'out'); %Pin 6
data.pin7 = addline (dio,5,0,'out'); %Pin 7
data.pin8 = addline (dio,6,0,'out'); %Pin 8
data.pin9 = addline (dio,7,0,'out'); %Pin 9
Para emitir uno digital (+ 5V) a traves del pin 7, digite:
Putvalue (data.pin7, 1);
°1
 2 

%??'

R .

as Entradas del  Ê  Ê nos permiten  


   información en forma de señales digitales,
provenientes del entorno      G

or lo tanto, podemos hacer que un programa


realmente     con el medio físico; dado que
será posible      (a partir de las
entradas) usando sensores,      (el
programa) y !          (por
medio de las salidas) usando actuadores
electromecánicosG



 2 

ΠEl Bus de estado se usa para adquirir datos digitalesG
uede capturar 5 bits (unos o ceros) al tiempoG

Œ as 5 líneas de Ê  están representadas


físicamente por los pines 10, 11, 12, 13 y 15 del puertoG

Œ El pin 11 (S7) está negado (invertido lógicamente)

Œ Tiene tres líneas (pine s) reservadas, las cuales no


podemos acceder físicamenteG Ellas son S0,S1 y S2G
°1
 2 




Un pin de entrada tiene normalmente un


potencial de +Ñ    
"G En este caso, la
entrada asume el      #G

ara que la entrada cambie a    ,


debemos hacer que su potencial sea de $
   G ara esto, debemos ³     
dicha entrada uniéndola a tierraG

e esta manera el potencial será


forzozamente de 0 voltiosG
°1
 2 




ormalmente, una
entrada digital emite 5
voltiosGGG `uando está
en   2 

Si cortocircuitamos
dicha entrada, su
potencial será igual al
de tierra (0 voltios)G
or lo que cambiará a
  2 
°1
 2 




dio = digitalio('parallel','lpt1'); % efine el puerto paralelo


Para definir independientemente cada uno de los pines
del bus de estado:

wtatuw.pin15=addline(dio,0,1,'in'); %Pin 15
wtatuw.pin13=addline(dio,1,1,'in'); %Pin 13
wtatuw.pin12=addline(dio,2,1,'in'); %Pin 12
wtatuw.pin10=addline(dio,3,1,'in'); %Pin 10
wtatuw.pin11=addline(dio,4,1,'in'); %Pin 11
Para conocer el valor digital en el pin 13, digite:
j = getvalue (wtatuw.pin13)

onde ³j´ es una varable donde almacenaremos el valor


al que se encuentre el pin 13

Vous aimerez peut-être aussi