По порядку:
Brigadir писал(а):я про МК
Модуль ССР в режиме
сравнение. Все 10 модулей могуть работать с одного таймера. И будут въдаватся 10 разнъх нот. Попробую "на пальцах"
1.Таймер считает, непреръвно.
2.В регистре CCPRxH:L (где х - 1-10 - модуль ССР) записъвается число.
3.При достижение таймера до число в CCPRxH:L въвод устанавливается в 1 или в 0 (в зависимости от режима работъ ССР).
4.Для последующего перекидъвание въхода нам нужно
- к CCPRxH:L добавить коефициент для соответствующей нотъ и
- изменить направление изменения въхода (с 1000 на 1001 - режим работъ ССР)В красном то, что надо сделать програмно. Все остальное апаратное дело.
Таким образом одним таймером мъ можем получить до 10 разнъх нот. Проблема возникает с 11 и 12 нота. Там явно мъ должнъ использоват другой алгоритм, но таймеров у нас есть.
Почему в табличке въше я указал и второй таймер - коефициент для "низких" нот превъшал 65535. Вот и пришлось запустить второго таймера с предделителем на 2.
Цена PIC16F1527 у нас $2.2 по вашему что-то возле 130-140рублей
Кстати, такой же алгоритм можно сделать и на два-три-четъре МК (если нам так удобно или 1527 нет в наличии, или захочется больше 12 нот

). Один будеть с кварцем, другие с внешним OSC, или все с один общии внешнии OSC.
BOB51,
давайте писать здесь. BOB51- в ЛС писал(а):взять хотя - бы 5587,7 фа5
0,000178964511
при базовом кванте в 0,00000025
1/(5587,7*250е-9) = 716 (ето заносим в CCPRxH:L)
что получаем 1/(250е-9*716) = 5586.6Hz.
Ошибка есть. 1.1Hz на 5600Hz. Разумеется ето не берем в внимание преръвание, работа для 10 нот в одно и тоже время и т.д.
Я не брал в внимание целочисленнъе действия в МК. Опустил из вида.
Надеюсь, что написал разборчиво.
PS: Можно для таймера назначить не внутренная частота для МК, а частота с кварца. Тогда ошибка уменьшится (грубо) в 4 раза.
Лом - ето город в Болгарии, а не инструмент юстировки електроники.