Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
Fjpompeo

PIC no lugar de uma EPROM

Recommended Posts

Boa tarde a todos,

 

Sou rádio amador e preciso simular uma EPROM usando um PIC16F628a ou seja um determinado código binário de oito bits na entrada corresponderá a um outro de sete bits na saída. Tive uma dica de um colega da Inglaterra de um código em assembler mas infelizmente meus conhecimentos são mínimos e não consegui adaptar o exemplo às minhas necessidades. Segue abaixo o código do colega inglês:

 

movf PORTA,w

call lookup

movwf PORTB

 

lookup:

addwf PCL,f

DT xx, xx, xx, xx, xx, xx, xx .... and so on

Como eu uso a instrução DT, o que significa?

O que escrevo no lugar dos xx e como é possível fazer as comparações usando a instrução addwf e montar alguma tabela

 

 

Exemplos:

              HGFEDCBA     GFEDCBA

Entrada 00001101 sai 0001101;

Entrada 10001101 sai 1101101;

Entrada 01101101 sai 1101101;

Entrada 11101101 sai 1111001;

 

Preciso saber quais pinos correspondem as entradas HGFEDCBA e quais correspondem as saídas GFEDCBA.

 

 

Obrigado,

Fernando

 

Esquema PIC16F628a como EPROM.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

What prevents you from asking your english colleague?

 

As entradas são RA7 a RA0 e as saídas RB6 a RB0. Hás de acopla-los aos pinos correspondentes A7...A0 e os D6...D0

de sua eprom

 

se servisse em c...
 

for(;;)
switch (PORTA)
{
case 0b00001101: PORTB=0b0001101; break;
case 0b10001101: PORTB=0b1101101; break;
case 0b01101101: PORTB=0b1101101; break
case 0b11101101: PORTB=0b1111001; break;
//and so on
}

too easy

 

good luck

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei porquê mas me deu vontade registrar mais isso...

 

de fato o algoritimo abaixo simula melhor uma eprom além de ser mais rápido. É praticamente o mesmo que seu colega gringo lhe propôs mas em c, menos difícil de entender e creia-me, pode ocupar os mesmos recursos como se fosse feito em assembly

unsigned char const tabela[]=
{
0b0001010, //0º byte
0b1001011, //1º byte
0b0101011, //2º byte 
0b0011010, //3º byte
0b0001111, //4º byte
0b0111011, //5º byte
0b0001010, //6º byte
0b1001011, //7º byte
0b0101011, //8º byte
0b0011010, //9º byte
0b0001111, //10º byte
0b0111011, //11º byte
//...
0b0001101, //Entrada 00001101=0x0d=12º byte => sai 0001101;
//...
0b1101101, //Entrada 01101101=0x6d=109º byte => sai 1101101;
//...
0b1101101, //Entrada 10001101=0x8d=141º byte => sai 1101101;
//...
0b1111001, //Entrada 11101101=0xed=237º byte => sai 1111001;
//...
}
for(;;) PORTB=tabela[PORTA];

Talvez você deva precisar de alguma ajuda para posicionar o dado que quer na saída no endereço correto. O excel pode te ajudar nisso em 2 palitos ordenando-os.

Entendeu? Então me explica porquê nem eu entendi nada kk

 

Bem.. pode ser que dê certo. Se algum dia quiser tentar, publique os todos os dados (bytes eprom). Quiçá aguça a curiosidade de outrem também...

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×