Узнать частоту
|
|
xaker-sss |
Дата: Пн, 14.05.2012, 11:08 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Добрый день. Кто скажет какая частота будет на выходе с таким кодом PIC16F84 4Мгц, хочу собрать генератор. ============ A=0 INIT: LOW PORTA.0 PAUSE A HIGH PORTA.0 PAUSE A GOTO INIT ============
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
anatol |
Дата: Пн, 14.05.2012, 12:43 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
LOW PORTA.0 примерно 2 команды PAUSE A - по идее должно быть выброшено компилятором, но не факт тогда максимум 250 кгц.
|
|
|
|
xaker-sss |
Дата: Пн, 14.05.2012, 12:58 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Quote (anatol) PAUSE A - по идее должно быть выброшено компилятором Переменная А будет меняться. В код забыл добавить команду, в идеале вот так ============ A=0 INIT: IF PORTA.1 = 1 THEN GOTO KEY LOW PORTA.0 PAUSE A HIGH PORTA.0 PAUSE A GOTO INIT KEY: ============ Мне нужен ген до 200кгц, значит должно получиться. Спасибо за помощь.
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
anatol |
Дата: Пн, 14.05.2012, 13:35 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Quote (xaker-sss) Переменная А будет меняться. ... Мне нужен ген до 200кгц, значит должно получиться. до 200кгц не потянет с Переменная А будет меняться Это выливается в старт подпрограммы и выход из нее. Даже без прерываний дополнительные шаги, а с прерываниями добавьте сохранение счетчиков и регистров. Разве по условию возникновения прерываний (смена частоты) менять код. Принцип простой. Частота генератора = такту. Команда = 4 такта. Т.е. одна команда = 1 мгц при генераторе = 4 мгц, 2 команды = 500 кгц, 4 команды = 250, 8 команд в цикле = 125 и т.д.
|
|
|
|
xaker-sss |
Дата: Пн, 14.05.2012, 13:51 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Команда IF PORTA.1 = 1 THEN GOTO KEY это кнопка во вход в процедуру для вывода на LCD дисплей и прибавление, убавление переменной А, генератор будет работать только когда PORTA.1 = 0, единственно в отличии от первого кода добавилась проверка PORTA.1
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
ADMIN |
Дата: Пн, 14.05.2012, 19:12 | Сообщение # 6 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Есть простой способ - написать программу и прогнать в протеусе
|
|
|
|
xaker-sss |
Дата: Пн, 14.05.2012, 23:38 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Quote (ADMIN) написать программу и прогнать в протеусе Не пойму я как в протеусе частоту узнать.
Добавлено (14.05.2012, 23:38) --------------------------------------------- Quote (xaker-sss) Не пойму я как в протеусе частоту узнать. Все разобрался ГУГЛ рулит. Как говориться, если все детали поменял, а он не работает, надо проверить предохранитель. Спасибо всем.
ПРОТОН ЭТО ВЕЩЬ.
Сообщение отредактировал
xaker-sss - Пн, 14.05.2012, 23:39
|
|
|
|
ADMIN |
Дата: Вт, 15.05.2012, 06:40 | Сообщение # 8 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Впротеусе есть такой компонент - на вкладке измерительных приборов - frequency meter. Цепляй его на выход пика и в свойствах укажи - Frequency meter
|
|
|
|
xaker-sss |
Дата: Вт, 15.05.2012, 08:40 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Quote (ADMIN) Впротеусе есть такой компонент - на вкладке измерительных приборов - frequency meter. Цепляй его на выход пика и в свойствах укажи - Frequency meter Я так и зделал, надо было-бы с этого и начинать, а не парить людям мозги. Плохо я еще в протеусе разбираюсь, надо учиться.
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
ADMIN |
Дата: Вт, 15.05.2012, 11:19 | Сообщение # 10 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Кто-то кому-то мозги парит?
|
|
|
|
xaker-sss |
Дата: Вт, 15.05.2012, 12:30 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Quote (ADMIN) Кто-то кому-то мозги парит? Естейственно я, вы меня наверно не правильно поняли. Извините.
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
ADMIN |
Дата: Вт, 15.05.2012, 16:06 | Сообщение # 12 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Да... интонации в тексте не увидишь. Действительно, не так понял
|
|
|
|
xaker-sss |
Дата: Ср, 16.05.2012, 12:53 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
208
Замечания:
±
На сайте с 26.04.2009
Статус:
Offline
|
Еще раз всем спасибо.
ПРОТОН ЭТО ВЕЩЬ.
|
|
|
|
xvovanx |
Дата: Ср, 13.11.2013, 11:00 | Сообщение # 14 |
Группа:
Модераторы
Ранг:
Помогаю всем
Сообщений:
327
Замечания:
±
На сайте с 02.05.2013
Статус:
Offline
|
Вопрос по длительности паузы. В литературе (Хелинском, Хелибайке и др.) пишут, что при 4МГц кварце "pause 1000" в программе (4такта) дает задержку 1 сек. У меня же в железе и в Протеусе для получения паузы в 1 сек нужно в проге писать "pause 4000". Что за фокус? Пик чтоли работает на гармонике? Менял и кварцы и пики. В начале программы даже выставлял OSC 4, хотя по умолчанию и так должно быть 4. Второй вопрос про 16F876 и 16F876А. Проги отлично работают на 876, эти же проги скомпилированные и запрограмированные под 876А (фьюзы, конфигурация) наотрез не хотят запускаться на 876А в железе (в Протеусе всё гуд). Сколько ни бился ни на 873А ни на 876А не могу запустить. Так во все свои поделки и ставлю пики без буквы А. P.S. в ПикБайсике не новичок, с паяльником тоже на ты, пишу серьезные программы, а вот в элементарном как в трех березах...
Сообщение отредактировал
xvovanx - Ср, 13.11.2013, 11:18
|
|
|
|
MiXaS |
Дата: Ср, 13.11.2013, 11:19 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Я полагаю, что у Вас неправильно настроен кварц. Цитата xvovanx ( ![Ссылка на цитируемый текст](http://s8.ucoz.net/img/fr/ic/12/lastpost.gif) ) В литературе (Хелинском, Хелибайке и др.) ходит информация, что при 4МГц кварце "pause 1000" Это так и есть, но если define osc 4.
Define osc - это настройка компилятора, значение которой принимается к расчетам для команд pausa, hrsin, hrsout и т.д. Если у Вас При больших значениях паузы только секунда выдерживается, значит кварц стоит , например 16 Мгц, а define osc 4. Если define не указан, то компилятор автоматицески делает расчет под 4 Мгц.
Также рекомендую почитать даташит, раздел биты конфигурации> выбор работы генератора.
По поводу протеуса. Лично замечено, что протеус все подобные задержки не всегда привильно делает. Связано это скорее всего с "мягким" реальным временем. Контроллер же работает в режиме "Жесткого" реального времи. Чем сложнее и масивнее код, тем дольше по времени его выполняет протеус. Возможно у меня комп недостаточно быстрый, поэтому я это замечаю. Но у меня была обратная проблема. Мне нужна задержка в 3 секунды, а протеус её выполнял 6-9 секунд. Правда я это делал через таймер и прерывание.Добавлено (13.11.2013, 11:19) --------------------------------------------- Код лучше покажите, там будет понятнее
|
|
|
|