Сброс микроконтроллера
Процесс сброса микроконтроллера состоит из аппаратного и программного сброса. Влияние помехи по питанию на сброс представлено на рисунке ниже.

Длительность времени заряда RC-цепи рассчитывается по формуле:
- TRC ≈ 0,16 х С5,
где С5 – емкость внешнего конденсатора. Расчетная длительность аналогового сигнала первоначального сброса относительно «резкого» (1,0 мкс) включения питания на выводе VDD_5V = 5,0 В представлена в таблице ниже. Замедление включения питания будет соответственно затягивать сброс.
Ёмкость внешнего конденсатора | Длительность аналогового сигнала первоначального сброса (POR_RST), мс |
---|---|
C₅ = 1,0 нФ | 0,15 – 0,175 |
C₅ = 10 нФ | 1,5 – 1,75 |
C₅ = 100 нФ | 15 – 17,5 |
После срабатывания аналогового сброса добавляется еще цифровая фильтр-задержка (TSYS) в течение 1000 периодов частоты, установленной в качестве системной.
Выводы POR_RST и BOR_EXT имеют активный уровень «0». Вывод BOR_EXT работает, только когда вывод TM находится в «0». После того как на выводе POR_RST и внутреннем сигнале BOR_SEL сформируется неактивный уровень, еще в течение 1000 тактов системной частоты блок RST/CPU_SLEEP_CONTROL подает сигнал сброса системы RST_N.
Программный сброс микросхемы описан в разделе «Программный сброс».
Настройка GPIO после сброса
Для избежания помех после сброса порты GPIO необходимо настроить в определенное состояние. Порт GPIO_B всегда предустанавливается в лог. «0». Для GPIO_A и GPIO_C начальное состояние зависит от требуемого логического уровня: если порт настроен как выход и должен выдавать лог. «1», значение устанавливается в 0xFF, в противном случае – в 0x00.
__sfr __at (0x80) P0 = 0x00; // GPIO_A
__sfr __at (0xA0) P2 = 0x00; // GPIO_B
__sfr __at (0xB0) P3 = 0x00; // GPIO_C
__sfr __at (0x80) P0 = 0xFF; // GPIO_A
__sfr __at (0xA0) P2 = 0x00; // GPIO_B
__sfr __at (0xB0) P3 = 0xFF; // GPIO_C
Выше показана конфигурация, где порты GPIO_A и GPIO_C настроены как выход и выдают лог. «0» и лог. «1». Порт GPIO_B всегда предустанавливается в 0x00. Начальные значения портов задаются перед выполнением основной части программы.
