EXPANSION À 32 SORTIES NUMÉRIQUES POUR LE Port parallèle
LE PORT PARALLÈLE

Expansion à 32 sorties numériques pour le port parallèle

  

Le port standard parallèle a seulement 12 sorties numériques (8 delregistro de l'état et 4 de l'inscription du contrôle). Certaines applications conservent necesitarmás des 12 sorties. Dans ce cas c'est possible de développer le nombre de sorties (32) au moyen d'un circuit simple basé sur 4 composants électroniques comme le plus jaune clair (compensateur) 74LS244. Les données (1 multiplet au moyen de l'inscription de données) sont envoyées aux 4buffers et il est sélectionné pour lequel devrait partir. Pour ce les quatre morceaux contrôlent le delregistro est utilisé pour sélectionner le tampon qui est voulu.

Description du plus jaune clair 74LS244

Fig. Le plus jaune clair 74LS244

 

Références

Hypnotise des sorties

1A1 Entrée 1 1V1 Sortie 1

1A2 Entrée 2 1V2 Sortie 2

1A3 Entrée 3 1V3 Sortie 3

1A4 Entrée 4 1V4 Sortie 4

2A1 Entrée 5 2V1 Sortie 5

2A2 Entrée 6 2V2 Sortie 6

2A3 Entrée 7 2V3 Sortie 7

2A4 Entrée 8 2V4 Sortie 8

 

Nourrir et opération

1 grignotement sélection 1A. (sélectionner avec bas niveau)

2 grignotement sélection 2A. (sélectionner avec bas niveau)

Vcc 5 volts

Monde Gnd

La source de 5 volts nourrir ce circuit conserve obtenerdirectamente de la source de pouvoir du PC, ou du port de jeux (voir dealimentación de la source).

Chemin de l'opération

Les 74LS244 sont formés par deux groupes de 4 morceaux. Lorsque vous les seleccionaun groupent, les morceaux qui sont dans l'entrée seront transférés à la sortie. Le seleccióndel composant est emporté à travers l'inscription du contrôle. L'épingle de la libération de l'inscription devrait être reliée aux deux morceaux de la qualification afin que le transfert seade 8 dans 8 morceaux. Dans le chiffre qui les rapports que le delcircuito complet est ensuite qu'ils sont montrés.

Fig. Rapport suggéré des 74LS244

 

 

 

Programmer

L'algorithme suivant autorise à placer en 1 n'importe qui des 32salidas du circuit, sans modifier le reste.

 

 

/* Nous définissons les variables */

Le tampon est un arrangement [1..4] de multiplet du type

i de type entier

dir_base, dir_control de mot du type

procédure initialiser

commencer

obtenir dir_base du port parallèle

calculer: dir_control=dir_base+2

pour i=1 jusqu'à 4 faire plus jaune clair [i] = 0

fin

le dos_a_la de la fonction (i de type entier) rend un fait de multiplet du type

nous définissons les variables:

r, ctd de type entier

commencer

r=1

pour ctd=1 jusqu'à ce qu'i faire r=r*2

dos_a_la=r

fin

procédure envoyer (dir_salida, fait de multiplet du type)

les dir_salida peuvent être entre 0 et 31

Je date ce peut être 0 ou 1

commencer

Si (dir_salida & gt; = 0) ET (dir_salida & lt; = 7) alors

commencer

Si dato=1 alors tampon [1] = tampon [1] Odos_a_la (dir_salida)

mais tampon [1] = tampon [1] ET NON dos_a_la (dir_salida)

/*activer le plus jaune clair 1*/

port [dir_control] = 7 XOR 11 / * 7=0000 0111 se souviennent que l'el74LS244 est activé

avec une basse (morceau en 0) valeur.

nous utilisons l'opération OU avec 11

investir les morceaux de l'inscription

de contrôle*/

/*envoyer les données*/

port [dir_base] = tampon [1]

Fin

Si (dir_salida & gt; = 8) ET (dir_salida & lt; = 15) alors

commencer

Si dato=1 alors tampon [2] = tampon [2] Odos_a_la (dir_salida-8)

mais tampon [2] = tampon [2] ET NON dos_a_la (dir_salida-8)

/*activer le tampon 2*/

port [dir_control] = 11 XOR 11 / * 11 = 0000 1011*/

/*envoyer les données*/

port [dir_base] = tampon [2]

Fin

Si (dir_salida & gt; = 16) ET (dir_salida & lt; = 23) alors

commencer

Si dato=1 alors tampon [3] = tampon [3] Odos_a_la (dir_salida-8 * 2)

Mais tampon [3] = tampon [3] ET NON dos_a_la (dir_salida-8 * 2)

/*activer le tampon 3*/

port [dir_control] = 13 XOR 11 / * 13 = 0000 1101*/

/*envoyer les données*/

port [dir_base] = tampon [3]

Fin

Si (dir_salida & gt; = 24) ET (dir_salida & lt; = 31) alors

commencer

Si dato=1 alors tampon [4] = tampon [4] Odos_a_la (dir_salida-8 * 3)

mais tampon [4] = tampon [4] ET NON dos_a_la (dir_salida-8 * 3)

/*activer le tampon 4*/

port [dir_control]: = 14 XOR 11 / * 14=0000 1110*/

/*envoyer les données*/

port [dir_base] = tampon [4]

Fin

Fin

/*Usage*/

en premier il/elle devrait il/elle appeler à la procédure pour initialiser

Alors appeler la procédure pour envoyer

Exemples:

Si on veut envoyer un 1 à la sortie 24 l'appel il sera:

Envoyer (24,1)

Si on veut envoyer un 0 à la sortie 14 l'appel il sera:

Envoyer (14,0)

Si on veut envoyer un 1 aux sorties 3, 15 et 27 les appels seront:

Envoyer (3,1)

Envoyer (15,1)

Envoyer (27,1)

Si on veut envoyer un 0 aux sorties 2, 24 et 16 et pour envoyer un 1 à la sortie 25, les appels seront:

Envoyer (2,0)

Envoyer (24,0)

Envoyer (16,0)

Envoyer (25,1)

/* Fin */

 

 

Revenir

Veut mais l'information a plus qu'assez d'Interfaces d'E/S, ne doutez pas pour communiquer avec pparalelo@hotmail.com