- •Особенности разработки и применения мп систем
- •Прерывания в мк. Регистры, влияющие на работу контроллера по внешним прерываниям
- •Архитектура ядра avr-контроллеров. Назначение основных узлов avr-контроллеров
- •Программная модель и система команд avr- контроллеров
- •Устройство и управление портами ввода и вывода.
- •Устройство и управление аналоговым компаратором.
- •Устройство и управление аналого-цифровым преобразователем.
- •Устройство и управление таймерами-счетчиками avr- контроллеров.
- •Режимы работы таймеров-счетчиков.
- •Источники сброса avr- контроллеров. Сброс по включению питания. Управление сбросом через вход Reset
- •Общие регистры управления ядром микроконтроллера.
- •Обращение к памяти еерrом
- •Защита памяти программ и данных
Режимы работы таймеров-счетчиков.
Обычный режим работы. Самый распространенный режим, когда таймер просто считает приходящие импульсы и при переполнении счетного регистра устанавливает флаг прерывания по переполнению. При этом счетный регистр сбрасывается в 0 и подсчет импульсов начинается сначала.
Режим подсчета импульсов (Сброс при совпадении). Также называется CTC. В этом режиме при совпадении счетного регистра с одним из регистров сравнения выставляется флаг прерывания по совпадению, счетный регистр обнуляется и подсчет начинается сначала. При этом по совпадению может меняться сигнал на выходе таймера, соответствующего используемому регистру совпадения.
Режим ШИМ. В данном режиме изменяется ширина импульса в зависимости от значения, записанного в регистр совпадения. Для 8-битного таймера, к примеру, если записать в регистр совпадения число 10, состояние логической единицы на выходе совпадения будет 10 тактов из 256, а логический 0 246 тактов из 256 (для неинверсного режима). В инверсном же режиме 10 тактов будет состояние логического 0 и 246 тактов логической единицы.
Режим коррекции фазы ШИМ. В обычном режиме ШИМ мы получаем плавающую фазу выходного сигнала. Для того, чтобы этого избежать, в режиме коррекции фазы ШИМ при достижении максимального значения, счетный регистр таймера/счетчика начинает уменьшатся. Это происходит циклически.
Источники сброса avr- контроллеров. Сброс по включению питания. Управление сбросом через вход Reset
Сторожевой таймер представляет собой аппаратно-реализованную схему контроля над зависанием системы. Это таймер, который периодически сбрасывается контролируемой системой. Если вдруг сброса не произошло за определённый интервал времени после предыдущего сброса данного таймера, то происходит принудительная перезагрузка микроконтроллера.
Управляющий регистр WDTCSR
WDIF (Watchdog Interrupt Flag) флаг прерывания. Устанавливается в 1 в случае истечения интервала времени таймера. Сбрасывается аппаратно.
WDIE (Watchdog Interrupt Enable) бит разрешения прерываний от таймера. если установлен в 1, то прерывания разрешены, если в 0 — запрещены.
WDP2:WDP0 (Watchdog Timer Prescaler) биты, устанавливающие коэффициент деления предделителя сторожевого таймера.
WDCE (Watchdog Change Enable) бит изменения, который должен быть предварительно включен перед тем, как мы соберёмся внести изменения в предделитель с целью изменения коэффициента деления либо для отключения таймера путём занесения в бит WDE значения 0. Сбрасывается аппаратно после четырех тактов.
WDE (Watchdog System Reset Enable) а вернее бит включения режима перезагрузки системы по истечению интервала времени сторожевого таймера.
Общие регистры управления ядром микроконтроллера.
SREG — это регистр состояния в AVR. Это 8-разрядный регистр, в котором каждый бит (разряд) отображает состояние какой-либо операции (или результата операции).
Флаг I Global Interrupt Enable (Флаг глобального разрешения прерываний), Флаг T Bit Copy Storage (Хранение Копируемого Бита), Флаг H Half Carry Flag (Флаг половинного переноса), Флаг S Sign Bit (Флаг знака), Флаг V Two’s Complement Overflow Flag, Флаг N Negative Flag (Флаг отрицательного значения), Флаг Z Zero Flag (Флаг нуля), Флаг C Carry Flag (Флаг переноса).
Регистр управления MCU – MCU
SRE: External SRAM Enable – Разрешение внешней SRAM. Установленный в 1 бит SRE разрешает обращение к внешней SRAM данных и переводит работу выводов Порт A, С, WR и RD на выполнение альтернативной функции. Затем бит SRE перенастраивает установки направлений любых выводов в соответствующих регистрах направления данных. Очистка бита SRE (установка в 0) запрещает обращение к внешней SRAM и восстанавливает нормальные установки направлений выводов и данных.
SRW: External SRAM Wait State - Режим ожидания внешней SRAM. При установленном в 1 бите SRW к циклу обращения к внешней SRAM добавляется один цикл ожидания.
SE: Sleep Enable – Разрешение режима Sleep. Установленный в 1 бит SE разрешает перевод MCU в режим Sleep по команде SLEEP.
SM1/SM0: Sleep Mode Select bits 1 and 0 - Биты выбора режима Sleep (00 -idle {останавливается работа МК}, 01 – не используется, 10 – Power Down {останавливается практически всё, кроме обработки внешних прерываний}, 11 – Power Save {в работе остается ТС})