Ir ao conteúdo
  • Cadastre-se

Arnolds

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por Arnolds

  1. Olá pessoal,

     

    Tenho um projeto para meu curso técnico que apresentarei um radar, porém estou com problemas a respeito da interrupção

    Meu sensores são dois infravermelhos e dois fototransistores, ja com a saída condicionada para 3.3v (para entrada do MSP.

    O radar é basicamente uma pista com estes sensores (separados por 26.55mm) onde o carrinho passa por eles e o microcontrolador deve

    registrar a velocidade (26.55mm/tempo).

    O sensor A eu joguei ele na porta 1.0, uma I/O , e quando setado ela deveria gerar uma interrupção e neste função zerar o TIMERA0.

    O sensor B joguei ele na porta 1.1, entrada do TIMERA0, quando gerar uma interrupção ele deve registrar o valor do timer em TACCR0 que logo em seguida em coloca na variavel "tempo".

     

    este é um fragmento do meu programa (tem mais coisas, como funções do display e delay)

    porém o programa nao registra nada quando ligo e testo. Gostaria de uma ajuda. Obrigado

     

    #pragma vector= TIMERA1_VECTOR
    __interrupt void TIMERA1(void)
    {
      TACTL |= 0x0004;
      tempo = TACCR1;
      tempo = tempo*0.00003051757813;
      velocidade = 26.55/tempo;
      BCD = velocidade;
      BINDEC ();
      DECASC ();
      TACCTL1 &= 0xFFFE;
    }
     
    #pragma vector= PORT1_VECTOR
    __interrupt void PORT1(void)
    {
      TACCTL0 |= 0x0001;
      tempo = TACCR0;
     }
    int main( void )
    {
      // Stop watchdog timer to prevent time out reset
      WDTCTL = WDTPW + WDTHOLD;       
      P1DIR &= 0xFC;        // Define P1.0 e P1.1 como entrada 
      P1SEL |= 0x02;        // Habilita funcão especial da P1.1
      BCSCTL1 = 0x46;       //Registro de Controle de Clock e Oscilador
      BCSCTL2 = 0x08;       //Registro de Controle de Clock e Oscilador
      TACTL = 0x0120;       // Controle do Timer A; Clear resetado; Modo Contínuo; clock p/ timer; ACLK
      TACCTL0 |= 0x7918;     //Controle de Captura;Borda de subida;Sincronizar com clock;Modo captura;Habilita Interrupção;CCi habilitado;Capturar o valor do time desabilitado
      asm("EINT");
      for(;;){
        }
      return 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!