Сообщение от -vitalik-
|
|
процедуры входа и выхода в прерывание
|
Сообщение от -vitalik-
|
|
минимальная частота, при предделителе TRM2 в 16, PR2 = 255 - около 244 Гц, меньше уже нечем сделать
|
Странное сочетание в одном посте

Минимальные частоты делаются софтовым расширением таймера: в прерывании по переполнению наращиваете счётчик в регистрах или памяти до заданного значения.
С пиками не работал, а в таймерах АВР специально для этого есть режим СТС, когда он считает от 0 до N, потом от N до нуля. Соответственно дрыгает ногой. Получается меандр. Однако шкала частот не непрерывная, т.к. N - целое, и чем выше генерируемая частота, тем больше дискретность. Для выходной частоты 500 КГц и кварца, допустим, 20 МГц N=20 (20 тактов на полупериод), значит, следующая частота при N=21 будет 20000/42*=*476.190Кгц.
Замечу для любителей
NE555 и прочих аналоговых, что стабильность частоты определяется кварцем, т.е. порядка 10^-7. (количество микросхем одинаковое: NE555 или AVR/PIC - 1 штука, а обвеса на контроллер надо меньше)
Теперь о переменном резисторе. Если нужна точная установка частоты то он не подходит. "грубо + точно" или многооборотные - прошлый век, они давно побеждены энкодером, тем более в ваших диапазонах прокрутить 100 импульсов никакая не проблема.
Ну и конечно прочитайте прекрасные статьи нашего уважаемого Леонида Ивановича Ридико:
Генератор прямоугольных импульсов и
Низкочастотный синусоидальный генератор с шагом сетки 0,01 Гц. Если требуется непрерывная шкала то да - делается синусоида с использованием цифрового синтеза (DDS) и компаратором преобразуется в прямоугольник.
Всё зависит от требований к изделию. Один полюс - лабораторный генератор "для себя", выдающий частоту +-20% с ноги контроллера, чтобы её подоткнуть куда надо и глянуть осциллографом. Другой полюс - лабораторный источник на продажу, где нужна и стабильность, и форма импульсов, и работа на разную нагрузку ( а то ещё 20 вольт подадут "навстречу"...).