Добавление в схему переключателя
В этом подразделе мы еще немного поэкспериментируем с гибкостью микроконтроллера BASIC Stamp. Поскольку в этой демонстрации мы снова будем использовать светодиод, не спешите снимать его с макетной платы, куда он был вставлен в начале работы над разделом "Знакомимся с Basic Stamp 2". Подключите к учебной плате механический ключ, пользуясь схемой, приведенной на рис. 13.10. Можно использовать переключатель любой формы, но проще всего взять самую обычную кнопку. Обязательно вставьте в цепь резистор номиналом 10 килоом, как показано на рисунке. Если вы используете учебную плату, то на ней вывод 1 обозначен как Р1, да еще и выведен на разъем рядом с беспаечной платой.
Для чего в схеме нужен резистор 10 килоом? Он служит так называемым резистором "подтяжки" (pull-up или pull-down resistor), т.е. когда ключ разомкнут, он "подтягивает" или, как в данном случае, "стягивает" логический уровень на выводе микроконтроллера до напряжения земли (0 В). Этот резистор не дает уровню на выводе хаотически изменяться (радиолюбители говорят: "плавать") под воздействием каких-то внешних помех и наводок; в противном случае BASIC Stamp будет вести себя непредсказуемо.
А теперь давайте введем следующую экспериментальную программу:
( BS2)
OUTPUT 0 ' установка вывода 0 в качестве выхода
' (для управления светодиодом)
btn VAR Byte ' определяем новую переменную "btn"
' (для работы с кнопкой)
loop:
BUTTON 1,0,255,250,btn,0,noSwitch ' проверка состояния ключа
OUT0 = btn ' включаем светодиод, когда ключ замкнут
PAUSE 150 ' ждем 150 миллисекунд
OUT0 = 0 ' выключаем светодиод
noSwitch: GOTO loop ' повтор цикла
Теперь рассмотрим, как же работает эта программа.
Теперь посмотрим на еще одну метку — noSwitch, которая присутствует в строках 5 и 9. При использовании с командой BUTTON (в строке 5) данная метка создает так называемое ветвление. Если ключ окажется размокнут (часть кода, названная noSwitch), микроконтроллер переходит к команде BUTTON и затем последовательно пропускает все строки программы до самого конца, т.е. не управляет светодиодом. Но если ключ будет замкнут, BASIC Stamp не перепрыгнет в конец программы, а пройдет ее шаг за шагом.
Что же произойдет после запуска программы?
Да, кстати! Если ваш BASIC Stamp ведет себя не так, внимательно перепроверьте, все ли правильно подключено в вашей схеме, и правильно ли набрана учебная программа.