Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda!Mplab


igorh721

Pergunta

smp.png

Aqui está o esquema, montado no Proteus.

o programa:

#include<18F4520.h>

#use delay(clock=20000000)

#fuses HS,NOWDT,NOMCLR,LVP,NOBROWNOUT

#define s1 input(pin_a0)

#define s2 input(pin_a1)

#define s3 input(pin_a2)

char codigo (int valor)

{

char num [10]=

{

0b00111111,

0b00000110,

0b01011011,

0b01001111,

0b01100110,

0b01101101,

0b01111101,

0b00000111,

0b01111111,

0b01100111,

};

return num [valor];

}

void unidade (int valor)

{

output_d(codigo(valor));

output_high(pin_d3);

}

void main()

{

int x=0

while (1)

{

if(input(pin_a0)==1)

{

delay_ms(500);

x=++;

delay_ms(500);

x=++;

delay_ms(500);

x=++;

delay_ms(500);

x=++;

delay_ms(500);

x=++;

delay_ms(500);

x=++;

delay_ms(500);

x=++;

delay_ms(500);

x=++;

delay_ms(500);

x=++;

delay_ms(500);

}

else

{

output_low(pin_c0);

}

}

}

é pra uma chave contar acrescentar um número até 9, já a segunda é para decrementar...

Alguém pode me ajudar a fazer pelo menos a primeira chave?tá achando erros que só

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá igorh721,

Não dá pra ver direito o ID dos pinos do uC, mas seu código tem umas sintaxes estranhas, pelo menos eu não conheço.

Apesar disso vou tentar ajustar algumas coisas no seu código ok.

Se você tiver interesse, esse outro forum é mais especializado em programação de uC.

http://www.forumnow.com.br/vip/mensagens.a...;tópico=3005345

Abs

#include<18F4520.h>

#use delay(clock=20000000)   // não CONHECO A DIRETIVA "use"
#fuses HS,NOWDT,NOMCLR,LVP,NOBROWNOUT    // NÃO CONHECO A DIRETIVA "fuses"

// VOCE DEFINE s1, s2 E s3 MAS NÃO USA EM LUGAR NENHUM
#define s1 input(pin_a0)
#define s2 input(pin_a1)
#define s3 input(pin_a2)

char codigo (int valor)
{
    char num [10]= {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x67};
   return num [valor];
}

void unidade (int valor)
{
   output_d(codigo(valor));
   output_high(pin_d3);
}

void main()
{
   int x=0

   while (1)
      {
      if (input(pin_a0)==1)
         {
         for (x = 0; x < 10; x++)
             {
              // ACREDITO QUE AS FUNCOES output_d, output_high E output_low DEVEM ENVIAR O SINAL AO DISPOSITIVO DESEJADO CERTO?
             unidade(x);
             delay_ms(500);
             output_low(pin_c0);
             }    
      }    
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...