هذا الرابط يحتوي على ملف بروتوس وملف الهكس والكود في الأسفل علما باني استخدم ccs compiler ... واتعامل احيانا بالميكروسي والميكروبيزك...
http://www.mediafire.com/?4ai7y3hwb99sye7
كود:
#include<16f877a.h>
#fuses XT,NOPUT,NOWDT,NOPROTECT,NOBROWNOUT,NOdEBUG,NOLVP,NOCPD
#use delay(clock=4000000)
#include<lcd.c>
set_tris_a(0x05);
set_tris_b(0x01);
set_tris_d(0x00);
set_tris_c(0x00);
INT8 y=0,i=0,x=0,d,v;
#int_ext
void isrext()
{
y++;
}
void main()
{
output_d(0);
Lcd_init();
setup_timer_0(RTCC_DIV_1|RTCC_EXT_H_TO_L); // presacaler=16, Use internal clock
set_timer0(0); // init timer0 to 0
enable_interrupts(int_ext);
enable_interrupts(global);
ext_int_edge(L_to_H);
LOOP:
d=y;
x=get_timer0();
v=x;
i=x-y;
printf(lcd_putc,"\f**#in=%d #out=%d **\n",x,y);
printf(lcd_putc," ** #now=%d **",i);
if (i==5){output_bit(pin_c1,1);while(y==d);output_bit(pin_c1,0);}
if (i!=0){output_bit(pin_c0,1);while(y==d && v==get_timer0());}
if (i==0){output_bit(pin_c0,0);while(y==d && v==get_timer0());}
GOTO LOOP;
}