#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT
#use delay(clock=4000000)
#include
#include
#BIT T0IF = 0x0B.2
int sayac,artan;
long hiz,konum;
int16 value;
#INT_rtcc
clock_isr()
{
if(T0IF)
{
artan=0;
sayac=sayac+1;
if(sayac==15)
{
hiz=get_timer1();
hiz=hiz*1.4;
lcd_gotoxy(0,1);
printf(lcd_putc," HIZ :%4LU d/d ",hiz);
sayac=0;
artan=get_timer1()%15;
set_timer1(0);
}
}
}
void main()
{
konum=0;
artan=0;
hiz=0;
sayac=0;
enable_interrupts(GLOBAL);
enable_interrupts(INT_RTCC);
set_timer0(0);
setup_timer_0(RTCC_DIV_256);
set_timer1(0);
setup_timer_1(T1_EXTERNAL);
ext_int_edge( 1,H_TO_L );
lcd_init();
setup_timer_2(T2_DIV_BY_4, 1023, 1);
setup_ccp1(CCP_PWM);
setup_port_a(ALL_ANALOG);
setup_adc(adc_clock_internal);
set_adc_channel(0);
for(;; )
{
value=read_adc();
value=value*4;
set_pwm1_duty(value);
konum=(artan+get_timer1())%15;
konum=24*konum;
lcd_gotoxy(0,0);
printf(lcd_putc," KONUM : %3LU der ",konum);
}
}