1 и 4 кнопка старт кода - суть есть аппаратная, нога reset.
дальше например:
CODE:
while (1)
{
but_pres=0;
while(but_pres==0)
{
but_pres=get_button()
} //будет стоять и ждать кнопки.
if (but_pres==1){drill(1);}
if (but_pres==2){drill(10);}
}
void drill (char count_drills)
{
for (i=0; i<count_drills;i++)
{
IOA0=1;
while(IOA5==0) {}; //ждать ограничителя
IOA1=1; //IOA0 отключать не надо?
delay_ms(10000);
IOA2=1;
while(IOA6==0) {}; //ждать ограничителя
delay_ms(1000);
}
}
сие есть код примерный, для формирования общей стратегии...
например IOA0=1; может быть PORTA(0)=1; или еще как нибудь (всё зависит от компилятора и библиотек), delay_ms - тоже может называться по другому, а get_button делать надо.
теперь за транзистор: если это маленький желтый мотор-редуктор, то его можно запускать большим транзистором, если это дрель на 220, то ее можно запускать симистором .... |