Ir ao conteúdo
  • Cadastre-se

welton_udi

Membro Júnior
  • Posts

    11
  • Cadastrado em

  • Última visita

posts postados por welton_udi

  1. ol boa noite, infelizmente nao consegui entender totalmente o codigo, as tabelas eu entendi mas por pra funcionar, nao deu. eu fiz um de uma outra forma mas nao rodou bem nao,  olha ai

     

    #define bot ra0_bit
    #define led1 rb0_bit
    #define led2 rb1_bit
    #define led3 rb2_bit
    #define led4 rb3_bit
    #define led5 rb4_bit
    #define led6 rb5_bit

    int x;


    void main() {

         trisa = 0b11111111;
         trisb = 0b00000000;
         portb = 0;


    while(1)
     {

       
       if(bot==1)
       {
       x=x+1;
       delay_ms(200);

       if(x==1){led6=1;delay_ms(100);
                led5=1;delay_ms(100);
                led4=1;delay_ms(100);
                led3=1;delay_ms(100);
                led2=1;delay_ms(100);
                led1=1;delay_ms(100);
                led6=0;led5=0;led4=0;
                led3=0;led2=0;led1=0;
                delay_ms(200);
                }
       if(x==2){led1=1;delay_ms(100);
                led2=1;delay_ms(100);
                led3=1;delay_ms(100);
                led4=1;delay_ms(100);
                led5=1;delay_ms(100);
                led6=1;delay_ms(100);
                led6=0;led5=0;led4=0;
                led3=0;led2=0;led1=0;
                delay_ms(200);
                }
       if(x==3){led3=1;led4=1;delay_ms(100);
                led2=1;led5=1;delay_ms(100);
                led1=1;led6=1;delay_ms(100);
                led6=0;led5=0;led4=0;led3=0;
                led2=0;led1=0; delay_ms(200);
                }
       if(x==4){led6=1;led4=1;led2=1;delay_ms(200);
                led6=0;led4=0;led2=0;
                led1=1;led3=1;led5=1;delay_ms(200);
                led1=0;led3=0;led5=0;

                }
       if(x==5){led6=1;delay_ms(50);
                led6=0;led5=1;delay_ms(100);
                led5=0;led4=1;delay_ms(100);
                led4=0;led3=1;delay_ms(100);
                led3=0;led2=1;delay_ms(100);
                led2=0;led1=1;delay_ms(100);
                
                led1=0;led2=1;delay_ms(100);
                led2=0;led3=1;delay_ms(100);
                led3=0;led4=1;delay_ms(100);
                led4=0;led5=1;delay_ms(100);
                led5=0;led6=1;delay_ms(100);
                led6=0;
                }
       if(x==6){led1=0;led2=0;led3=0;led4=0;
                led5=0;led6=0;
                 x=0;
                }


       }

    nao funcionou bem nao , tem hr que aperta nao muda o tipo de piscada.

     

    obrigado

  2. ola, agora que confundi tudo mesmo, :tw_astonished:. mas vou tentar entender esse codigo ai, vou tenta joga no mikroc e volto pra ve se consegui entender e por pra funcionar, obrigado.mtos codigos ai num vi nem na apostila que to estudando ainda .

    3 horas atrás, Isadora Ferraz disse:

    Claro... vejamos...

    Use tabela. Algo como
     

    
    unsigned char const tabela_efeito[]=
    {
    0b10000000, //efeito 1
    0b01000000,
    0b00100000,
    0b00010000,
    0b00001000,
    0b00000100,
    0b00000010,
    0b00000001, //a cada 8, próximo efeito:
    //esq p dir
    0b00000001, 
    0b00000010, 
    //...
    0b10000000,
    //...efeito 2
    0b11000000,//de 2 em 2
    0b00110000, 
    
    //e por aí vai
    0b10101010, //efeito x
    //...
    0b01010101
    }

    E coloque os dados no port
     

    
    #define numero_de_efeitos 6
    unsigned char i=0,n=0;
    for(;;)
    {
    i=0;
    while(i++>7)
    {
    PORTB=tabela_efeito[i+n];//localiza o efeito
    delay (1000);//intervalo
    if (botao) n+=8;//próximo efeito
    if (n>=numero_de_efeitos*8) n=0;//volta no 1º efeito
    }
    }

    Entendeu? Então me explica...

     

  3. muitiiisssimo obrigado,tava estudando um pouco mas e muito complicado rsrsr. o tem muito comando dificeis de interpretar, obrigado..

    obrigado.

     

    adicionado 1 minuto depois

    @Isadora Ferraz  deixa ti fazer mais uma pergunta, o arquivo .hex tem alguma forma de eu ler ele? tipo abrir no proteus pra ver os comandos. eoutra coisa,.se conhecer algum grupo de programacao que aceitem novato . se puder me indicar ti agradeco. 34 99903-6885.

     

    obrigado....

  4. ola boa noite, sou novato no site , e estou comecando a aprender sobre programacao pic. e estou precisando de fazer um circuito que um botao ao pressionar acenda o led, e ao pressionar novamente apague o mesmo, ate ai consegui, so que no projeto contem 5 botões e 5 leds um para cada. e nao consegui fazer funcionar, se alguem puder me ajudar agradeco muito.

    pic 16f628a. 4mhz

     

     

    char variavel = 0; //DECLARA UMA VARIÁVEL DE VALOR 0

    void main()
    {
      TRISB.B0 = 1;//DEFINE O PINO RB0 COMO ENTRADA
      TRISB.B1 = 0;//DEFINE O PINO RB1 COMO SAÍDA
      PORTB.B1 = 0;//DEFINIMOS UM VALOR INICIAL PARA A SAÍDA RB1 0


            while(1)// LOOP INFINITO OU LAÇO INFINITO
      {
            if (PORTB.B0 == 1)// SE O BOTÃO FOI PRECIONADO
        {
        variavel = 1; //INDICA QUE O BOTÃO FOI PRECIONADO
        }
            if( PORTB.B0 == 0 && variavel == 1)//SOLTEI O BOTÃO
         {
            PORTB.B1 =~ PORTB.B1;//INVERTE O ESTADO DA SAÍDA
            variavel = 0;//VARIAVEL RETORNA AO VALOR 0
        }

       }
    }

     

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!