Как запустить таймер в прерывании INT

PIC версия программы(разные темы)

Re: Как запустить таймер в прерывании INT

Сообщение Taska (Максим) » 25 апр 2016, 10:56

Я вообще смотрю бит T0IF находиться в регистре INTCON, а не в OPTION_REG.
Далее зачем ты сразу останавливаешь таймер в прерывание по TMR_0, он же не досчитает до проверки условия, ты его должен тормознуть когда условие истинно.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе

Re: Как запустить таймер в прерывании INT

Сообщение a50 (Иван) » 25 апр 2016, 11:15

Я не умею рисовать в Протеусе, могу нарисовать схему в PCAD.
В примере POWER-2.fcf видно куда идет синхронизация.
Аватар пользователя
Ник: a50
Имя: Иван
(СЗФО)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Как запустить таймер в прерывании INT

Сообщение Taska (Максим) » 25 апр 2016, 11:23

В протеусе ты сможешь визуально посмотреть весь процесс.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Как запустить таймер в прерывании INT

Сообщение a50 (Иван) » 25 апр 2016, 11:25

Если таймер попал в прерывание(вызвал прерывание), значит он уже досчитал.
С битом T0IF, я ошибся.
Аватар пользователя
Ник: a50
Имя: Иван
(СЗФО)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Как запустить таймер в прерывании INT

Сообщение a50 (Иван) » 25 апр 2016, 11:27

Я смотрю весь процесс осциллографом на реальном железе, а не в Протеусе.
Аватар пользователя
Ник: a50
Имя: Иван
(СЗФО)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Как запустить таймер в прерывании INT

Сообщение mim (mim) » 25 апр 2016, 11:28

a50 писал(а):Я смотрю весь процесс осциллографом на реальном железе....
Мне вышли свое железо...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Как запустить таймер в прерывании INT

Сообщение Taska (Максим) » 25 апр 2016, 11:29

Да он досчитает до переполнения, но условие TMR = del не выполниться если del не будет равно 0, соответственно импульса не увидишь.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Как запустить таймер в прерывании INT

Сообщение Вячеслав (Вячеслав) » 26 апр 2016, 07:30

a50 писал(а):Я не умею рисовать в Протеусе, могу нарисовать схему в PCAD.

Сам владею Пикадом- схемы, разводка. Делай в нём диаграммы, в schematic с белым фоном, копируй своё изображение и вставляй в WORD, выкладывай свои загадки. Пояснения помогают. Думаю это легче чем рисовать карандашом.
Сейчас развожу dimmer для паяльника на pic16f684 с кнопками и 1LED7seg, в Протеусе работает. Осциллограф это хорошо, но как увидишь значение регистра МК или переменной в программе, после выполнения очередной команды? Поможет Протеус.
Обрати внимание: у таймера, кроме бита пуск/стоп счета, есть личный флаг прерывания, который можно опросить внутри обработки прерывания INT и вновь запустить TMR0. Может опробуешь такую логику. Прерывания и их обработка у Пик хорошо описаны.
Аватар пользователя
Ник: Вячеслав
Имя: Вячеслав
(Саратов)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Как запустить таймер в прерывании INT

Сообщение a50 (Иван) » 26 апр 2016, 21:02

Я уже нашел где была ошибка. Посмотри мою программу, она работает.
Протеус не знаю, никогда в нем не работал, буду изучать.
у таймера TMR0 нет бита пуск/стоп счета, я не нашел его в регистрах МК.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: a50
Имя: Иван
(СЗФО)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Как запустить таймер в прерывании INT

Сообщение Enigm (Enigm) » 26 апр 2016, 22:01

Да явной остановки и пуска у таймера нету, но есть возможность тактировать его с пина RA4.
За это отвечает бит T0CS , тем самым переключая на тактирование с пина RA4 , и если на этом пине нет импульсов то и таймер остановится.
Или заведите 1 таймер, там все что нужно есть.
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Пред.След.

Вернуться в Flowcode PIC

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей