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

Ликбез по программированию PIC

1 89 99

Проблема:
Поставил себе задачу, собрать на PIC-е ждущий одновибратор. Суть проста, и делать там практически нечего, но и это нечего не хочет работать должным образом.
Как решаю задачу: Организовал цикл проверки состояния порта входа до тех пор, пока на входе ноль. как только на входе появляется единица, на выходе устанавливается единица, затем отрабатывает таймер около секунды, выход сбрасывается в ноль, и программа попадает на цикл проверки входа на отсутствие сигнала. Если за время выдачи сигнала такта одновибратора на входе продолжает присутствовать единица, программа должна продолжать проверку входа на отсутствие сигнала, и только в случае сброса входа в ноль должна снова перескакивать на первый цикл проверки входа на наличие единицы.
Проблема в том, что если на входе не пропадает единица, на выходе сигнал с истечением времени не гаснет вообще, а гасне только при сбросе входа в ноль. Программа простецкая, и уже ума не приложу в чём может быть проблема. Помогите разобраться, кто знаком с темой. Исходник на ассемблере и скомпилированную прошиву прикрепляю к сообщению.

 

gentleangel: прикрепляю
У нас тут "крепёж" сломанный , так что на стороннем ресурсе...

 

Чет не смог прикрепить файл. Вот на него ссылка - http://volt-info.ru/sites/default/files/files/Download/waitmonovib.rar

 

понял, уже сделал на стороннем

 

Я вот думаю, может я чёт не так сконфигурировал, и у меня контроллер просто сбрасывается по сторожевому тайиеру, а возникает ощущение, будто он работает не правильно...

 

gentleangel: по сторожевому
Ага, включен, и кварц ещё, зачем? Достаточно внутреннего генератора.
И так писать конфигурацию, ммм..., не кошерно

 

gentleangel: Я вот думаю, может я чёт не так сконфигурировал, и у меня контроллер просто сбрасывается по сторожевому тайиеру, а возникает ощущение, будто он работает не правильно...
Ну так отключите WDT. Отключите компараторы, запретите прерывания, если не используете.

 

poruchik: И так писать конфигурацию, ммм..., не кошерно
Это точно. Пишите подробно, Вам же легче будет понять конфигурацию.

 

Имеешь в виду, писать слово конфигурации кошерно как в файле configuration_bits.c - __CONFIG(WRT_OFF & PLLEN_OFF & STVREN_OFF & BORV_19 & LVP_OFF) ? Я просто пока так не умею, но сейчас буду разбираться. Вижу, что действительно, так будет даже наглядней.

 

gentleangel: Я просто пока так не умею
А чего там уметь, просто соблюдайте синтаксис, иначе при компиляции выдаст ошибку.