timer kesmesi kullanıldı
denetleyici 16f877a kullanıldı.
#include<16f877a.h>
#fuses hs
#use delay(clock=4m)
#include<lcd.c>
int16 ta,tb,timer;
float t,period,f;
#INT_EXT
void RB0()
{
ta=get_timer1();
timer=ta-tb;
tb=ta;
}
void main()
{
SETUP_TIMER_1(T1_INTERNAL | T1_DIV_BY_8);
EXT_INT_EDGE(0,L_TO_H);
enable_interrupts(int_ext);
enable_interrupts(GLOBAL);
lcd_init();
while(true)
{
lcd_gotoxy(1,1);
t=4.0*8.0/4000000.0;
period=t*timer;
f=1/period;
printf(lcd_putc,"timer=%lu",timer);
printf(lcd_putc,"\nf=%fhz",f);
}
}
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...