اخي العزيز انا اقوم بهذا المشروع , قد قمت بكتابة الكود.
تفضّل الكود :
كود:
sbit Lcd_RS at RD0_bit;
sbit lcd_En at RD1_bit;
sbit lcd_D4 at RD2_bit;
sbit lcd_D5 at RD3_bit;
sbit lcd_D6 at RD4_bit;
sbit lcd_D7 at RD5_bit;
// Pin direction
sbit lcd_RS_Direction at trisd0_bit;
sbit lcd_En_Direction at trisd1_bit;
sbit lcd_D4_Direction at trisd2_bit;
sbit lcd_D5_Direction at trisd3_bit;
sbit lcd_D6_Direction at trisd4_bit;
sbit lcd_D7_Direction at trisd5_bit;
int x=0;
char y[8];
void interrupt()
{
x++;
intcon.b1=0;
}
void main()
{
trisc=0;PORTc=0;trisb.b0=1;
lcd_init();
lcd_cmd(_LCD_CURSOR_OFF);
Lcd_Cmd(_Lcd_Clear);
while(1){
intcon=0b10010000;
delay_ms(1000);
x=x*6;
IntToStr(x,y);
lcd_out(1,1,y);
lcd_out_cp(" RPM");
intcon=0;
x=0;
}
}
اخي انا قمت بكتابته على اساس ان النتيجة تعرض على LCD اضافة الى ان النتيجة تظهر ب كم لفة في الدقيقة ، لان القرص الذي لدي فيه 10 فتحات ، و النتيجة تتجدّد كل ثانية ..
لكن المشكلة التي واجهتها انا هي كيف سآخذ الpulses حيث استعملت LDR و ليزر ، لكن الLDR بطئ. اريد ان استعمل Photo Interrupter لكن لا اعرف كيفية توصيله ..