Итак, это все? Да, это все. Если вы ввели программный код в редакторе Programming Editor точно в приведенном мною виде, то вы можете запустить его в режиме имитации и в открытом окне Simulation надо будет щелкнуть правой кнопкой около логического вывода А2, чтобы пошагово увеличить его значение. Каждый раз, когда вы будете продвигаться от строки к строке при выполнении подпрограммы getkey, вы можете увидеть на экране, каким образом при этом меняется значение переменной b1.
Это действительно все, что нужно для выполнения функций кодового замка. Когда микроконтроллер PICAXE выполняет эту программу, он ожидает правильного ввода кода. Если он получает правильный код, то на логическом выводе
Единственный дополнительный элемент, который вам понадобится — это транзистор или КМОП логический элемент между логическим выводом
Ввод этой программы в чип микроконтроллера не только упрощает схему, но также предоставляет некоторые другие преимущества. Вы можете изменить секретную кодовую комбинацию простым переписыванием программы и загрузкой ее новой версии в память микроконтроллера.
Недостатки микроконтроллеров
Несмотря на все достоинства, микроконтроллер PICAXE имеет и недостатки. Только одно его требование к напряжению питания ограничивает его использование с той же степенью свободы, что и таймер 555.
Кроме того, аналогичного результата я мог бы добиться и за счет установки на макетную плату только таймера 555 и добавления пары резисторов и пары конденсаторов, а вот применение микроконтроллера PICAXE потребует от меня добавления разъема для загрузки программы и подключения его к компьютеру, написания программы в программном редакторе Programming Editor и загрузки ее в микроконтроллер.
Некоторым людям не нравится писать программы или у них есть трудности в напряженном использовании левого полушария мозга, чего, разумеется, требует компьютерное программирование. Они, конечно же, предпочтут собирать только аппаратные средства.
Другие люди могут обладать иными предпочтениями. Это, конечно же, дело вкуса, но имеется одна хорошо нам известная и существенная проблема программирования — это то, что компьютерные программы часто содержат ошибки, которые могут проявиться неделями или даже месяцами позже.
Микроконтроллер PICAXE, например, не защитит вас, если переменной будет присвоено значение, которое превысит предельное значение для данного типа переменной. Предположим, что b1 = 200 и b2 = 60 и в вашей программе для микроконтроллера PICAXE имеется следующая строка:
let b3 = b1 + b2
Результат должен быть равен 260, но байтовые переменные могут использовать числа только до 255. Что же произойдет? Вы обнаружите, что переменная b3 получила значение 4 без каких-либо предупреждений или объяснений. Эта ситуация известна, как
В этом смысле программное обеспечение имеет свои проблемы, а аппаратное обеспечение имеет свои преимущества.
Неисследованная область
Если вы найдете время самостоятельно завершить большинство проектов, приведенных в данной книге, то вы очень быстро приобретете основы для продвижения в большинство фундаментальных областей электроники.
Что же такое вы пропустили на этом пути? Далее приведены несколько тем, которые остаются полностью открытыми и ожидают вас для исследования. Естественно, если они вас интересуют, вы должны поискать о них в Интернете.
Неформальный подход «изучай, совершая открытия», который я использовал в этой книге, предназначен для того, чтобы пролить свет на теоретические основы. По большей части я старался избегать использования математики, в противном случае это заставило бы вас погрузиться в более сложный курс по предмету. Если же у вас есть математические наклонности, то вы можете использовать их для более глубокого продвижения в понимании того, каким образом работают схемы.