Подскажите. Постоянная ширина импульса при разной частоте.

Обсуждаем контроллеры компании Atmel.
Ответить
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Сообщение Sel4 »

Подскажите, пожалуйста.
Во вложении проект в AVR 4.19 и
в протеусе модель.
Тут частота изменяется в небольших пределах.
(На осциллографе - желтая)
Но при изменении частоты изменяется и длина импульса.
А надо, чтобы импульс был постоянной длины, которую можно настроить.
Вложения
Owen_Last.zip
(47.26 КБ) 140 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Код: Выделить всё

volatile unsigned char c;
...
OCR1A = 1+c*200; //*200(подобрать) - множитель. АЦП 10 битный, а таймер 16-ти.
...
В тонкостях не разбирался что к чему, но еще бы ей не плавать. Вы же байтовую величину умножаете на 200. И пихаете опять же в байтовую величину.
Docendo discimus
Контактная информация:
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Сообщение ИС-пытатель »

В смысле? чтобы на выходе был не меандр, а импульс со скважностью, зависящей от частоты?
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18787
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

pyzhman писал(а):Вы же байтовую величину умножаете на 200. И пихаете опять же в байтовую величину.
пихает-то он в 16-битную величину, но, разумеется, если множитель превысит 160, возникнет болшая ошибка вычислений
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Ответить

Вернуться в «AVR»