» » Грызем микроконтроллеры. Урок 5. Кодовый замок.

 
 
 

Грызем микроконтроллеры. Урок 5. Кодовый замок.

Разместил Spirit 26 декабря 2008. Просмотров: 34198

Третий свой урок я начинал с вопроса "А какую конструкцию на основе МК хотите создать ВЫ?"

Ответов было не много...
Поэтому был создан кодовый замок с возможностью смены кода с клавиатуры.

Код хранится в энергонезависимой памяти микроконтроллера.
А в режим его изменения входим продолжительным нажатием на кнопку "*".

Грызем микроконтроллеры. Урок 5. Кодовый замок.
Начнем этот урок с разбора оператора, который я забыл упомянуть в предыдущих статьях.

Оператор SWITCH.

Синтаксис:

switch (ключ)
{
case значение_1:
// операции, выполняемые если ключ равен значению_1
break; // выход из оператора swith, чтобы не выполнять последующие операции

case значение_2:
// операции, выполняемые если ключ равен значению_2
break; // выход из оператора swith, чтобы не выполнять последующие операции

case default: // не обязательный параметр, выполняется если ни одно значение не совпало с ключем
// операции, выполняемые если ключ не равен ни одному из значений
break; // выход из оператора swith, чтобы не выполнять последующие операции
}

Как видно, этот оператор стравнивает ключ со значениями, перечисленными после ключевых слов case и выполняет тот код, который нам требуется. bully


Так же, стоит усвоить новый тип переменной.

eeprom определение_типа имя_перемнной=начальное_значение;

Этой командой мы создаем переменную в энергонезависимой памяти EEPROM микроконтроллера. Начальное значение записывается в ячейки EEPROM только при программировании МК. А обращаться к этой переменной можно из любого места программы.

Но! Не советую часто записывать в EEPROM новые значения, т.к. эта память выдерживает около 100 000 циклов записи, после чего ее работоспособность производителем не гарантируется.
Поверьте, это не такая уж и большая цифра, если записывать новое значение, допустим, каждый раз при нажатии на какую-либо кнопку. В таком режиме наша конструкция проработает 2-3 года, после чего, даже при полностью исправном МК, потеряет возможность хранить данные без наличия питания...

Если нужно организовать хранение часто меняющейся информации, например, настроек регулятора громкости и тембра, то их лучше хранить в оперативной памяти, а в EEPROM записывать, к примеру, при выключении усилителя smile



Развернутого описания для самой программы не дам... Лентяй я winked
Тем долее, всё должно быть понятно по комментариям fellow

Вот, собственно, ее текст:

Разумеется, тут многое можно доработать. Увеличить длинну кода и возможность вводить код произвольной длинны. Кое-где можно оптимизировать или вообще переделать.
Но эта программа - ничто иное, как пример простейшей реализации, чтобы помочь освоить МК новичкам!

А вот вопросы задаем на нашем любимом форуме bully

Об авторе

Владимир (Spirit)
Старый Оскол
Электронщик-практик, в основном занимаюсь микроконтроллерами. Есть неплохой опыт и в аналоговой технике (все мы начинали с УМЗЧ =)).
Одержим идеей автоматизации жилища а-ля "Умный дом" =)
 

Понравилось? Палец вверх!

  • всего лайков: 17

Поделись с друзьями!


Связанные материалы:


Визуализация для микроконтроллера. Часть 1. OLED дисплей 0.96" (128х64) на SSD1306

Добрый день, друзья! Эта статья открывает цикл, посвящённый средствам визуального отображения...

Программирование микроконтроллеров в AtmelStudio 6. Часть 2. Одна программа на

Для радиолюбителей, которые до определенного времени не использовали микроконтроллеры в своих...

Небольшой мастер-класс по изготовлению корпуса лампового усилителя

Как известно, в кругах радиолюбителей макеты усилителей частенько так и остаются...

"Кубики" для автолюбителя: ИБП 5В, БП 12В, сенсорный выключатель обгонной камеры

Вообще, любовь — страшная сила. Особенно когда это любовь к машине. Хочется, чтоб твоя...

Универсальный вольтметр - амперметр на PIC16F676 с открытым программным кодом. Часть

Статья предназначена для широкого круга радиолюбителей, желающих освоить азы работы...

Кодовый замок на микроконтроллере AVR ATTINY2313

Работаю я электромонтером в районе Крайнего Севера. Зимой у нас всегда возникала проблема,...

Taschibra (Ташибра, Tashibra). Лабораторный импульсный блок питания. Часть 2. ЛБП на

Продолжая тему о быстром изготовлении лабораторного блока питания (далее ЛБП) из доступных...

Таймер "Незабудка" - устройство предупреждения и отключения

Человеку свойственна забывчивость. И с этим ничего нельзя сделать – в силу каких-либо причин любой...

Грызем микроконтроллеры. Урок заключительный. Прошивка.

Ну вот, писать программы для микроконтроллеров мы научились. Работоспособность прошивки тоже...

Грызем микроконтроллеры. Урок 3.

Эту статью я начну с провокационного вопроса… А какую конструкцию на основе МК хотите создать ВЫ? ...

Грызем микроконтроллеры. Урок 2.

Предлагаю продолжить изучение микроконтроллеров… Второй урок будет посвящен по большей части...

Грызем микроконтроллеры. Урок 1.

Эту статью (а точнее цикл статей…) я решил полностью посвятить микроконтроллерам фирмы Atmel....
Информация
Вы не можете участвовать в комментировании. Вероятные причины:
— Администратор остановил комментирование этой статьи.
— Вы не авторизовались на сайте. Войдите с паролем.
— Вы не зарегистрированы у нас. Зарегистрируйтесь.
— Вы зарегистрированы, но имеете низкий уровень доступа. Получите полный доступ.