|
|
|
|
Судя по набору частот - курсовой, специально, чтобы студент понял, что ему надо не 33,33 Гц получить, а меандр с периодом 30 mS. Такой сигнал можно сделать без таймеров и деления (при условии отсутствия других задач). Для других частот аналогично. |
|
|
Спец: "мелют языком" Мелют ? Нет ,это не о вас! |
|
|
smg123: Такой сигнал можно сделать без таймеров и деления А никто никогда и не говорил, что нельзя 
|
|
|
Да я это к тому, что применительно к МК, исходная задача выглядит "наоборот" - не делить надо тактовую частоту, а суммировать тактовые интервалы до достижения нужной длительности импульсов и пауз. Так студенту может понятней будет.  |
|
|
Каждый д.. (ой, нет) пишет, так как хочет! Лишь бы результат удовлетворял всем условиям задачи! Способов решения - масса, и все правильные, если есть результат. |
|
|
Vlad_Petr: А задавшего вопрос, уже третий день как нет...... Есть. Просто читаю ответы, обдумываю. Vlad_Petr: Если не требуется привязка фазы выходного сигнала к опорной частоте, тогда можно и так. Синхронизации с тактовым генератором не требуется. А вообще в каких устройствах такая привязка обычно нужна? smg123: Судя по набору частот - курсовой, специально, чтобы студент понял, что ему надо не 33,33 Гц получить, а меандр с периодом 30 mS. Про 30мс хорошая идея, так даже проще, чем Гц-ми оперировать. smg123: суммировать тактовые интервалы до достижения нужной длительности импульсов и пауз. Так студенту может понятней будет. Имеется ввиду - если 1МГц тактовая частота, то тактовый интервал равен 1 мкс? Это и переменную неизвестно какого типа заводить под сумму для отсчета тех-же 30мс; слишком много интервалов получается. |
|
|
GM: Берёте 9333.3(3) Гц и делите на 28, 35, 40, 56, 70, 140, 280. Спец: Вот я предлагаю - считать импульсы программно. Что такое, допустим, поделить на 159? Это значит - отсчитать 158 входных импульсов, ничего с ними не делая, а 159-й передать со входа на выход. Спасибо, ну если так делить, то мне нравится  |
|
|
Tadas: Но теперь речь идет о МК, а i8080 - это МП. Ну как-бы изначально так задал вопрос, что и способы для МП интересны были. Допустим таймеров нет или они уже заняты. Мне например сложно представить, каким образом без таймера формируют нужные задержки, если программа выполняется последовательно и на другие операции тоже надо какое-то время. В таких условиях, учитывая что тактовая частота МК далеко не ГГц, меандр на ШИМ, наверное больше похож будет. |
|
|
urry: Прикинул на калькуляторе - требуемая погрешность - 1 процент получится на любом 16 битном таймере с входной частотой мегагерц. Погрешность будет обусловлена лишь стабильностью тактового генератора, если скажем сформировать точно нужный интервал отсчёта таймером? А на 8-ми битном таймере какая примерно погрешность получится, просто не знаю как это посчитать в зависимости от разрядности таймера? |
|
|
Digital: Мне например сложно представить, каким образом без таймера формируют нужные задержки, если программа выполняется последовательно и на другие операции тоже надо какое-то время. Ну а в таком случае уже ничего не поделаешь - надо считать такты, вылизывать все программные петли, втыкать куда надо нопы, жуть 
|
|
|
|
|