CCS ile Devir Saati -RPM Metre-

perçin

Üye
Katılım
17 Ağu 2009
Mesajlar
26
Puanları
1
Yaş
57
Konum
ANKARA_OSTİM
Kod:
#include "E:\ccs_elektrik\rpm_lcd_1.h"

//************************ (R-P-M)  irfan perçin ************************

#fuses HS,PROTECT,NOWDT,NOPUT,NODEBUG,NOBROWNOUT,NOLVP,NOCPD,NOWRT
#include <math.h>
#use delay(clock=4000000)
#include <lcd_4.c>  //sizde  <lcd.c> kullanabilirsiniz(doya içerisindeki pin ayarı yapmak gerekiyor) 
#define HASSASIYET 50            //  (  50)Kac milisaniyede bir rmp hesabı yapılacak

int32 numPulses = 0;
int32 rpm = 0;
int32 cntTimerInt = 0;

#int_EXT
void ext_kesmesi() 
{
  numPulses++;; 
}

#int_timer0
void timer0_kesmesi()
 {
      cntTimerInt++;
   if(cntTimerInt == HASSASIYET / 2)            // (  2  )[HASSASIYET / 10ms] tane kesme gelince rpm'yi guncelle
   {
   
   
      rpm = numPulses * (50 / HASSASIYET) *60;   // (50 / HASSASIYET)*60 ; 
      numPulses = 0;
      cntTimerInt = 0;
   }
  
   
   set_timer0(100);   // "RTCC_DIV_256 ve kristal 20MHz" oldugunda 13.1 mili saniyede bir kesme veriyor.  (100)
 }                     // Eger set_rtcc(60) denirse kesmeler

#inline                
void lcd()
{

       lcd_gotoxy(1,1);         
       printf(lcd_putc,"RPM="); 
 //--------------------------------
 lcd_gotoxy(12,1);         
       printf(lcd_putc,"dk/dv"); 
 
 //-------------------------
       lcd_gotoxy(6,1);         
       printf(lcd_putc,"lu" rpm);
//----------------------------------

        lcd_gotoxy(3,2);         
       printf(lcd_putc,"PERCIN ELEK.");
  
}
  

#inline
void main()                      
{
   setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); //20Mhz'de 13.1ms de kesme verir
   ext_int_edge(L_to_H);
   enable_interrupts(INT_EXT);
   enable_interrupts(INT_RTCC);
   enable_interrupts(GLOBAL);

   
 lcd_init();
   for(;)
   {
     lcd();
   }
}
 
Moderatör tarafında düzenlendi:
anlamadığım olay devre şeması olmadıktan sonra proğram kodlarının fazla işe yaramayacağını bilmiyormusunuz???
 
#include <lcd_4.c> //pin bağlantısı

#define LCD_DB4 PIN_b4
#define LCD_DB5 PIN_b5
#define LCD_DB6 PIN_b6
#define LCD_DB7 PIN_b7

#define LCD_E PIN_c0
#define LCD_RS PIN_c1
#define LCD_RW PIN_c2

rbo tetikleme ucu...

hepsi bu yani basit
 

Forum istatistikleri

Konular
128,165
Mesajlar
915,610
Kullanıcılar
449,931
Son üye
mecuxell

Yeni konular

Geri
Üst