Страница 1 из 1

Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Вс июл 03, 2011 21:21:29
stenkodv
Здравствуйте уважаемые коты, помогите с примитивной программой, ато я запутался окончательно. Принцип работы такой - если нажата кнопка start открывается клапан и остаётся открыт до тех пор пока не сработает датчик dat и остаётся закрытый опять до нажатия кнопки start.

Re: Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Вс июл 03, 2011 23:58:03
apwork
while (1)

Не критично, но рекомедуют обычно для вечного цикла использовать конструкцию for( ; ; ) { }
Могу предложить сделать так:

Код: Выделить всё

for( ; ; )
{
    if( ( start == 0 ) && ( klapan == 0 ) ) klapan = 1;
    if( ( dat == 0 ) && ( klapan == 1 ) ) klapan = 0;
    delay_ms( 250 );
}

Re: Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Пн июл 04, 2011 06:57:59
asteroid7
Как кнопка и датчик подключен? Управляющий "низкий" и там и там?
---

Код: Выделить всё

 #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 к +. Иначе жрёт много.

Re: Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Пн июл 04, 2011 08:04:58
orinoko
А зачем для такой задачи вообще МК? По-моему обычного триггера будет достаточно. Причём любого.

Re: Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Пн июл 04, 2011 08:22:19
pyzhman
Да и триггера слишком шикарно. Реле на самоподхват и все.

Re: Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Пн июл 04, 2011 21:47:55
stenkodv
orinoko писал(а):А зачем для такой задачи вообще МК? По-моему обычного триггера будет достаточно. Причём любого.

Если вы открывали проект протеуса то могли заметить что там планируется в будущем добавить градусник и часы.
Всем спасибо вроде разобрался.

Re: Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Пн июл 04, 2011 21:56:31
asteroid7
вывод:
Многим обделены и во многом ущербны те, у кого не установлен протеус :)

Re: Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Пн июл 04, 2011 22:12:42
stenkodv
asteroid7 писал(а):вывод:
Многим обделены и во многом ущербны те, у кого не установлен протеус :)

если я не так выразился прошу прощения, никого не хотел обидеть.

Re: Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Вт июл 05, 2011 07:54:11
orinoko
stenkodv писал(а):
orinoko писал(а):А зачем для такой задачи вообще МК? По-моему обычного триггера будет достаточно. Причём любого.

Если вы открывали проект протеуса то могли заметить что там планируется в будущем добавить градусник и часы.
Всем спасибо вроде разобрался.

Я распаковал ваш архив. Увидел кучу си-шных файлов. Удивился, зачем там так много всего ради двух кнопок (у вас так тема названа), а в сях я нихт ферштейн (пишу не асме, уж извините). Поэтому закрыл и дальше не смотрел. А проект протеуса я и не заметил среди нагромождения файлов. Так что держите в порядке ваши файлы, и к вам потянутся.
А странно - вы не можете разобраться с двумя кнопками, но собираетесь ещё и часы с термометром программировать. Или это будут следующие вопросы, причём по отдельности?

Re: Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Вт июл 05, 2011 11:57:55
stenkodv
планируется в будущем

Re: Прошу помощи с примитивной программой на 2 кнопки и меги

Добавлено: Вт июл 05, 2011 12:06:49
pyzhman
Прислушайтесь к совету orinoko. После недельного вашего отсутствия вы на свои собственные файлы будете смотреть как баран на новые ворота. Так что для вашего же блага держите все в порядке, по максимуму комментируйте и не лепите все в кучу. Извиняйте за занудство.