wymstom1777
1

Светодиод и кнопка

17.05.2014, 16:40. Показов 3304. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем! Помогите пожалуйста! Как написать программу на С под avr, чтобы когда на кнопку нажимая светодиод загорался, еще раз нажимая он погас ?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2014, 16:40
Ответы с готовыми решениями:

светодиод, кнопка и msp430
Доброго времени суток, форумчане. Задам в скорее всего банальный вопрос для многих, но я только...

Кнопка и светодиод MPLAB PIC18F4525
Здравствуйте. Не могу справиться с простейшей задачей: нужно с помощью кнопки запустить мигание...

[КР580] Кнопка нажата - «горит» 1-й светодиод, кнопка отпущена - «горит» 2-й светодиод
Здравствуйте, нужно разобраться в задаче Фрагмент схемы: КР555ИД7, КР580ВВ55А (РУС=93Н), КР580...

В схеме есть кнопка и светодиод. Начальное состояние – кнопка не горит
В схеме есть кнопка и светодиод. Начальное состояние – кнопка не горит. 1. Нажатие кнопки в первый...

HP Pavilion DV6000: не горит светодиод питания, кнопка включения не реагирует
HP PAVILION DV6000(DAOAT 1MV 8F 1REV:F) Не горит светодиод питания, кнопка включения не реагирует.

9
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 483
17.05.2014, 16:54 2
Слишком общий вопрос. Значит вы хотите, чтобы написали за вас. Но тогда тема неподходящая (нужно в коммерческий подфорум).

Если хотите сами, но напишите в чем конкретные затруднения. Чтения ножки контроллера? Запись в ножку контроллера?

Если не знаете, что такое С и что такое контроллер, тоже не беда. Для решения вашей задачи человечество изобрело кнопки с фиксацией, а также триггеры.
0
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 641
17.05.2014, 19:01 3
наверно так:

- пока кнопка не нажата крутимся в цикле1

- кнопку нажали- читаем состояние выходного пина, меняем на противоположное

- пока кнопка нажата крутимся в цикле2, как только будет отпущена- переход на начало.

если это единственная задача, которую будет исполнять контроллер, то, наверное, лучше, что
человечество изобрело кнопки с фиксацией
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
17.05.2014, 21:12 4
Мдя-я-а-а... Книжки почитать, на самом сайте есть уроки по AVR. Вот что вы тратите время участников, а самое главное ваше же личное время? Задаете глупые вопросы. Глупые, потому сразу пошли на форум. И не потрудились хоть что-то почитать, хоть что-то сделать.
Самый простой пример:
Код
//========================================================================
#define F_CPU 16000000

#include <stdyo.h>
#include <avr/io.h>
#include <util/delay.h>
//========================================================================

// где-то в каком-то файле, скажем
// knopi.h:
#define KNOPI_PIN PINA
#define KNOPI_PORT PORTA
#define KNOPA_1 PA0

// где-то в каком-то файле, скажем
// tids.h:

#define LED_DDR DDRB
#define LED_PORT PORTB
#define LED_1 PB0

void main (void)
{
KNOPI_PIN = 0xFF; // Для отладки !!!!!!!!!!!!!!!

LED_DDR |= (1<<LED_1);

while (1)
{
LED_PORT = KNOPI_PIN;
}
}
Вариант посложнее:
Код
//========================================================================
#define F_CPU 16000000

#include <stdyo.h>
#include <avr/io.h>
#include <util/delay.h>
//========================================================================

// где-то в каком-то файле, скажем
// knopi.h:
#define KNOPI_PIN PINA
#define KNOPI_PORT PORTA
#define KNOPA_1 PA0

// где-то в каком-то файле, скажем
// tids.h:

#define LED_DDR DDRB
#define LED_PORT PORTB
#define LED_1 PB0

void main (void)
{
KNOPI_PIN = 0xFF; // Для отладки !!!!!!!!!!!!!!!

LED_DDR |= (1<<LED_1);

while (1)
{
while (KNOPI_PIN & (1<<KNOPA_1))
{
}

_delay_ms (1); // _delay_ms (100);

while (KNOPI_PIN & (1<<KNOPA_1))
{
}

LED_PORT |= (1<<LED_1);

while (!(KNOPI_PIN & (1<<KNOPA_1)))
{
}

_delay_ms (1);

while (!(KNOPI_PIN & (1<<KNOPA_1)))
{
}

LED_PORT &= (~(1<<LED_1));
}
}
Комментариев простите не будет. Времени нет.

Есть другие варианты. Но там без автоматного программирования нечего делать. Так что вперед! И не беспокоить нас, пока не почитаете материалы по конечным автоматам и автоматному программированию
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 483
17.05.2014, 21:30 5
dymyurk1978
Рукалицо. Вы настолько недовольны ТС, и настолько нет времени, что вы написали аж два варианта программы...

Напомнило эпизод из Симпсонов (со 2-й минуты).
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
17.05.2014, 22:28 6
:) Я очень надеюсь, что автоматное программирование надолго отвлечет от нас таких вот халявщиков. Может он еще не потерян для нас? Так что пусть штудирует... А варианты недолго было накидать, в дизасме быстро глянул, устраивает и ладно. Должно работать, а нет, пусть товарищ сам разбирается, мне некогда азы разжевывать. Пусть в книжки заглянет.
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 483
17.05.2014, 22:56 7
Товарисч и слова сказать не успел, а вы его уже опустили до плинтуса. И что вы так привязались к этим конечным автоматам? Последний вопрос риторический (даже с учетом того, что у вас слишком мало времени, чтобы не дать на него развернутый ответ).

Напомнило ещё кое-что.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
17.05.2014, 23:10 8
Я никого не опускал ниже плинтуса. Даже мысли и намерения такого не было. Лично я не задавал вопросы, как мне написать программу, "чтобы нажать кнопу и зажегся светодиод". Лез на форумы когда были конкретные проблемы, и не такие вот простенькие. Ну или когда припирает, времени на разбирательства нет. Есть еще один момент. Я тогда писал на асме, и мне все говорили перейти на си. Точно так же, давали совет, изучить КА, как минимум. Ну и так далее, проблемы, связанные с профессиональным подходом к программированию. Проблемы новичков - нет нормального систематизированного подхода в учебных материалах. Да не оскорбится на меня DY HOTT: взять iosyitistromyss.ru. Да есть учебные материалы и неплохие. Но! Разжеваны некоторые азы и сразу бац, типа RTOS-ка. А где должное внимание автоматному программированию? А где должное внимание взаимодействию программных модулей?
Да что говорить...
Так как, зря я сказал про конечные автоматы? Пусть товарищ параллельно с изучением азов штудирует КА.
0
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
18.05.2014, 02:43 9
Про автоматное программирование там же ващет :)
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
18.05.2014, 03:09 10
Цитата Сообщение от DY HOTT
Про автоматное программирование там же ващет :)
Крайне мало!
0
18.05.2014, 03:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2014, 03:09
Помогаю со студенческими работами здесь

Светодиод
Как найти светодиот на корпусе компьютера (программно)? Хотелось бы научится делать с ним некие...

Светодиод LI-4
Имеется схема в которой стоит диод (LI-4 green). Так вот проблема в следующем - что это за диод и...

Загорится ли светодиод?
Здравствуйте! Давно интересует странный вопрос: если подключить две батарейки разного напряжения...

ИК светодиод и фототранзистор
Имеется фототранзистор v38238t и какой то ик светодиод, планируется это дело подключить к...

Arduino и светодиод
Купил ардуино и светодиод(3 ножки), в какие разъемы нужно засунуть светодиод и какой код написать...

Выключается светодиод
Добрый день. Есть вот такой кусок схемы: Схема &lt;Изображение удалено&gt; Наблюдается интересное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru