Página 1 de 3

aumentar numeros do IO

MensagemEnviado: 13 Set 2007 10:18
por rebelk
estou em um projeto que possui 27 saidas e 24 entradas estou ultilizando o pic16f877 , gostaria que alguem me desse uma dica de como ultilizar outro pic16f877 para almentar a quantidade de IO ,
eu já pensei em ultilizar a serial para mandar os dados ou ler ,
I2C tambem , ate mesmo SPI , mas ai vem o problema , pois eu nunca me deparei com esse desafio, alguem poderia me dar uma dica de como fazer isso , seria + interessante ( SPI ou I2C )!

MensagemEnviado: 13 Set 2007 10:21
por rebelk
estive lendo sobre o PCF8574 para almentar os IOs , alguem já fez algum projeto com ele , sera que ele é seguro ?

MensagemEnviado: 13 Set 2007 11:00
por fabim
olha as vezes é melhor usar discretos do que dedicados.. custo muitas pessoas usam etc.
Por exemplo o 4094 cascateado, usando a SPI.
Com um algoritmo simples voce pode com 4 X 4094 controlar 32 saidas e com velocidade boa.

Pra entrada, pode-se utilizar multiplexador 16X1 * 2 que da as mesmas 32 entradas. com custo muito menor do que usar 8 PCF..

apenas minha opinião.

Abraços

Fabim

MensagemEnviado: 13 Set 2007 11:08
por andre_luis
rebelk,

Já usei o 74HC244 para entrada e o 74HC374 para saída com o PIC16F876 e funcionou bem. O custo é menor que usar 2 PIC's.

+++

MensagemEnviado: 13 Set 2007 11:22
por buiz
Seguindo a dica do André,

Você utilizaria 04 74HC374 para as 27 saidas, 03 74HC244 para as 24 entradas e 01 74HC138 para comandar isso tudo, utilizando apenas 11 portas do PIC, sendo 08 para o barramento e 3 para o endereçamento do 74HC138.

Faria ler o estado da entrada multiplexando um 74Hc244 por vez e guardando o resultado, logo após aplicaria o resultado nos 74HC374, isso se for ler entradas I/O,

Para usar uma entrada AD para ler os 24 entradas usaria 2 MC4067 (32 entradas) ou melhor 8 MC4051 (24 entrada).

Espero ter ajudado,

Um abraços Buiz

MensagemEnviado: 13 Set 2007 12:03
por andre_luis
Buiz,

Exatamente, mas dependendo da disponibilidade de pinos, talvez até mesmo o 138 pudesse ser dispensado, selecionando diretamente cada CI.


+++

MensagemEnviado: 13 Set 2007 12:32
por rebelk
(Você utilizaria 04 74HC374 para as 27 saidas, 03 74HC244 para as 24 entradas e 01 74HC138 para comandar isso tudo, utilizando apenas 11 portas do PIC, sendo 08 para o barramento e 3 para o endereçamento do 74HC138.

Faria ler o estado da entrada multiplexando um 74Hc244 por vez e guardando o resultado, logo após aplicaria o resultado nos 74HC374, isso se for ler entradas I/O,

Para usar uma entrada AD para ler os 24 entradas usaria 2 MC4067 (32 entradas) ou melhor 8 MC4051 (24 entrada).
)


gostei , posso ate colocar o lcd no mesmo barramento , sera que o port d suporta tudo isso ?

MensagemEnviado: 13 Set 2007 15:28
por ze
eu usaria
saídas=4 shift register 74HC164 (2 pinos: clk e dado) e 4 74HC373/374 (1 pino: latch).

entradas=1 pino - os mesmos HC164 multiplexando a entrada com 1 diodo 1n4148 para cada entrada. (o comum dos sinais não é o gnd e sim tal pino)

total 4 pinos do uC.

já tenho projs semelhantes: com matriz de leds e outro com 12 teclas + 8 disp 7seg.
abrç

MensagemEnviado: 14 Set 2007 08:22
por luisaoho
buiz escreveu:Seguindo a dica do André,

Você utilizaria 04 74HC374 para as 27 saidas, 03 74HC244 para as 24 entradas e 01 74HC138 para comandar isso tudo, utilizando apenas 11 portas do PIC, sendo 08 para o barramento e 3 para o endereçamento do 74HC138.

Faria ler o estado da entrada multiplexando um 74Hc244 por vez e guardando o resultado, logo após aplicaria o resultado nos 74HC374, isso se for ler entradas I/O,

Para usar uma entrada AD para ler os 24 entradas usaria 2 MC4067 (32 entradas) ou melhor 8 MC4051 (24 entrada).

Espero ter ajudado,

Um abraços Buiz


Oi Buiz,

Sou novo em PIC e gostaria de saber como poderia fazer isso, você pode me dar umas dicas?

Grato

MensagemEnviado: 14 Set 2007 12:45
por rebelk
obrigado a todos , deu uma boa clareada nas ideias!

MensagemEnviado: 17 Set 2007 16:31
por rebelk
estou com uma duvida , no projeto estou ultilizando 3 74hc540 , 4 74hc574 e um 74hc138 para endereçamento estou ultilizabdo o port D
para a leitura e escrita de dados , qual o correto carregar o trisd com 0xff para a leitura de dados , ?

SET_TRIS_D( 0xFF ); //
DADO=INPUT_D; // ?

eu entou progamando em C com o ccs ,
estou querendo ultilizar o fast_io para os pinos de endereço(portE) e para o IO ( PORTD ), alguem poderia me mostrar um exemplo ?

MensagemEnviado: 18 Set 2007 08:09
por rebelk
ALGUEM PODERIA ME AJUDAR ?

MensagemEnviado: 18 Set 2007 08:15
por andre_luis
rebelk,

Publica o esquema aqui....Ás cegas fica meio difícil.

Outra observação : Esses 540 e 574 não são muito usuais. Talvez voce tenha problemas para adquirí-los. Usa os CI's que indicamos pra voce.


+++

MensagemEnviado: 18 Set 2007 12:34
por rebelk
eu não sei colocar o esquema aki!!!!! como é ?

MensagemEnviado: 18 Set 2007 13:00
por helton
Caso voce queira algo um pouco menos espaçoso ( 4 74373 e 4 74hc244 ocupam um bom espaço )...talvez seja interessante utilizar um CPLD da altera ( EPM3064 - PLCC44 ) o problema é o preço R$ 10,00...mas a vantagem é de reorganizar sua lógico conforme a sua necessidade...

fica a dica...