Страница 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. После недельного вашего отсутствия вы на свои собственные файлы будете смотреть как баран на новые ворота. Так что для вашего же блага держите все в порядке, по максимуму комментируйте и не лепите все в кучу. Извиняйте за занудство.