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

 
 
 

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

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

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

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

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

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

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

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

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

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

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


Схема на Датагоре. Новая статья Визуализация для микроконтроллера. Часть 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. ЛБП на компараторах + блок защиты... Продолжая тему о быстром изготовлении лабораторного блока питания (далее ЛБП) из доступных...
Схема на Датагоре. Новая статья Проект DMX512. Микроконтроллер управляет профессиональным шоу. Ч.3... Я думаю, что прочитав теоретическую часть, в которой не всё сразу понятно, лучше сразу потихонечку...
Схема на Датагоре. Новая статья Грызем микроконтроллеры. Урок заключительный. Прошивка.... Ну вот, писать программы для микроконтроллеров мы научились. Работоспособность прошивки тоже...
Схема на Датагоре. Новая статья Грызем микроконтроллеры. Урок 3.... Эту статью я начну с провокационного вопроса… А какую конструкцию на основе МК хотите создать ВЫ? ...
Схема на Датагоре. Новая статья Грызем микроконтроллеры. Урок 2.... Предлагаю продолжить изучение микроконтроллеров… Второй урок будет посвящен по большей части...

Добавление комментария


Налетай! Паяльники, станции, жала с доставкой
  • smilelolbyewinkyahoocoollaughing
    crazybadcryingsadirefulsickstraight
    ballooncakegooddrinksmailbombsun
    nightrainstarscolddashguitar-manhandshake
    musicnegativenopardonshoksleepunknown
    wackoyawnblushbullyhashsmokingwhew
Скопируйте текст вашего комментария на случай неверного ответа на контрольный вопрос.