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

 
 
 

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

📆26.12.08 🙋Spirit 👀37 299 💬0
Третий свой урок я начинал с вопроса "А какую конструкцию на основе МК хотите создать ВЫ?"

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

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

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

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

Читательское голосование

Нравится

Статью одобрили 11 читателей.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.
 

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

 

 

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

 

Схема на Датагоре. Новая статья Визуализация для микроконтроллера. Часть 1. OLED дисплей 0.96" (128х64) на SSD1306... Добрый день, друзья! Эта статья открывает цикл, посвящённый средствам визуального отображения...
Схема на Датагоре. Новая статья Беспроводной канал связи 2,4 ГГц на базе трансивера nRF24L01+ от Nordic Semiconductor. Часть 2... Продолжаем разговор. Как-то раз мы с пацанами решили соединить радио-модуль «nRF24L01+» вот с таким...
Схема на Датагоре. Новая статья Программирование микроконтроллеров в AtmelStudio 6. Часть 2. Одна программа на разных языках.... Для радиолюбителей, которые до определенного времени не использовали микроконтроллеры в своих...
Схема на Датагоре. Новая статья Небольшой мастер-класс по изготовлению корпуса лампового усилителя... Как известно, в кругах радиолюбителей макеты усилителей частенько так и остаются макетами....
Схема на Датагоре. Новая статья "Кубики" для автолюбителя: ИБП 5В, БП 12В, сенсорный выключатель обгонной камеры... Вообще, любовь — страшная сила. Особенно когда это любовь к машине. Хочется, чтоб твоя ласточка...
Схема на Датагоре. Новая статья Универсальный вольтметр - амперметр на PIC16F676 с открытым программным кодом. Часть 1... Статья предназначена для широкого круга радиолюбителей, желающих освоить азы работы и...
Схема на Датагоре. Новая статья Лабораторный импульсный блок питания. Часть 3. ЛБП на таймерах 555... Таймеры так же заслуживают внимания в деле строительства лабораторных источников питания. Обладая...
Схема на Датагоре. Новая статья Taschibra (Ташибра, Tashibra). Лабораторный импульсный блок питания. Часть 2. ЛБП на компараторах + блок защиты... Продолжая тему о быстром изготовлении лабораторного блока питания (далее ЛБП) из доступных...
Схема на Датагоре. Новая статья DipTrace. Всегда свежая версия + доп. библиотеки... Я тоже большой приверженец Sprint_Layout, просто изумительная программа для такого домашнего...
Схема на Датагоре. Новая статья Грызем микроконтроллеры. Урок заключительный. Прошивка.... Ну вот, писать программы для микроконтроллеров мы научились. Работоспособность прошивки тоже...
Схема на Датагоре. Новая статья Грызем микроконтроллеры. Урок 3.... Эту статью я начну с провокационного вопроса… А какую конструкцию на основе МК хотите создать ВЫ?...
Схема на Датагоре. Новая статья Грызем микроконтроллеры. Урок 2.... Предлагаю продолжить изучение микроконтроллеров… Второй урок будет посвящен по большей части...
 

Общаемся по статье 💬

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

Комментарии, вопросы, ответы, дополнения, отзывы

 

Добавить комментарий, вопрос, отзыв 💬

Камрады, будьте корректны и вежливы, соблюдайте правила!


Налетай! Паяльники, станции, жала с доставкой

Офигенная миниатюрная рация на литии BaoFeng UV-5R, 5W, 5-15 км!

Тестер универсальный LCR-TC1 для транзисторов, конденсаторов, ESR, MOSFET и т.д.
  • smilelolhellowinkscepticthumbupbored
    crazybadcryingsadirefulsickstraight
    ballooncakegooddrinksmailbombsun
    nightrainstarscolddashpartyhandshake
    musicnegativenowordspardonshoksleepunknown
    wackoyawnsainthelmethashsmokingwhew


Скопируйте текст вашего комментария на случай неверного ответа на контрольный вопрос.