Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: вкл./выкл tiny2313 (режим Sleep)
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
slava981
Добрый день! Подскажите, как правильно реализовать перевод МК в спящий режим и его побудка одной кнопкой.
Пробую реализовать это на МК 2313, к порту PD6 подключена кнопка второй ногой на землю, а к порту PB2 анод светодиода, в катод резистор и на плюс питания для проверки режима работы, т.е. после подачи питания мигает диод, затем по нажатию кнопки он засыпает, следующее нажатие - проснулся. Прочитал книгу Белова по программированию МК и в частности по регистру управления МК MCUCR, но вопросы. Составил алгоритм работы программы:
1. инициализация мк
2. настройка портов PD как вход, PB - выход
3. проверка состояния нажата кнопка - если нет - работает цикл мигания диодом, иначе прерывание
4. в прерывании проверяем, что записано в регистре SE и если 0 - ставим 1, иначе выход из прерывания
5. команда спать и ожидание нового прерывания.

подскажите, все ли правильно продумал.
черновой вариант коде=а выложу завтра на cvavr
zltigo
Цитата(slava981 @ Jun 3 2010, 17:31) *
Прочитал книгу Белова по..

Лучше-бы Вы документацию в первоисточнике прочитали.. Ну а "алгоритм", если начинать на него смотреть с конца, поскольку с начала вообще мутно, то заснув в прерывании Вы больше не проснетесь никогда. Засыпать надо после выхода из обработчика прерывания.
demiurg_spb
Присоединяюсь к словам художника эпохи Возрождения:-)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.