Поочерёдное включение светодиодов

Тема в разделе "Микроконтроллеры AVR", создана пользователем Джалил, 4 мар 2018.

Метки:
  1. Джалил

    Джалил Нуб

    Так ещё надо реализовать длительность импульса в 1 секунду для каждого переключения
     
  2. Airbus

    Airbus Радиохулиган Модератор

    Ну да самый простой путь.Все остальное перечислили.Таймеры вачдоги там гегистры это думать надо
    Blink модифицировать и будет Вам Щастье!
     
    CYITEP_BAC9I и Джалил нравится это.
  3. ELITE

    ELITE Гик

    ТС под "таймер" имеет ввичу просто считалку времени между включениями...
    и по сути ему будет 0.490 или 0.51 секунды - не имеет особого значения
     
  4. CYITEP_BAC9I

    CYITEP_BAC9I Гик

    Если нужен скетч, то в закажу проект. на delay()-х напишу в течении 10 минут за 1000р, на таймерах дороже)
    (шутка)
     
    Airbus нравится это.
  5. Джалил

    Джалил Нуб

    Надо на asm)
     
  6. Airbus

    Airbus Радиохулиган Модератор

    У меня была тестовая прошива для Меги8 на исправность портов.При старте поочередно зажигались и гасли все порты и после того как каждый мигнул по разу все сразу зажигались символизируя конец проверки.Обычные битовые операции задержка по таймеру фьюзы по дефолту писал на Асме.
     
  7. Airbus

    Airbus Радиохулиган Модератор

    Смысл?Даже в Меге 8 ресурсов больше чем.Сами напишите или вот Васе поручите.
     
  8. mcureenab

    mcureenab Гуру

    Так подожди два раза по 0.5 прежде чем выключать.
    Включил 1.
    0.5сек
    Включил 2
    0.5 сек
    Выключил 1
    Включил 3
    0.5 сек
    Выключил 2
    Включил 4
    И т.д.
     
    Джалил нравится это.
  9. Джалил

    Джалил Нуб

    Спасибо всем
     
  10. ELITE

    ELITE Гик

    както так
    Код (C++):
      int num=1;
    unsigned long tm;

    void setup() {
    for (int i = 2; i <= 10; i++) {pinMode(i, OUTPUT);} // с 2 по 10 пин выходы на запуск
    }

    void loop() {

    if(millis()-tm >= 1000){  tm=millis();
      num++;
      if(num>9){num=1;
        digitalWrite(9, 0);
        digitalWrite(0, 1);    
      } else {
        digitalWrite(num, 0);
        digitalWrite(num+1, 1);
       }
      }
    }
     
  11. ELITE

    ELITE Гик

    и реально тут хватит даже аттюни 13 + любой сдвиговый регистр на 10 ног
    // да хоть советский к155ир17 (12 ног)
    да и даже по сути тут ардуина не нужна - всё на 555 таймере и регистре делается....
     
  12. parovoZZ

    parovoZZ Гуру

    Нормально так зашел))))) А что остановился? Давай дальше, помоги челдону решить задачку по информатике. У него детишки без фейерверка сидят.
     
  13. parovoZZ

    parovoZZ Гуру

    А вообще, зачем тут МК??? Берёшь мультивибратор на ЛА3 с периодом в полсекунды, прикручиваешь счетчик на ИЕ7, далее дешифратор на ИД3. Я такой ерундой в 5 классе занимался. Какой это год был??? Эх, времена)))))
     
    Airbus нравится это.
  14. b707

    b707 Гуру

    Паравоз - у тебя какие-то замечания по сути? - или тебе просто надо под каждым сообщением отметиться? :)
     
  15. parovoZZ

    parovoZZ Гуру

    Тёмной, темной ночью пробираешься на сайт атмела. Оттуда очень тихо пионеришь даташит на МК. Потом аккуратно, чтоб ничего не потерялось, заносишь его в секретный отдел по дешифровке.
    А вообще, открываешь любой тутор по таймерам АВР и читаешь. От модели к модели изменения имеются, но опять идем в даташит. С английского очень хорошо переводит гугол. В 8-ми битниках таймеры очень простые.
     
  16. parovoZZ

    parovoZZ Гуру

    Заведи флаг для этого.
    123456789
    000000000
    000000001
    000000011
    000000110
    000001100
    000011000

    и так далее.
    Вот это по регистру порта, на котором висят светодиоды_фейерверки, путем сдвига прогнал и всё. Задача решена. С тебя шоколадка))))
     
  17. parovoZZ

    parovoZZ Гуру

    Зови меня просто - Андрюха.
     
  18. CYITEP_BAC9I

    CYITEP_BAC9I Гик

    добрый вечер всем. спасибо за наводку многое уразумел

    теперь новая засада. не могу сообразить как теперь соорудить счетчик из таймера Timer/Counter2. примеры конечно есть в тырнете. но блин нигде ничего не расписано, что куда зачем и почему именно этот байт нужно поместить в определенное место. мож какой нибудь учебничег есть?
     
  19. b707

    b707 Гуру

    Учебничек - ссылка прямо в вашем посту. Берете любой пример из интернета и по этому справочнику смотрите, какиебайты что означают.
    Ну и кроме примеров. в инете, наверно, сотни статей. по шагам обьясняющих, как пргограммировать таймеры
     
    CYITEP_BAC9I нравится это.
  20. Airbus

    Airbus Радиохулиган Модератор

    А чего все разрываются так?ТС здесь походу больше не появлялся.По поводу баитов таймера в инете море программ на flash позволяющих вычислить эти байты есть наверное и в онлайне
     
    CYITEP_BAC9I нравится это.