Ir ao conteúdo

JUNIOR_013

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. boa tarde galera td bem estou ffazendo uma experiencia no mikroc queria saber se alguem consegue me ajudar eu preciso apertar o botao uma vez e depois nao conseguir mais apertalo ate que eu aperte outro botao e soa apertar esse outro botao uma vez também ate que eu aperte o primeiro novamente talvez uma especie de inter travamento se alguem conseguir me ajudar valeu rapaziada ............ /*PROJETO CONTROLADOR DE MOTOR DE PASSO VERSÃO 2 DESENVOLVIDO POR: FRANCISCO CELSON DATA:03/02/2020 */ unsigned int passo =0; // variavel para contagem dos passos void main() { TRISA=1; // PORTA TODO COMO ENTRADA PORTA=0b11110011; // INICIA RA2 E RA3 EM NIVEL LOGICO BAIXO OS OUTROS EM NIVEL LOGICO ALTO TRISB=0b00000000; // PORTB TODO COMO SAIDA PORTB=0; // PORTB TODO EM NIVEL LOGICO BAIXO CMCON=7; // DESABILITA COMPARADORES while(1) { if (button(&PORTA, 0 ,50 ,0 ) ) // avança --> SE RA0_bit delay 50ms for ==0 { // open if for(passo=0; passo<500; passo++) // lopp finito para contagem dos passos { // for e verdadeiro ? sim..... //-------------------------------PASSO 1 --------------------------------------- RB0_bit=1; RB1_bit=0; RB2_bit=0; RB3_bit=1; delay_ms(1); //-------------------------------PASSO 2 --------------------------------------- RB0_bit=0; RB1_bit=1; RB2_bit=0; RB3_bit=1; delay_ms(1); //-------------------------------PASSO 3 --------------------------------------- RB0_bit=0; RB1_bit=1; RB2_bit=1; RB3_bit=0; delay_ms(1); //-------------------------------PASSO 4 --------------------------------------- RB0_bit=1; RB1_bit=0; RB2_bit=1; RB3_bit=0; delay_ms(1); } // end for if( passo>=500 ) // se a minha variavel for maior que o valor de passos { // desliga motor RB0_bit=0; RB1_bit=0; RB2_bit=0; RB3_bit=0; } // end if } // end if botão avança //================================================================================= if (button(&PORTA, 1 ,50 ,0 )) // retorna --> SE RA1_bit delay 50ms for ==0 { // open if for(passo=0; passo<500; passo++) // loop finito { // for e verdadeiro ? sim..... //-------------------------------PASSO 4 --------------------------------------- RB0_bit=1; RB1_bit=0; RB2_bit=1; RB3_bit=0; delay_ms(1); //-------------------------------PASSO 3 --------------------------------------- RB0_bit=0; RB1_bit=1; RB2_bit=1; RB3_bit=0; delay_ms(1); //-------------------------------PASSO 2 --------------------------------------- RB0_bit=0; RB1_bit=1; RB2_bit=0; RB3_bit=1; delay_ms(1); //-------------------------------PASSO 1 --------------------------------------- RB0_bit=1; RB1_bit=0; RB2_bit=0; RB3_bit=1; delay_ms(1); } // end for if( passo>=500 ) // se a minha variavel for maior que o valor de passos { // desliga motor RB0_bit=0; RB1_bit=0; RB2_bit=0; RB3_bit=0; } } // end if botão retorna } // end while } // end void main
  2. boa tarde galera td bem estou ffazendo uma experiencia no mikroc queria saber se alguem consegue me ajudar eu preciso apertar o botao uma vez e depois nao conseguir mais apertalo ate que eu aperte outro botao e soa apertar esse outro botao uma vez também ate que eu aperte o primeiro novamente talvez uma especie de inter travamento se alguem conseguir me ajudar valeu rapaziada ............

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