Здравствуйте уважаемые форумчане!
Не так давно начал заниматься программированием микроконтроллеров.Периодически пишу различные небольшие программки в CodeVisionAVR.
Обычно если у меня возникают какие-то вопросы,то справляюсь (курю) сам в даташите или Гугле....
Но тут я вообще затупил((((....
Товарищи прошу вашей помощи!
Для очередной моей задачи нужно сделать генератор меандра на МК с регулировкой частоты и длительности импульса.
Подскажите как организовать генерацию меандра с управлением...
Параметры частоты особо не критичны: от 10 Hz до 50(100)kHz шаг-желательно 100-500Hz
Длительность 10мкс(мин)
Переферию прицеплю сам...
------------------------------------------------------------------------------------------------
P.S.Пробовал генерировать импульсы в прерывании по переполнению таймера Т0
А в этой функции постоянно увеличивать переменную...и при достижении определенного значения изменять состояние лапки КОТа (МК)
Примерно вот так:
interrupt [TIM0_OVF] void timer0_ovf_isr(void){
count++;
if(count==b){
FRIQ=1;
delay_us(10);
FRIQ=0;
count=0;
}
}
Значение переменной b мы меняем кнопками (Увеличиваем или уменьшаем) а FRIQ это порт в дефайне...
Код относительно рабочий....частота меняется,но непонятно(
например при значении:
b=9000 частота на выходе равна 14200hz
b=10000 частота составляет 27000hz
а к примеру при меньших значениях переменной b частота на выходе изменяется более плавно....
b=1000 частота на выходе равна 3000hz
b=2000 частота составляет 3300hz
Частота работы МК стабилизируется кварцевым резонатором на 16Mhz.
Фьюзы вроде тоже правильно зашил....
