АЗЫ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ - FlowCode_V3
|
|
revolt | Дата: Среда, 10.04.2013, 12:03 | Сообщение # 181 |
Рядовой
Группа: Пользователи
Сообщений: 1
Статус: Offline
| интересная тут тема,но жаль не такая оживленная как раньше.и все же помогите пожалуйста,я только начинаю.есть 4 светодиода,и кнопка.при поочередном нажатии на кнопку по одному загорается каждый диод,и при пятом нажатии непрерывно бегает огонек по всем диодам.хочу вставить прерывание, так чтоб при следующем нажатии кнопки все диоды потухли,ну или же включился другой режим мигания(тот же бегущий огонек только в обратном направлении).вобщем важна сама система или техника вставки прерывания в программу(где,в каком месте,как).перерыл много всех сайтов но нет нужного разъяснения.опишите пожалуйста пошагово какой блок(насколько я понял это блочок "int") в каком месте вставлять,какие свойства прописать и если не затруднит показать это на самом примере,переделать код.для меня меня это что то непонятное пока,ну а для вас должно быть дело одной минуты.работаю на flowcode5 avr Добавлено (10.04.2013, 12:03) --------------------------------------------- файл вставить не получается.как?
Сообщение отредактировал revolt - Среда, 10.04.2013, 12:01 |
|
| |
VasylYE | Дата: Вторник, 30.04.2013, 12:42 | Сообщение # 182 |
Рядовой
Группа: Проверенные
Сообщений: 263
Статус: Offline
| Здравствуйте. Для лучшего понимания упростим ваш пример. Пусть у нас нажатие кнопки должно вызывать прерывание, при этом кнопка закорачивает вход INT0 на землю. Создадим простейшую программу, в которой будет замкнутый цикл. Перед входом в цикл нам нужно разрешить прерывание INT0, а также указать его свойство - по спадающему фронту (при отжатой кнопке на входе INT0будет высокий уровень, при нажатой - низкий.) Перед циклом вставим блок "int", откроем его свойства: В свойствах выберем Int0 Input.
А нам своє робить!
|
|
| |
VasylYE | Дата: Вторник, 30.04.2013, 13:35 | Сообщение # 183 |
Рядовой
Группа: Проверенные
Сообщений: 263
Статус: Offline
| Потом нажимаем кнопку Properties, и в пункте Interrupt Edge Select выбираем falling edge of INT0. После этого, мы должны указать, какой макрос будет вызван, при возникновении прерывания: Нажимаем кнопку Create New Macro (или выбираем уже существующий.)
Но нам нужно также указать, куда будет подключен светодиод, и кнопка. Сделаем это. Добавим переключатель, и соединим его с входом INT0 (PORTD2). Добавим светодиод, соединим его с выходом PORTA0
Сконфигурируем эти порты, потом отредактируем макрос обработчика прерывания.
Чтобы прикрепить файл, нужно его заархивировать
А нам своє робить!
|
|
| |
VasylYE | Дата: Вторник, 30.04.2013, 13:40 | Сообщение # 184 |
Рядовой
Группа: Проверенные
Сообщений: 263
Статус: Offline
| Рекомендую к прочтению следующие ресурсы: Автоматное программирование Литература Книжка Поликарпова Н.И., Шалыто А.А. Автоматное программирование читается легко, и дает хорошее понимание того, что нужно делать
А нам своє робить!
|
|
| |
yura_ | Дата: Воскресенье, 26.05.2013, 17:07 | Сообщение # 185 |
Рядовой
Группа: Пользователи
Сообщений: 1
Статус: Offline
| Добрый день! Решил тоже изучить эту программу, но остановился на одном примере: железо Atmega8, на входе терморезистор 10кОм на выходе 2 рядный семисигмент, который будет показывать температуру. Теперь собственно вопрос: как присвоить значения напряжения на входе для индикации температуры на выходе? Если не сложно подскажите пожалуйста или дайте ссылку на готовый пример. Спасибо!
|
|
| |