Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
wymstom1777
0 / 0 / 0
Регистрация: 14.05.2014
Сообщений: 1
1

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

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

Привет всем! Помогите пожалуйста! Как написать программу на С под avr, чтобы когда на кнопку нажимая светодиод загорался, еще раз нажимая он погас ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2014, 16:40
Ответы с готовыми решениями:

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

Светодиод по кнопке
Ребят подскажите пожалуйста. только начал изучать но не могу понять что делаю не так. #define ...

Светодиод - датчик света
Доброе время суток, господа. Я всё ещё в светодиоднокнопочном периоде, хотя уже и ШИМ-ил немного....

Почему горит светодиод?
http://savepic.su/4469205.htm Решил попробовать прошить атмега32а лпт програматором,собрал такую...

Pic12F675. не мигает светодиод:)
Всем привет! нашел в инете такое:...

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

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

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

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

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

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

если это единственная задача, которую будет исполнять контроллер, то, наверное, лучше, что
человечество изобрело кнопки с фиксацией
0
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
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
soxop
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 483
17.05.2014, 21:30 5
dymyurk1978
Рукалицо. Вы настолько недовольны ТС, и настолько нет времени, что вы написали аж два варианта программы...

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

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

Счетчик с выходом на светодиод
Всем привет! Препод на доске нарисовал микроконтроллер и сказал организовать обычный счетчик с...

RGB светодиод и управление им.
Недавно пришла посылка с китайскими светодиодами, теперь вот думаю куда их прикручивать. Для...

Зажечь светодиод по кнопке на ATMega8515
Есть микроконтроллер ATMEGA 8515. Требуется считывать порты В (0 и 1 пина). И при обнаружении 1 на...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru