EXPANSÃO PARA 32 SAÍDAS DIGITAIS PARA a porta paralela

Expansão para 32 saídas digitais para a porta paralela

  Home

 

O porto standard paralelo só tem 12 saídas digitais (8 da inscrição estatal e 4 da inscrição de controle). Algumas aplicações podem precisar mais que as 12 saídas. Neste caso é possível ampliar o número de saídas (32) por meio de um circuito simples baseado em 4 componentes eletrônicos como o mais amarelo (compensador) 74LS244. Os dados (1 byte por meio da inscrição de dados) são enviados aos 4buffers e é selecionado para qual deveria partir. Para este são usados os quatro pedaços da inscrição de controle para selecionar o pára-choque que é querido.

Descrição do mais amarelo 74LS244

Fig. O mais amarelo 74LS244

 

Referências

Encanta saídas

1A1 Entrada 1 1V1 Saída 1

1A2 Entrada 2 1V2 Saída 2

1A3 Entrada 3 1V3 Saída 3

1A4 Entrada 4 1V4 Saída 4

2A1 Entrada 5 2V1 Saída 5

2A2 Entrada 6 2V2 Saída 6

2A3 Entrada 7 2V3 Saída 7

2A4 Entrada 8 2V4 Saída 8

 

Alimentando e operação

1 mordidela seleção 1A. (selecionar com baixo nível)

2 mordidela seleção 2A. (selecionar com baixo nível)

Vcc 5 volts

Terra de Gnd

A fonte de 5 volts para alimentar este circuito a pessoa enlata obtenerdirectamente da fonte de poder do PC, ou do porto de jogos (ver dealimentación de fonte).

Modo de operação

Os 74LS244 são formados por dois grupos de 4 pedaços. Quando você seleccionaun se agrupam, serão transferidos os pedaços que estão na entrada à saída. O seleccióndel de componente é levado a cabo pela inscrição de controle. O alfinete do decontrol de inscrição deveria ser conectado aos dois pedaços de qualificação de forma que o seade de transferência 8 entre 8 pedaços. Na figura que as conexões delcircuito completo está próximo para eles são mostrados.

Fig. Conexão sugerida dos 74LS244

 

 

 

Programando

O algoritmo seguinte permite colocar em 1 qualquer um dos 32salidas do circuito, sem modificar o resto.

 

 

/* Nós definimos as variáveis */

Pára-choque é um arranjo [1..4] de byte de tipo

i de tipo inteiro

dir_base, dir_control de palavra de tipo

procedimento para inicializar

começando

obter dir_base da porta paralela

calcular: dir_control=dir_base+2

para i=1 até 4 fazer mais amarelo [i] = 0

fim

dos_a_la de função (i de tipo inteiro) devolve um fato de byte de tipo

nós definimos as variáveis:

r, ctd de tipo inteiro

começando

r=1

para ctd=1 até que i para fazer r=r*2

dos_a_la=r

fim

procedimento para enviar (dir_salida, fato de byte de tipo)

dir_salida podem estar entre 0 e 31

Eu dato pode ter 0 ou 1 anos

começando

Se (dir_salida & gt; = 0) E (dir_salida & lt; = 7) então

começando

Se dato=1 então pára-choque [1] = pára-choque [1] Odos_a_la (dir_salida)

mas pára-choque [1] = pára-choque [1] E dos_a_la de NON (dir_salida)

/*ativar o mais amarelo 1*/

porto [dir_control] = 7 XOR 11 / * 7=0000 0111 se lembram aquele el74LS244 é ativado

com um baixo (mordido em 0) valor.

nós usamos a operação OU com 11

investir os pedaços da inscrição

de controle*/

/*enviar os dados*/

porto [dir_base] = pára-choque [1]

Fim

Se (dir_salida & gt; = 8) E (dir_salida & lt; = 15) então

começando

Se dato=1 então pára-choque [2] = pára-choque [2] Odos_a_la (dir_salida-8)

mas pára-choque [2] = pára-choque [2] E dos_a_la de NON (dir_salida-8)

/*ativar pára-choque 2*/

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

/*enviar os dados*/

porto [dir_base] = pára-choque [2]

Fim

Se (dir_salida & gt; = 16) E (dir_salida & lt; = 23) então

começando

Se dato=1 então pára-choque [3] = pára-choque [3] Odos_a_la (dir_salida-8 * 2)

Mas pára-choque [3] = pára-choque [3] E dos_a_la de NON (dir_salida-8 * 2)

/*ativar pára-choque 3*/

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

/*enviar os dados*/

porto [dir_base] = pára-choque [3]

Fim

Se (dir_salida & gt; = 24) E (dir_salida & lt; = 31) então

começando

Se dato=1 então pára-choque [4] = pára-choque [4] Odos_a_la (dir_salida-8 * 3)

mas pára-choque [4] = pára-choque [4] E dos_a_la de NON (dir_salida-8 * 3)

/*ativar pára-choque 4*/

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

/*enviar os dados*/

porto [dir_base] = pára-choque [4]

Fim

Fim

/*Uso*/

primeiro ele/ela deveria se chamar ao procedimento inicializar

Então chamar o procedimento para enviar

Exemplos:

Se a pessoa quer enviar um 1 à saída 24 a chamada isto será:

Enviar (24,1)

Se a pessoa quer enviar uns 0 à saída 14 a chamada isto será:

Enviar (14,0)

Se a pessoa quer enviar um 1 às saídas 3, 15 e 27 as chamadas serão:

Enviar (3,1)

Enviar (15,1)

Enviar (27,1)

Se a pessoa quer enviar uns 0 às saídas 2, 24 e 16 e enviar um 1 à saída 25, serão as chamadas:

Enviar (2,0)

Enviar (24,0)

Enviar (16,0)

Enviar (25,1)

/* Fim */

 

Esta información es parte del Libro: "El Puerto Paralelo como interface de Entrada/Salida"
Contenido del Libro:

 

 

Novedades en nuestro Blog: Blog Puertos Paralelos
Comentarios, aportes, consultas, visite nuestro Foro: Foro Puerto Paralelo
Puertos paralelos PCI

Sitios recomendados:
Secado de Madera utilizando el Puerto Paralelo
Hidroponia - Hidropónico
Un poco de Seguridad Ciudadana
 

IR A LA PAGINA PRINCIPAL DEL PUERTO PARALELO

Conector Puerto Paralelo hembra DB25

 

Google
 

Home