Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Использование условной конструкции if




Приведенный ниже пример проверяет условие и выполняет <код1>, если условие выполнено и <код2>, если условие не выполнено:

if (<условие>)

{

<код1>;

}

else

{

<код2>;

}

Условием может быть любое логическое выражение, например

(Button_state == 1)

<код1> и <код2> – одна или несколько строк кода. Допустимо использование вложенных конструкций, т.е. в качестве <код1> или <код2> может быть еще одна условная конструкция, например:

 

 

if (<условие1>)

{

if (<условие2>)

{

<код3>;

}

}

Например, условие неравенства переменных 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) Выводы.





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


Дата добавления: 2017-03-11; Мы поможем в написании ваших работ!; просмотров: 335 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2555 - | 2198 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.