![]() |
| |
| ||
Expansão para 32 saídas digitais para a porta paralela
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 Puerto
Paralelo |
|
IR A LA PAGINA PRINCIPAL DEL PUERTO PARALELO