РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

ФОРУМ НА ЭЛВО

РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ
  • БЛОГИ
  • НОВОЕ
  • СХЕМЫ
  • РАЗНОЕ
  • ТЕОРИЯ
  • ТЕЛЕВИДЕО
  • СВЕТОДИОД
  • МЕДТЕХНИКА
  • БЫТТЕХНИКА
  • ИЗМЕРИТЕЛИ
  • СПРАВОЧНИК
  • ТЕХНОЛОГИИ
  • РЕМОНТ СХЕМ
  • МОБИЛЬНИКИ
  • КОМПЬЮТЕРЫ
  • НАЧИНАЮЩИМ
  • ЗАРЯДКИ И АКБ
  • СИГНАЛИЗАЦИИ
  • АУДИОТЕХНИКА
  • АВТОВЕЛОМОТО
  • БЛОКИ ПИТАНИЯ
  • РАДИОПРИЁМНИКИ
  • МЕТАЛЛОИСКАТЕЛИ
  • МИКРОКОНТРОЛЛЕР
  • РАДИОПЕРЕДАТЧИКИ


    • Страница 1 из 1
    • 1
    Архив - только для чтения
    Прошу помощи, подобие стробоскопа
    Ср, 02.12.2015, 00:02 | Сообщение # 1        
    Fenix
    аватар
      Постов: 5   ОК 
    Всем доброго времени суток! С мк стал знакомится недавно, до этого только собирал и повторял готовое. Суть вот в чем:
    МК - Attiny13. К нему подключены три светодиода
    Первый - вспыхивает как стробоскоп 1 раз в три секунды. Длительность вспышки 0,2 сек.
    Второй - вспышка длительностью 0,2 сек, затем пауза 0,2 сек, затем опять вспышка длительностью 0,2 сек, затем пауза 1,4 сек. То есть цикл за 2 секунды
    Третий вспышка длительностью 0,2 сек через каждые 1,8 сек.
    Помогите пожалуйста, направьте в нужное русло. Заранее примного благодарен
    Ср, 02.12.2015, 08:41 | Сообщение # 2        
    Электродыч
    аватар
      Постов: 3755   U 
    Fenix, так вы конкретизируйте-чего нужно то-прошивку написать и схему разработать?Так этим вряд ли кто будет заниматься кроме вас.А если есть готовая схема-другое дело.
    Ср, 02.12.2015, 10:47 | Сообщение # 3        
    Fenix
    аватар
      Постов: 5   ОК 
    Электродыч, схема простейшая, да и прошивка, думаю не сложная. Просто МК начал изучать совсем недавно, очень нужна помощь

    Добавлено (02.12.2015, 11:47)
    ---------------------------------------------
    Просто мигание на 1 светодиод получить удалось, но вот как сделать так как нужно?

    #include <avr/io.h>
    #include <avr/interrupt.h>

    //ISR(TIM0_OVF_vect)
    ISR(SIG_OVERFLOW0)
    {
    PORTB ^= 0x01;
    TCNT0 = (256 - 234);
    }

    int main(void)
    {
    PORTB = 0b00111111;
    DDRB = 0b00000001;

    TCCR0A = 0;
    TCCR0B = 0b00000101;
    TCNT0 = (256 - 234);
    TIMSK0 = 0b00000010;
    sei();
    while (1) {}
    }
    Файлы: 6970058.jpg (92.8 Kb)
    Ср, 02.12.2015, 21:59 | Сообщение # 4        
    Витинари
    аватар
      Постов: 1503   Друзья 
    Fenix, опишу в общих чертах:
    посмотрите на заданные временные промежутки - они все кратны 0.2 с. Настраиваете таймер на прерывание каждые две десятых секунды, заводите отдельные переменные, которые инкрементируются на 1 по прерыванию таймера, и, соответственно, в функции прерывания оставляете только прибавление этих переменных (можно, конечно, сделать и на одной переменной, но это будет несколько сложнее). Не забудьте сделать обнуление, когда каждая переменная достигает определенного значения (например, полный цикл мигания первого светодиода занимает 3 секунды, 3/0.2=15; то есть когда переменная, отвечающая за мигание первого светодиода, станет больше либо равна 14, ей присваивается значение 0, и цикл повторяется снова).
    В цикле while добавляете проверку этих переменных на определенные значения (которые равны времени в секундах, деленному на 0.2 - длительность одного прерывания), и когда значение той или иной переменной совпадает со значением в условии, подаете на нужную ногу контроллера 1 или 0.
    Чт, 03.12.2015, 01:00 | Сообщение # 5        
    Fenix
    аватар
      Постов: 5   ОК 
    Витинари, а вам не сложно сделать это наглядно? просто начал мк изучать недавно, очень трудно пока понимается на словах. Благодарю заранее

    Добавлено (03.12.2015, 02:00)
    ---------------------------------------------
    Вопрос закрыт. Всё получилось. Спасибо всем за участие и помощь!!!

    Чт, 03.12.2015, 14:21 | Сообщение # 6        
    Витинари
    аватар
      Постов: 1503   Друзья 
    Fenix, я под пики программирую, так что саму реализацию процесса описать могу, но непосредственно с вариантами языка C под AVR и с их архитектурой дела пока не имел.
    • Страница 1 из 1
    • 1
    Поиск:

    Внимание! Форум переехал на Tehnodium.ru



    © 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA