Pic16F676 - Почему происходит постоянно сброс
Добавлено: Вт авг 02, 2011 16:33:46
Предельно простая задача - зажечь светодиод при нажатие на кнопку. Обязательное условие:
- PIC16F676;
- работа от внутреннего тактового генератора;
- использование TM0.
Накидана прога в Протоне. Вот собственно она:
________________________
Device = 16F676 ' Использовать микроконтроллер 16F676
Config INTRC_OSC_NOCLKOUT , WDT_On , PWRTE_OFF , BODEN_OFF , CP_OFF , CPD_OFF , MCLRE_ON
Xtal = 4 ' Установить частоту генератора МК равной 4 МГц
TRISC = %00010000 ' Устанавливаем вывод C4 на вход
OPTION_REG = %10000111 'Коэффициент деления 1/256, отключение подтягивающих резисторов
INTCON = %00100000 'Отключение глобальных прерываний, прерывание по ТМ0.
On Interrupt GoTo Display 'В случае прерывания перейти на "Дисплей"
Main:
GoTo Main
Disable
Display:
PORTC.5= PORTC.4
Resume
Enable
_____________
Вопрос: почему все время происходит сброс сторожевого таймера и, как следствие, всего микроконтроллера???
- PIC16F676;
- работа от внутреннего тактового генератора;
- использование TM0.
Накидана прога в Протоне. Вот собственно она:
________________________
Device = 16F676 ' Использовать микроконтроллер 16F676
Config INTRC_OSC_NOCLKOUT , WDT_On , PWRTE_OFF , BODEN_OFF , CP_OFF , CPD_OFF , MCLRE_ON
Xtal = 4 ' Установить частоту генератора МК равной 4 МГц
TRISC = %00010000 ' Устанавливаем вывод C4 на вход
OPTION_REG = %10000111 'Коэффициент деления 1/256, отключение подтягивающих резисторов
INTCON = %00100000 'Отключение глобальных прерываний, прерывание по ТМ0.
On Interrupt GoTo Display 'В случае прерывания перейти на "Дисплей"
Main:
GoTo Main
Disable
Display:
PORTC.5= PORTC.4
Resume
Enable
_____________
Вопрос: почему все время происходит сброс сторожевого таймера и, как следствие, всего микроконтроллера???