Devir kontrol yapma ccs compiler. Devir = ( Tur / zaman ) *60 Dönen cismin turu geçen zaman birimi olarak 1 saniye olarak alırsak dakika için 60 ile çarpımından dakikada dönen devir hesabını yapmış oluruz.
#include<16f877a.h>
#fuses hs
#use delay(clock=4m)
#define use_portd_lcd true
//#use rs232(baud=9600,parity=N,xmit=PIN_A0,rcv=PIN_A1,bits=8,stop=1)
#define LCD_ENABLE_PIN PIN_d0
#define LCD_RS_PIN PIN_d1
#define LCD_RW_PIN PIN_d2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include<lcd.c>
unsigned int16 devir=0,hiz=0,sayi=0,i=0;
#int_timer0
void zaman()
{
i++;
set_timer0(60);
if(i==20)
{
sayi++;
i=0;
}
}
#INT_CCP1
void yakala1_kesmesi ()
{
CCP_1_LOW = 0;
devir++;
}
void main()
{
set_tris_c(0xff);
output_c(0xff);
SETUP_CCP1(CCP_CAPTURE_FE);
setup_timer_0(rtcc_internal | rtcc_div_256);
set_timer0(60);
enable_interrupts(INT_CCP1);
enable_interrupts(int_timer0);
enable_interrupts(GLOBAL);
lcd_init();
while(true)
{
hiz = (devir / sayi) * 60;
printf(lcd_putc,"\fDevir: %ld \n ",hiz);
delay_ms(200);
}
}
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...