Сообщение от johanh
|
Надо формировать синусоиду.
|
Всем доброго утра и с Майскими праздниками.
Я совершенно согласен с этим утверждением и еще хочу добавить, что при изменении частоты нужно изменять амплитуду синусоиды. Но на драйверы подавать не саму синусоиду, а ШИМ сигнал от этой синусоиды. Я тут с утра подумал, и прикинул как это можно реализовать на Меге16. Два проекта в AVR Studio и Proteus прилагаю. Здесь сигнал для ключей нужно снимать с выходов микросхем U2-U10, а фильтры R1-R6; C1-C6 -это для осциллографа, чтобы увидеть огибающую ШИМ. Правда я не парился подробно с частотным диапазоном, но для меня это не важно. Главное увидеть сам принцип, что это работает и не очень сложно.
Не судите слишком строго, но арифметические функции я написал очень примитивно. Кому надо могут переписать.
PS. Прошу прощения, но нашел недостаток в программе. Пока главная функция пуста, это несущественно, но если будет что-то в главной функции, то надо сохранить в стеке еще и регистр R17, а то можно будет отхватить трудно отыскиваемые баги.