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:
Postar um comentário