Всем привет!
задача следующая:
на атмегe 32 (1MHz) сделать 2 генератора частоты, которые работают одновременно.
Тоесть примерно так:
Pin0 PortB частота повышается с 0Гц до 300Гц примерно за 1,5 сек.
Pin1 PortB частота повышается с 0Гц до 350Гц примерно за 1,5 сек.
причем одновременно.
как сделать? подскажите пожалуйста.
если можно небольшой отрывок с кодом. буду очень рад.
Александр
Еще один генератор частоты. помогите пожалуйста
Сообщений 1 страница 2 из 2
Поделиться12009-09-02 00:42:15
Поделиться22009-09-18 00:34:41
Какая нужна форма импульсов? Квадрат или синусоида?
Попробуй реализовать это дело на таймерах
Config Portb.0 = Output Config Portb.1 = Output Config Timer1 = Timer , Prescale = 8 'конфигурируем таймер и ставим его делитель 64. таймер будет переполнятся 2 раза в секунду Config Timer2 = Timer , Prescale = 1 On Timer0 Pulse1 : 'при переполнении таймера запустить подпрограмму Pulse On Timer1 Pulse2 : Enable Interrupts 'разрешить прерывания Enable Timer1 Enable Timer2 do loop Pulse1: toggle PortB.0 incr A Timer1 = A Return Pulse2: toggle PortB.1 incr B `B=B+1 Timer2 = B Return
Поидее надо правильно подобрать делители таймеров и нужное начальное значение переменных А и В
Смысл следующий - при каждом срабатывание таймера уменьшаем время его следующего срабатывания и меняем состояние заданного порта. Нехватает проверки переменных, чтоб они не оказались больше таймеров. И еще сделать бы гдето остановку, ну через 1,5 секунды...
Отредактировано Pasha (2011-05-12 16:43:14)