السلام عليكم اليك اخي برنامج على ميكرو سي اللذي يمكنك من تغيير السرعة بواسطة الازرار زر لزيادة سرعة الموتور و زر لانقاصها البيك المستعمل pic16f877 استعملت المقاطعة على RB4 RB5 و استعملت sou programe من اجل تغيير سرعة الموتور حالما تضغط على احد الزرين المثبثان على RB5 RB4 و لاحض بعد كل حركة للموتور هناك مناداة لبرنامج السرعة
void vitesseM1()
{
for(b=a;b>0;b--)
{
delay_ms(2);
}
void interrupt()
{
if(INTCON.B0==1)
{
if (PORTB.B4==0) { a++; }
if (PORTB.B5==0) { a--; }
}
INTCON.B0=0;
if(a==0) a=1;
if(a==20) a=19;
}
void main() {
TRISB=0xff;
TRISC=0x00; PORTC=0;
TRISD=0xff;
adcon1=0x06;
TRISA=0xff;
INTCON=0b10001000;
a=1;
for(;
{
while(PORTD.B0==0)
{
if(PORTD.B0==0) {PORTC=0b00001100; vitesseM1();}
if(PORTD.B0==0) {PORTC=0b00000110; vitesseM1();}
if(PORTD.B0==0) {PORTC=0b00000011; vitesseM1();}
if(PORTD.B0==0) {PORTC=0b00001001; vitesseM1(); }
ff=1;
}
while(PORTD.B1==0)
{
if(PORTD.B1==0) {PORTC=0b00001001; vitesseM1();}
if(PORTD.B1==0) {PORTC=0b00000011; vitesseM1();}
if(PORTD.B1==0) {PORTC=0b00000110; vitesseM1();}
if(PORTD.B1==0) {PORTC=0b00001100; vitesseM1();}
ff=1;
}
}
}