Ir ao conteúdo
  • Cadastre-se

Israel Teixeira

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

0
  1. Ola pessoal, estou com um projeto onde preciso fazer a leitura de rotação de um motor DC com encoder e estou utilizando interrupção do timer1, mas quando o encoder fica em nivel lógico alto mesmo com o motor parado meu programa entende que meu motor esta girando. Gostaria de saber se existe algum comando para que somente na borda de subida da minha entrada digital eu venha estar recebendo esse pulso do encoder. Estou utilizando o PIC18f4550 com o MikroC. Abraços !
  2. Estou utilizando o LCD 16x2 da placa eletronica easypic v7, mas nao funciona no protoboard junto ao pic18f4550, nao aparece nada na tela, somente os quadrados. alguem sabe se esse LCD é especifico somente para essa placa ?
  3. psé, vou estudar aos poucos até integrar o RFID com o pic. Obrigado !
  4. Estou estudando sobre RFID e preciso fazer a comunicação entre o RFID e o microcontrolador pic18f4550. Não acho em nenhum lugar um material para aprender a programar no MikroC. Gostaria de pedir algumas dicar de como fazer isso, ou até mesmo alguma apostila referente ao assunto, Obrigado !
  5. huum, entendi. usei outra função e funcionou. Mas o esquema do delay_ms que você disse ali é interessante, vou ve certinho isso. Obrigado...
  6. sim, é o mesmo delay_ms, nao percebi que um estava com letra Maiuscula. Sou novo em programação, e pelo que vi até agora nao faz mal usar delay_ms em varios locais do programa, ainda mais com uma aplicação simples dessa.
  7. O programa funciona da seguinte forma: Fica piscando um led (RA0), e ao apertar o botao (RB5) é executado a função de interrupção, que acende um led (RA1) por 300ms e limpa a flag de interrupção externa, fazendo com que o programa saia da interrupção, mas nao é isso que esta aconcende. Ao apertar o Botao, o led (RA0) deixa de piscar e o led (RA1) acende, mas nao apaga mais, ou seja, o programa nao esta saindo da interrupção. void interrupt (){ PORTA.RA1 = 1; delay_ms(300); PORTA.RA1 = 0; INT0IF_bit = 0; // Limpa flag de interrupção externa; } void main() { TRISA = 0x00; PORTA = 0x00; TRISB = 0xFF; PORTB = 0x00; GIE_bit = 1; //habilita interrupção global RBIE_bit = 1; //habilita interrupção na porta RB INTEDG0_bit = 1; //interrupção externa INT0 na borda de subida PEIE_bit = 0; //desabilita interrupção por periferico INT0IF_bit = 0; TRISB = 0xFF; PORTB = 0x00; while(1){ PORTA.RA0 = 1; Delay_ms(200); PORTA.RA0 = 0; Delay_ms(200); } }

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