В начало | Зарегистрироваться | Заказать наши киты почтой
 
 
 
 

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

📆26 декабря 2008   ✒️Spirit   🔎39.716   💬0  
Третий свой урок я начинал с вопроса "А какую конструкцию на основе МК хотите создать ВЫ?"

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

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

Список всех частей:
Грызём микроконтроллеры. Урок 1. Моргаем 8-ю светодиодами. CodeVision, Proteus, ISIS
Грызём микроконтроллеры. Урок 2. CodeVision и С
Грызём микроконтроллеры. Урок 3. Циклы, прерывания и массивы
Грызём микроконтроллеры. Урок 4. Мерим температуру или напряжение
Грызём микроконтроллеры. Урок 5. Кодовый замок
Грызём микроконтроллеры. Урок 6. Прошиваем МК
Грызём микроконтроллеры. Урок 7. Подключение к МК кнопок, клавиатуры, энкодера
Грызём микроконтроллеры. Урок 8. Программирование кнопок, клавиатуры, энкодера
Грызём микроконтроллеры. Урок 9. Клавиатура вглубину



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

Оператор 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

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.




 

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

Нравится

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

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

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

 

 

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

 

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

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

 

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

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

  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
 
 
В начало | Зарегистрироваться | Заказать наши киты почтой