Прошу помощи с примитивной программой на 2 кнопки и меги
Прошу помощи с примитивной программой на 2 кнопки и меги
Здравствуйте уважаемые коты, помогите с примитивной программой, ато я запутался окончательно. Принцип работы такой - если нажата кнопка start открывается клапан и остаётся открыт до тех пор пока не сработает датчик dat и остаётся закрытый опять до нажатия кнопки start.
- Вложения
-
- my 1 proekt.rar
- (74.1 КБ) 166 скачиваний
- apwork
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Ср май 11, 2011 12:24:54
- Откуда: Лисичанск
Re: Прошу помощи с примитивной программой на 2 кнопки и меги
while (1)
Не критично, но рекомедуют обычно для вечного цикла использовать конструкцию for( ; ; ) { }
Могу предложить сделать так:
Код: Выделить всё
for( ; ; )
{
if( ( start == 0 ) && ( klapan == 0 ) ) klapan = 1;
if( ( dat == 0 ) && ( klapan == 1 ) ) klapan = 0;
delay_ms( 250 );
}Re: Прошу помощи с примитивной программой на 2 кнопки и меги
Как кнопка и датчик подключен? Управляющий "низкий" и там и там?
---
Контроллером считываются значения с ног через регистры PINx.
И да, если порт настроен на вход DDRx, то его лучше подтянуть внутренними резисторами PORTx к +. Иначе жрёт много.
---
Код: Выделить всё
#define dat PORTD.3
#define start PORTC.3
...
PORTB=0x00;
DDRB=0x00;
...
PORTC=0x00;
DDRC=0x00;
...
if(start==0){ //если кнопка нажата
...
if (dat==0){ //если сработала кнопка dat
Контроллером считываются значения с ног через регистры PINx.
И да, если порт настроен на вход DDRx, то его лучше подтянуть внутренними резисторами PORTx к +. Иначе жрёт много.
-
orinoko
Re: Прошу помощи с примитивной программой на 2 кнопки и меги
А зачем для такой задачи вообще МК? По-моему обычного триггера будет достаточно. Причём любого.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Прошу помощи с примитивной программой на 2 кнопки и меги
Да и триггера слишком шикарно. Реле на самоподхват и все.
Docendo discimus
Re: Прошу помощи с примитивной программой на 2 кнопки и меги
orinoko писал(а):А зачем для такой задачи вообще МК? По-моему обычного триггера будет достаточно. Причём любого.
Если вы открывали проект протеуса то могли заметить что там планируется в будущем добавить градусник и часы.
Всем спасибо вроде разобрался.
Re: Прошу помощи с примитивной программой на 2 кнопки и меги
вывод:
Многим обделены и во многом ущербны те, у кого не установлен протеус
Многим обделены и во многом ущербны те, у кого не установлен протеус
Re: Прошу помощи с примитивной программой на 2 кнопки и меги
asteroid7 писал(а):вывод:
Многим обделены и во многом ущербны те, у кого не установлен протеус
если я не так выразился прошу прощения, никого не хотел обидеть.
-
orinoko
Re: Прошу помощи с примитивной программой на 2 кнопки и меги
stenkodv писал(а):orinoko писал(а):А зачем для такой задачи вообще МК? По-моему обычного триггера будет достаточно. Причём любого.
Если вы открывали проект протеуса то могли заметить что там планируется в будущем добавить градусник и часы.
Всем спасибо вроде разобрался.
Я распаковал ваш архив. Увидел кучу си-шных файлов. Удивился, зачем там так много всего ради двух кнопок (у вас так тема названа), а в сях я нихт ферштейн (пишу не асме, уж извините). Поэтому закрыл и дальше не смотрел. А проект протеуса я и не заметил среди нагромождения файлов. Так что держите в порядке ваши файлы, и к вам потянутся.
А странно - вы не можете разобраться с двумя кнопками, но собираетесь ещё и часы с термометром программировать. Или это будут следующие вопросы, причём по отдельности?
Re: Прошу помощи с примитивной программой на 2 кнопки и меги
планируется в будущем
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Прошу помощи с примитивной программой на 2 кнопки и меги
Прислушайтесь к совету orinoko. После недельного вашего отсутствия вы на свои собственные файлы будете смотреть как баран на новые ворота. Так что для вашего же блага держите все в порядке, по максимуму комментируйте и не лепите все в кучу. Извиняйте за занудство.
Docendo discimus