| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > AT89C2051 |
| Автор: AriKoM 7.6.2003, 06:16 |
| Кто знает какая макс.вх. частота у таймера в чипе AT89c2051-24 при использовании его в режиме счетчика внешних импульсов (сравнима ли с тактовой частотой самого процессора, т.е. ограничивается ли только бысродействием внутрисхемной логики или есть еще програмные ограничения) ? |
| Автор: pettimm 4.10.2005, 22:27 |
| Так как на распознавание периода требуются два машинных цикла, максимальная частота подсчета входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входной сигнал должен удерживать значение 1, как минимум, в течение одного машинного цикла микро-ЭВМ. |
| Автор: ManiaK 7.10.2005, 13:44 |
| pettimm молодец!.. |
| Автор: Metal_Heart 7.10.2005, 17:00 | ||
мда, за 2 то года?! |
| Автор: ManiaK 9.10.2005, 10:38 | ||
Я не посмотрел на дату первого сообщения |
| Автор: pettimm 20.10.2005, 21:34 |
| Спасибо, что похвалили начинающего програмиста (меня), и вернемся к теме...Будьте добры,подскажите как вывести например частоту 700 гц на ногу контр. AT89c2051? В моей документации сказано ,как настроить и активизировать таймер засинхронизировав от внутреннего генератора, а как вывести на ногу _не сказано. ,как вывести несколько частот одновременно например 700,900,1100,1300,1500,1700 ? Всем спасибо... |
| Автор: cardinal 20.10.2005, 21:37 |
| Пожалуйста, один топик - один вопрос. Частоты в виде 1, 0, 1, 0 и т.д.? |
| Автор: pettimm 21.10.2005, 22:11 |
| Да конечно,а что есть другой вариант? Спасибо\pettimm/ |
| Автор: cardinal 21.10.2005, 22:22 | ||||
Ну может ты синус хочешь...
Поставь в процедуру обработки прерывания от таймера
(причем пройдет ли так или немного подругому зависит от кимпилятора) и у тебя будет по каждому прерыванию меняться значение на такой-то ножке процессора с нуля на единичку. |
| Автор: pettimm 21.10.2005, 22:34 |
| А разве на голой ноге контроллера может быть синус,без дополнительной навески? Может я что -то недопонимаю. И относительно кода ,подробней и более разжованно,я ведь начинающий,все таки...Благодарю.... |
| Автор: DRUID3 22.10.2005, 03:19 |
| To:pettimm Нет, синус, косинус, пила и т.д. не могут. Для гармонических функций нужно или ЦАП или хороший (высокого порядка) аналоговый фильтр который в достаточной степени подавит высшие гармоники, начиная со второй. А зачем Вам именно такие частоты? Смахивает на DTMF. |
| Автор: cardinal 22.10.2005, 14:53 | ||
В коде ты выводишь (как бы в цикле, но на самом деле по прерыванию) то 1, то 0 (в зависимости от текущего значения)на ногу процессора. Таким образом у тебя на этой ноге будет прыгать напряжение с 0 на 5В, или сколько у тебя там питание (когда ты возьмешь осцилоскоп и ткнешься в эту ногу ты это увидишь). pettimm, ты напиши твой текущий статус разработки - есть ли программатор, какой, есть ли одна хоть прога, которую ты уже загнал в процессор и увидел что он работает и т.д. Вообще первый шаг - это моргающий диод. Что почти тоже самое в твоем случае, но плюс еще визуально (без осцилоскопа) что-то видно... Создай новую тему! |
| Автор: pettimm 22.10.2005, 22:26 |
| Уважаемые Эксперты,раскажите,пожалуйста подробно, как вывести одновременно в контр.AT89C2051 ,на одну ногу 700 гц,на другую 900 гц, на третью 1100,...1300,...1500,...1700 гц . форма синус ,а если нет то цифра. Спасибо. |
| Автор: cardinal 22.10.2005, 22:47 | ||
Нет такого понятия цифра. Читай тут: http://forum.vingrad.ru/index.php?showtopic=27108 http://forum.vingrad.ru/index.php?showtopic=2542 ну и тут про ассемблер http://firststeps.ru/asm/tasm1.html или урок Чингачгука посмотри... |
| Автор: pettimm 30.10.2005, 14:22 |
| Спасибо! |
| Автор: scapig 8.11.2005, 20:13 |
| Короче при кварце 12 МГц - макс. частота распознавания будет 500 кГц... Ну и т.д. пропорционально... Вроде так.. |
| Автор: PILOT 9.11.2005, 15:23 |
| Ну да, только на более современных кристаллах одна команда выполняется уже не за 12 тактов, а за меньше (по-моему за 4, но меня поправят если я не прав). СУВ. |
| Автор: scapig 9.11.2005, 18:29 |
| Для AT89C2051 в доке написано следующее: Each machine cycle takes 12 oscillator or clock cycles. |