| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Таймер MCS 51 |
| Автор: gribikc 25.10.2007, 14:53 |
| добрый день. такая проблема надо на aduc 812 сделать эмулятор эхолота и лага в 2х словах надо генерировать на 3х портах импульсы длительностью 1мс и разной скважностью как выделывать разную скаважность это легко таймерами 1 и 2 а вот как 1м тайером 0 засекать 1 мс для разных портов одновременно н епонятно вот что примерно должно быть ? _________--_____________________________ _______________________________--_______ это сигналы эхолота ? ? ? ? ? ________--________--________--________--__ это для лак проблема в выдержки логической единици в течении 1мс в разных местах иногда одновременно для разных портов с помощью одного таймера у кого какие мысли.... моё решение мне не нравитсо(((( потом выложу |
| Автор: AVR32 25.10.2007, 17:39 |
| Кто вырабатывает синхросигналы, т.е. метки времени, в которых выставляется логическая единица в течении 1мс? Делается это программно или по сигналам от внешних источников, попросту внешние прерывания? |
| Автор: gribikc 25.10.2007, 22:36 |
| по таймерам т1 и т2 |
| Автор: AVR32 27.10.2007, 02:11 |
| По т1 и т2 запоминаешь значения т0. Прерывание от т0 настраиваешь на ту частоту, которая обеспечит тебе максимально допустимый разброс меток от т1 и т2. В прерывании т0 анализируешь запомнены значения. Скорее всего, тебе придётся делать программные счётчики для увеличения разрядности счёта запомненных т1 и т2 в прерывании т0 |
| Автор: gribikc 31.10.2007, 14:28 |
| всем спасибо изменили ТЗ теперь длительность другая)) |