Использование условной конструкции if
Приведенный ниже пример проверяет условие и выполняет , если условие выполнено и , если условие не выполнено:
if ()
{
;
}
else
{
;
}
Условием может быть любое логическое выражение, например
(Button_state == 1)
и– одна или несколько строк кода. Допустимо использование вложенных конструкций, т.е. в качествеилиможет быть еще одна условная конструкция, например:
if ()
{
if ()
{
;
}
}
Например, условие неравенства переменных Button_state_old и Button_state будет записано так:
if (Button_state_old != Button_state)
{
}
Знак != обозначает «Не равно».
А условие проверки Button_state на равенство 1 при неравенстве Button_state_old и Button_state будет выглядеть так:
if (Button_state_old != Button_state)
{
if (Button_state = 1)
{
//Тут описывается, что происходит, если кнопка нажата
} else
{
//Тут описывается, что происходит, если кнопка отжата
}
}
Задание.
1)Реализовать программу, включающую светодиод при зажатой кнопке.
2) Написать программу, включающую светодиод при нажатии на кнопку и выключающую при повторном нажатии.
Порядок выполнения задания.
1.Выяснить номера выводов, к которым подключены кнопка и светодиод, как описано в пункте «Определение подключения кнопки и светодиодов».
2.Запустить файл lab1_1.uvproj в папке lab1 с кодом из лабораторных 1 и 2.
3.Следующий код написать в функции main() до начала цикла while(1).
a. Включается тактирование портов, к которому подключены кнопка, как описано в пункте «Включение тактирования».
b. Заполняется структура, как описано в пункте «Настройка порта ввода-вывода». Помните, что определение переменных производится в начале функции до использования первого оператора.
4.Задание 1). Код программы (за исключением объявления переменных) пишется в цикле while(1).
a. Объявить переменную Button_state (в самом начале функции main()) с типом uint8_t. Присвоить переменной значение 0. Переменная Button_state будет хранить состояние кнопки: если нажата, значение переменной равно 1, если отжата, то 0.
b. В цикле while(1) записать в переменную Button_state состояние кнопки, как описано в пункте «Проверка состояния кнопки».
c. Включить светодиод, если кнопка нажата, и выключить светодиод, если кнопка отжата (см. пункт «Использование условной конструкции if»).
d. Проверить работу программы.
5.Задание 2). Код программы (за исключением объявления переменных) пишется в цикле while(1).
a. Объявить переменные Button_state и Button_state_old (в самом начале функции main()) с типом uint8_t. Присвоить переменным значение 0. Переменная Button_state будет хранить текущее состояние кнопки: если уже была нажата, значение переменной равно 1, если была отжата, то 0.
b. В цикле while(1) записать в переменную Button_state состояние кнопки, как описано в пункте «Проверка состояния кнопки».
c. Проверить условие, совпадают ли значения переменных Button_state и Button_state_old, применив условную конструкцию if.
d. Если условие не выполняется, необходимо проверить еще одно условие: нажата ли кнопка в данный момент (равна ли переменная Button_state единице).
e. Если Button_state == 1, программа должна выполнить следующие действия: изменить состояние светодиода (см. пункт «Изменение состояния светодиода») и организовать задержку программы на время дребезга кнопки (порядка 10 мс).
f.После кода, написанного согласно пунктам а…е, необходимо записать текущее состояние кнопки в переменную Button_state_old при помощи строчки:
Button_state_old = Button_state;
После описанных действий кнопка будет работать, как требуется в задании.
Содержание отчёта:
1) Исследуемая схема.
2) Блок-схемы программ.
3) Описание программ.
4) Программы.
5) Выводы.
Статьи к прочтению:
Условные предложения с ‘if’
Похожие статьи:
-
Глава 5. управляющие конструкции
Составной оператор Согласно синтаксису языка Java во многих конструкциях может стоять только один оператор, но часто встречается ситуация, когда надо…
-
Цикл do…while используется в тех случаях, когда вы не знаете точного количества повторов, но в то же время вам известно, что цикл необходимо выполнить,…