Анализировать пробовал, Л298 по халатности, остальное потому как 0,5А, а с полевиками БП не згорит у него защита есть !
Вот бы кто расказал как их грамотно прилепить к МК с минимум дополнительных деталей!
Для заинтересованых - вот кусок процедуры,вызывается при переполнении таймера0, с чатотой гдето 10кГц
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
if (data==UDR){return;} //если такая команда уже отработана возврат
data = UDR;
motor = UDR&0b00000011; //номер двигателя - первых два бита
command = (UDR&0b00111100)>>2; //схема включения обмоток - 4 бита
if (motor==0) {
PORTA&=0b11110000; //если двиг=1, тогда на младшие биты порта включаем в соответствии со схемой, также и с остальнымы моторами/портами
PORTA|= command;
PORTB.0 = 1;
}else {PORTB.0 = 0;}
if (motor==1) {
PORTA&=0b00001111;
PORTA|=(command<<4);
PORTB.1 = 1;
}else {PORTB.1 = 0;}
if (motor==2) {
PORTC&=0b11110000;
PORTC|= command;
PORTB.0 = 1;
}else {PORTB.0 = 0;}
if (motor==3) {
PORTC&=0b00001111;
PORTC|=(command<<4);
PORTB.1 = 1;
}else {PORTB.1 = 0;}
UDR='+'; //отработано
}
Отредактировано petro_fm (2008-04-25 10:32:40)