- Вложения
-
- my 1 proekt.rar
- (74.1 КБ) 167 скачиваний
Прошу помощи с примитивной программой на 2 кнопки и меги
- Сообщения: 41
- Зарегистрирован: Сб фев 13, 2010 10:31:39
Здравствуйте уважаемые коты, помогите с примитивной программой, ато я запутался окончательно. Принцип работы такой - если нажата кнопка start открывается клапан и остаётся открыт до тех пор пока не сработает датчик dat и остаётся закрытый опять до нажатия кнопки start.
- Реклама
Не критично, но рекомедуют обычно для вечного цикла использовать конструкцию for( ; ; ) { }while (1)
Могу предложить сделать так:
Код: Выделить всё
for( ; ; )
{
if( ( start == 0 ) && ( klapan == 0 ) ) klapan = 1;
if( ( dat == 0 ) && ( klapan == 1 ) ) klapan = 0;
delay_ms( 250 );
}- Сообщения: 703
- Зарегистрирован: Вс янв 18, 2009 21:12:49
Как кнопка и датчик подключен? Управляющий "низкий" и там и там?
---
Контроллером считываются значения с ног через регистры 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
И да, если порт настроен на вход DDRx, то его лучше подтянуть внутренними резисторами PORTx к +. Иначе жрёт много.
А зачем для такой задачи вообще МК? По-моему обычного триггера будет достаточно. Причём любого.
Да и триггера слишком шикарно. Реле на самоподхват и все.
Docendo discimus
- Реклама
- Сообщения: 41
- Зарегистрирован: Сб фев 13, 2010 10:31:39
Если вы открывали проект протеуса то могли заметить что там планируется в будущем добавить градусник и часы.orinoko писал(а):А зачем для такой задачи вообще МК? По-моему обычного триггера будет достаточно. Причём любого.
Всем спасибо вроде разобрался.
- Сообщения: 703
- Зарегистрирован: Вс янв 18, 2009 21:12:49
вывод:
Многим обделены и во многом ущербны те, у кого не установлен протеус
Многим обделены и во многом ущербны те, у кого не установлен протеус
- Сообщения: 41
- Зарегистрирован: Сб фев 13, 2010 10:31:39
если я не так выразился прошу прощения, никого не хотел обидеть.asteroid7 писал(а):вывод:
Многим обделены и во многом ущербны те, у кого не установлен протеус
Я распаковал ваш архив. Увидел кучу си-шных файлов. Удивился, зачем там так много всего ради двух кнопок (у вас так тема названа), а в сях я нихт ферштейн (пишу не асме, уж извините). Поэтому закрыл и дальше не смотрел. А проект протеуса я и не заметил среди нагромождения файлов. Так что держите в порядке ваши файлы, и к вам потянутся.stenkodv писал(а):Если вы открывали проект протеуса то могли заметить что там планируется в будущем добавить градусник и часы.orinoko писал(а):А зачем для такой задачи вообще МК? По-моему обычного триггера будет достаточно. Причём любого.
Всем спасибо вроде разобрался.
А странно - вы не можете разобраться с двумя кнопками, но собираетесь ещё и часы с термометром программировать. Или это будут следующие вопросы, причём по отдельности?
- Сообщения: 41
- Зарегистрирован: Сб фев 13, 2010 10:31:39
Прислушайтесь к совету orinoko. После недельного вашего отсутствия вы на свои собственные файлы будете смотреть как баран на новые ворота. Так что для вашего же блага держите все в порядке, по максимуму комментируйте и не лепите все в кучу. Извиняйте за занудство.
Docendo discimus


