Pesquisar neste blog

04/05/2022

Gerar frequência de 1KHz com PIC 16F877A

Exemplo1: Gere um sinal quadrado de 1KHz usando a interrupção do TEMPORIZADOR 0

Solução
Para 1KHz é necessário meio período de 500 us. De acordo com a equação de K overflow, usando um cristal de 4 MHz e um prescaler de 2

T = Tcm. Preescaler. (256 - Carregar TMR0)
500 us = (4/4000000).2.(256 - x)
x = 6 *

Código feito em CCS C Compiler

#include <16F877A.h>
#use delay(crystal = 4MHz)
#fuses XT, NOWDT
#use standard_io(B)

#int_TIMER0
void  RTCC_isr(void) {
  output_toggle(PIN_B0);
  set_timer0(0x1B);
}

void main(){
     
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2); 
   set_timer0(0x1B);
   enable_interrupts(INT_TIMER0); // habilita a chave timer0
   enable_interrupts(GLOBAL);   // habilita a chave geral

   while(TRUE) ; 

}











Nenhum comentário: