Palxta 0 Жалоба Опубликовано 14 февраля, 2022 Третий день бьюсь над созданием регулятора мощности. Идея такая. Кнопочками выбираем от 0 до 100 уровень мощности, на выходе светодиод и т.д..... скажем при установке 90% светодиод 90 периодов времени светит , 10 периодов нет. Вроди как просто, но при попытке создания, тот светодиод ведет себя не адекватно, то 50*50 периодов включается, то как задано... разные пути пробовал, не выходит ничего.... Принцип строил такой; КНОПКИ if k1 = 0 and k2 = 1 then must = must + 1 if must > 100 then must = must - 1 endif if k1 = 1 and k2 = 0 then must = must - 1 if must < 20 then must = must + 1 endif write 5, must PAUSE 10 Mrab = must mpau = 100- must return отсчет периодов (м - включение в 1 по программе, out - светодиод, must - переменная установки вых. мощности, mrab - переменная времени работы, mpau- переменная паузы) if m = 1 then if mpau >0 then mpau = mpau - 1 out = 0 endif if mrab = 0 then mpau = 100 - must mrab = must endif if mpau = 0 then mrab = mrab - 1 out = 1 endif endif Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Palxta 0 Жалоба Опубликовано 14 февраля, 2022 Ща создаю схемку в протеусе с 7ми сегментником, и прошивку... чуть позже выложу Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Evgeniy 280 Жалоба Опубликовано 14 февраля, 2022 в 628 контроллере встроен аппаратный модуль ШИМ, поэтому с ним проблем вообще не должно быть проблем. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Palxta 0 Жалоба Опубликовано 17 февраля, 2022 Как и обещал REGULJATOR.pdsprj REGUL.pbp Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Evgeniy 280 Жалоба Опубликовано 18 февраля, 2022 Попробуй так regulator.zip Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Palxta 0 Жалоба Опубликовано 21 февраля, 2022 Оч. интересно... но только учусь, сейчас как раз изучаю прерывания... сложно пока) хочу перейти на пик 676 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Evgeniy 280 Жалоба Опубликовано 21 февраля, 2022 Да ничего сложного там нет. Просто нужно разобраться. Для расчёта таймеров на винду есть программа PIC Timer Calculator. Есть сайты, где можно рассчитать частоту или период срабатывания таймеров. Либо их задать, и получить всё настройки. Прерывания у всех PIC-ов одинаковые, отличие лишь в наличии или отсутствии тех или иных устройств внутри микроконтроллеров. Например Timer2 или Timer3 отсутствует в 628 и 676 микроконтроллере. В 676 есть аналоговый вход, есть и прерывание, связанное с ним. На 16f84, 16f628, 12f629, 12f675 есть даташиты на русском языке. Рекомендую их почитать. Там расписаны всё регистры, что за что отвечает. Всё что там написано распространяется и на остальные микроконтроллеры микрочип. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты