Ir ao conteúdo

Posts recomendados

Postado

Como configurar o timer0 do pic 12f1822 para piscar um led na frequencia de  um segundo usando CCS Compiler? 

#include <gf.h>
int time = 0;//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#INT_TIMER0
void  TIMER0_isr(void) 

{
 time ++;//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
//}
//set_timer0(6);
set_timer0(0); 
clear_interrupt(int_timer0);
//set_timer0( 15369 + get_timer0());   //;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
//Inicialização da contagem para o proximo ciclo de interrupcao com 15369
//get_timer_0() compensa o tempo de execucao das operacoes do timer ( delay_ms(50) )
}
void main()
{
   setup_adc_ports(sAN1|sAN2|sAN3);
   setup_adc(ADC_CLOCK_INTERNAL);
   
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256|RTCC_8_bit);      //65,5 ms overflow
   clear_interrupt(int_timer0);    //;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

   enable_interrupts(INT_TIMER0);
   enable_interrupts(GLOBAL);
   //set_timer0( 15369);                                      //;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   //set_timer0(6);
   set_timer0(0);                                      //;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   while(TRUE)
   {
       if (time < 7)
      {
       output_high(pin_a0);
       output_high(pin_a5);
     } 
      if (time > 7) 
    {
       output_low(pin_a5);
       output_low(pin_a0);
     }
      if (time > 14 )
     { time = 0; 

     }
      }
       }
 

 

  • Curtir 1
  • 4 semanas depois...
Postado

Code:

#include <main.h>
int contador = 0;
#INT_TIMER1
void  TIMER1_isr(void)
{
contador++;
if(contador==1)
{
output_toggle(pin_a5);

contador = 0;
}
set_timer1(3036); // 0,5 segundo
clear_interrupt(int_timer1);
   }

void main()
{
   setup_adc_ports(sAN1|sAN2|sAN3);
   setup_adc(ADC_CLOCK_INTERNAL);
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);      //524 ms overflow
   set_timer1(3036);

   enable_interrupts(INT_TIMER1);
   enable_interrupts(GLOBAL);

//0,5s = 1us x 8 x(65536- carga TRM1)
// carga TRM1 = 65536 - 500000/8us
// carga TRM1 = 65536-62500
//carga TRM1 = 3036



   while(TRUE)
{
  }
    }

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!