Решил на досуге посмотреть - нашел один баг и несколько несоответствий
Инициализация железа:
reset:
ldi r25,0x00
out DDRD,r16
А должно быть наверное вот так, если имелось в виду назначение порта D входом:
reset:
ldi r25,0x00
out DDRD,r25
Цикл 3
loop3: ; цикл TEST всех форсунок ПРОИЗВОДИТЕЛЬНОСТЬ
ldi r29,250 ;количество импульсов в цикле Важно !!! подбирать по проливу до 10 мл
sst:
ldi r28,0b00001111
out PORTB,r28 ;открыть форсунки
А правильнее было бы наверное (судя по тому что во всех остальных местах программы так) вот так
loop3: ; цикл TEST всех форсунок ПРОИЗВОДИТЕЛЬНОСТЬ
ldi r29,250 ;количество импульсов в цикле Важно !!! подбирать по проливу до 10 мл
sst:
ldi r28,0b00000000
out PORTB,r28 ;открыть форсунки
То же касается и loop44
loop44: ; цикл TEST всех форсунок
ldi r29,167 ; уже подогнал под 10 мл
ste:
ldi r28,0b00000000
Ну и loop4 можно поправить так:
loop4:
ldi r21,0b01111111
out PORTB,r21
Del10mc
ldi r21,0b11111111
out PORTB,r21
Del10mc
ldi r21,0b10111111
out PORTB,r21
Del10mc
ldi r21,0b11111111
out PORTB,r21
Del10mc
ldi r21,0b11011111
out PORTB,r21
Del10mc
ldi r21,0b11111111
out PORTB,r21
Del10mc
ldi r21,0b11101111
out PORTB,r21
Del10mc
ldi r21,0b11111111
out PORTB,r21
Del10mc
ldi r21,0b11110111
out PORTB,r21
Del10mc
ldi r21,0b11111111
out PORTB,r21
Del10mc
ldi r21,0b11111011
out PORTB,r21
Del10mc
ldi r21,0b11111111
out PORTB,r21
Del10mc
ldi r21,0b11111101
out PORTB,r21
Del10mc
ldi r21,0b11111111
out PORTB,r21
Del10mc
ldi r21,0b11111110
out PORTB,r21
Del10mc
ldi r21,0b11111111
out PORTB,r21
Del10mc
После таких переделок можно использовать данный девайс для 8 каналов одновременно :)