Свежие обсуждения
Микроконтроллеры

Таймер TMR1 в PIC16F628A

Возникла проблема с в/у девайсом.
Не могу никак запустить встроенный генератор таймера TMR1.
Расскажу по порядку. Предполагается, что по переполнению TMR1, устройство должно обрабатывать прерывание. В конфигурации T1CON задал b'00111111'. Набросал схемку в Протеусе. Не работает. Эмулировал програмно поднятие флага TMR1IF в регистре переферийных прерываний. Заработало. Т.е. механизм прерывания действует.
Отключаю програмную эмуляцию и прошиваю в "железо". Не работает. Начинаю в Протеусе производить "танцы с бубном". Меняю местами настройки таймера, прерываний, портов, и аналогичные "магические" действия. Пока TMR1CS в состоянии 0 (тактовый генератор процессора), всё инкрементируется. Как только переключаю в 1, сразу ступор. Эксперементирую в Протеусе. Уж не знаю, что может быть. Подключил-то хоть правильно? К RB6 (12 вывод) и RB7 (13 вывод) - резонатор, с каждого вывода по конденсатору на Vss. Что может быть? Что не учёл?
Вот, например, заметил, что при включении подтягивающих резисторов, на RB6 и RB7 появляется высокий уровень.

 

Генератор TMR1 с кварцем? Частота кварца? Сам кварц проверенный? Какие конденсаторы, ёмкость их?
Маска прерываний, видимо, задана верно, раз при программной установке TMR1IF прерывание происходит.
А при отладке в Протеусе нужно на T1CKI от внешнего генератора сигнал с требуемой частотой подавать. Кварц там не катит.

 

Кварц 32768Hz, не проверенный. Ёмкости, согласно рекомендуемым в даташите. Раз других идей нет, буду с кварцами-конденсаторами экспериментировать.

picmaniac:
нужно на T1CKI от внешнего генератора сигнал с требуемой частотой подавать
Вот млин! А TMR1, при этом, надо настраивать на работу от внешнего генератора?

 

Попробуйте и так, и эдак.

 

Разобрался. Как обычно "сам $%дак".
Во-первых, задал неправильный коэффициент деления (из-за этого он мигал о-о-о-чень медленно), а во-вторых оставил опрашиваемый вход (девайс собрал только частично) висеть "в воздухе". Всё заработало.
А в Протеусе тоже всё заработало, и ничего в прошивке менять не надо.

 

А вот ещё вопрос. Прочитал тут в описании УМС-8 (так кажись), что если в схеме используется генератор 32768Hz, то можно прямо с него подавать сигнал на тактовый вход м/сх.
Вот, можно ли с генератора TMR1 так сделать (у УМС питание - 3В)?

 

Кто ж мешает попробовать? Только нужно ли огород городить? Не проще ли на УМС свой кварц поставить - они же копеечные.

 

picmaniac:
нужно ли огород городить
Неужели это так сложно реализовать?