Ir ao conteúdo
  • Cadastre-se

Como trabalhar com dados Serial do 74HC165?


WLS.UAM

Posts recomendados

Ola a todos, sou novo e não tenho nenhum curso na area, mais a curiosidade me leva adiante, já aprendi muito com o CH mais resolvi criar um conta porque não achei na internet algo q tirasse minha duvida, talvez por ser simples. Bom... Chega de enrolar....

 

 

Estou explorando Um Pic16f877a, nele pretendo incluir 74595 e 74165, quanto ao 74595 serial/paralelo não tive dificuldades aprendi aqui mesmo a como usa-lo, minha duvida é sobre 74165 para expandir as entradas.

 

Sei como é seu funcionamento e testei corretamente, minha divida é quais as formas de receber esse byte via código(Uso CCS), tipo tem algum comando que já le o byte, ou tenho q ler um a um mesmo e armazenar? armazeno em um tipo byte, int ou string? preciso fazer com parações desses valores tanto de byte pra byte quanto bit a bit de um com o outro, qual seria a melhor forma de receber e trabalhar com esses valores?

 

Desde já agradeço a atenção e parabenizo o FORUM, pois já aprendi muiitoooooo aqui só com observador! ^^

Link para o comentário
Compartilhar em outros sites

@WLS.UAM,

Bem vindo ao Fórum !

Se eu entendí direito, voce quer usar o 74hc165 como uma entrada de 8 bits, e voce iria receber esses 8 bits usando um unico pino do PIc , no formato serial, é isso ?

voce tem de usar dois pinos do CI para isso : o SHIFT/LOAD, e o CLOCK.

Deixe o CLOCK e o SHIFT/LOAD em nivel baixo. Para "ler" os oito bits, mude o SHIFT/LOAD para nivel alto, e em seguida basta gerar o pulso positivo ( de baixo para alto ) no CLOCK, para que os bits se apresentem na saida QH. Assim que voce fizer a leitura, leve CLOCK para baixo, espere um pouquinho e leve para alto de novo , e um outro bit vai aparecer na saida QH.

Repita este procedimento para ter os oito bits em QH, e volte os dois sinais CLOCK e SHIFT/LOAD para nivel baixo, e pronto, basta repetir todo o processo.

Importante, existem outros pinos que precisam ser definidos no hardware : coloque CLOCK INHIBITI e o SERIAL sempre ambos em nivel baixo.

No seu programa, basta setar os dois sinais da maneira descrita, e ler o nível da entrada onde voce conectou o sinal QH. Simples, não precisa comparar nada, é só ir lendo e fazendo o shift até terminar o loop.

Paulo

Link para o comentário
Compartilhar em outros sites

Olá, Aphawk Muito obrigado pelas Boas Vendas e pela explicação.

 

Na verdade o funcionamento em sí e havia entendido, minha duvida siria referente ao código em C mesmo.

 

Por exemplo, eu preciso comparar os 8bits(lidos do 74165) com outros 8bits dentro do programa, tanto comparar o byte como cada bit, tipo:

 

string valorLido74165;

string valorComparar = "00010000";

 

if(valorLido74165==valorComparar){

}

 

Da mesma forma fazer também compararação se o bit1 de um é igual ao bit1 do outro, gostaria de saber quais as formas de se ler e armazenar esse byte em código C, imagino que fazendo um for para ler cada um e concatenar daria certo, mais existe outras formas de ler e trabalhar com esses dados, assim como tipo da variavels seria string mesmo?  acho q ficou um pouquinho confuso! rsrs

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...