astral_ 0 1 апреля, 2021 Опубликовано 1 апреля, 2021 · Жалоба Здравствуйте, мне нужно управлять четырехфазным шаговым двигателем, вперед-назад, схему на ATmega8 я собрал, контроллер прошил, но неудобно без индикации оборотов на трехразрядном индикаторе. Я узнал, что такое динамическая индикация, добавил в цикл управление индикатором, но программа не работает. if (PINB==0b11111110) { PORTC=0b0000100; _delay_ms(500); PORTC=0b0001000; _delay_ms(500); PORTC=0b0010000; _delay_ms(500); a++; number(a); PORTD=digit[razr1]; PORTB=0b00000100; _delay_ms(30); PORTD=digit[razr2]; PORTB=0b00001000; _delay_ms(30); PORTD=digit[razr3]; PORTB=0b00010000; } Без индикации работает, а в таком виде только один цикл, ШД делает один оборот и все. МК только начинаю осваивать, программу для моей задачи пока не нашел потому написал исходя из своей логики. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 56 1 апреля, 2021 Опубликовано 1 апреля, 2021 · Жалоба 2 minutes ago, astral_ said: PINB==0b11111110 Очевидно, это условие перестаёт выполняться после манипуляций с портом B. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
astral_ 0 1 апреля, 2021 Опубликовано 1 апреля, 2021 (изменено) · Жалоба Точно. Я подключил разряды к порту С, индикатор показывает обороты, но есть другая проблема, поскольку индикация включена в цикл при остановке двигателя, когда цикл прекращается, прекращается и динамическая индикация, на индикаторе остается только последняя цифра. Индикация оборотов двигателя трехразрядным индикатором задача не редкая, может есть какие-то типовые решения? Подскажите, чтобы я не изобретал велосипед. Изменено 1 апреля, 2021 пользователем astral_ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 29 1 апреля, 2021 Опубликовано 1 апреля, 2021 · Жалоба Велосипед вам изобретать всё равно придётся, главное чтоб колёса не были треугольными ;-) Подумайте об управлении с кнопочек, тогда воспользовавшись таймером (свободный таймер остался ведь?) вы реализуете и независимую от мотора динамическую индикацию и антидребезг у кнопок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
astral_ 0 1 апреля, 2021 Опубликовано 1 апреля, 2021 · Жалоба Попробую применить таймер, других идей нет, а работа стоит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться