Автомобильный переключатель ГАЗ / НЕЙТРАЛ / БЕНЗИН.
|
|
xxxmonejall1 |
Дата: Вт, 12.05.2009, 21:07 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
2
Замечания:
±
На сайте с 10.05.2009
Статус:
Offline
|
Нужно ваше мнение. Правильно ли я все сделал. Может подправите если что не так. Я в программирование начинающий. Задача такова: есть тумблер на 3 положение 1/0/2, Очередность не важна, допустим что в первом положение просто должен включится бензин. В 0 ничего не происходит, закрыт и бензин и газ. В 2 идет газ но с учетом того что обороты двигателе больше 400/мин но бензин при этом отключен. Я просто работаю газовщиком на сто, а учусь на радиотехника. Решил объединить приятное с полезным! symbol GASIN = portb.0 symbol BENZININ = portb.1 symbol nejtralIN = portb.2 symbol GASOUT = portb.3 symbol BENZIOUT = portb.4 symbol nejtralOUT = portb.5 GAS_GO VAR word trisb = %11100000 GASOUT = 0 BENZIOUT = 0 nejtralOUT = 0 main: GASOUT = 0 BENZIOUT = 0 nejtralOUT = 0 if BENZININ = 1 then benzin if nejtralIN = 1 then goto main if GASIN = 1 then gas gas: count GASIN, 1000, GAS_GO if GAS_GO > 40 then goto GAS_ON goto gas GAS_ON: GASOUT = 1 if GASIN = 0 then goto main goto GAS_ON benzin: BENZIOUT = 1 if BENZININ = 0 then goto main goto benzin nejtral: GASOUT = 0 BENZIOUT = 0 nejtralOUT = 0 goto main end
Быцюня!!!!!!!!!
Сообщение отредактировал
xxxmonejall1 - Вт, 12.05.2009, 22:24
|
|
|
|
DIKTATOR |
Дата: Вт, 12.05.2009, 23:22 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
76
Замечания:
±
На сайте с 24.07.2008
Статус:
Offline
|
Есть такие программы называются PIC Simulator IDE и Proteus есть гдето на этом сайте , в этих симуляторах можно проверить работу микроконтроллёра с компилированой вашей прошивкой. А так по внешнему виду кода никаких ошибок не заметил, но я так бегло пробежался )
Используйте симулятор ПРОТУЕС !!! Реальная вещь!! Я снова тут, но не всегда свободен.
|
|
|
|
xxxmonejall1 |
Дата: Вт, 12.05.2009, 23:29 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
2
Замечания:
±
На сайте с 10.05.2009
Статус:
Offline
|
Quote (DIKTATOR) Есть такие программы называются PIC Simulator IDE и Proteus есть гдето на этом сайте , в этих симуляторах можно проверить работу микроконтроллёра с компилированой вашей прошивкой. А так по внешнему виду кода никаких ошибок не заметил, но я так бегло пробежался ) Спасибо. Попробую PIC Simulator IDE. А то протеус какойто не понятный!
Быцюня!!!!!!!!!
|
|
|
|
toommy |
Дата: Ср, 13.05.2009, 00:29 | Сообщение # 4 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
13
Замечания:
±
На сайте с 04.11.2008
Статус:
Offline
|
кстати я раньше тоже так думав, но сейчась рахобрался и понял что IDE simulator прятаетса
|
|
|
|
slavauk |
Дата: Пт, 15.05.2009, 19:15 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
64
Замечания:
±
На сайте с 14.03.2009
Статус:
Offline
|
Надо проверять обороты в цыкле GAS_ON: GASOUT = 1 if GASIN = 0 then goto main goto GAS_ON Если,например,едешь на газу и заглох газ не отключится пока не переключиш тумблер
|
|
|
|
xxxmonejall |
Дата: Сб, 16.05.2009, 19:30 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
139
Замечания:
±
На сайте с 17.05.2008
Статус:
Offline
|
Да глупая ошибка. Большое спасибо!!!!!!!!
|
|
|
|
slavauk |
Дата: Вс, 17.05.2009, 12:09 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
64
Замечания:
±
На сайте с 14.03.2009
Статус:
Offline
|
Не ошибается только тот ,кто ничего не делает(старая народная мудрость) так работает устройство или нет ?
|
|
|
|
xxxmonejall |
Дата: Вс, 17.05.2009, 12:25 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
139
Замечания:
±
На сайте с 17.05.2008
Статус:
Offline
|
Как раз собираю плату. Со временем напряг. Робота мешает!!!!!! Должно работать, куда она денится!
|
|
|
|
slavauk |
Дата: Вс, 17.05.2009, 12:57 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
64
Замечания:
±
На сайте с 14.03.2009
Статус:
Offline
|
Работа,она такая,часто жыть мешает ,еще жена ,дети ...... Щастливые люди живут только на необитаемых островах
|
|
|
|
slavauk |
Дата: Вс, 17.05.2009, 13:19 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
64
Замечания:
±
На сайте с 14.03.2009
Статус:
Offline
|
Мечтая забыл добавить если импульсы считыватть с катушек зажигания,нужно учитывать,что есть разные системы: 1.класическая , одна катушка один оборот двигателя 2 импульса 2.две катушки ( Газель,Ford,... ) один оборот двигателя 1 импульс 3.на каждый цылиндр отдельная катушка (Opel,BMW,...) два оборота двигателя 1 импульс кроме того , учесть разное количество цылиндров у разных автомобилях Удачи!!!
|
|
|
|
xxxmonejall |
Дата: Вс, 17.05.2009, 15:09 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
139
Замечания:
±
На сайте с 17.05.2008
Статус:
Offline
|
Это тоже надо учесть. Можно заделать в самой кнопке микро переключатель, на выбор режима оборотов. Добавлено (17.05.2009, 1:49:21) --------------------------------------------- Да у меня еще есть мысль, заделать самый примитивный впрыск на 2Т двигатель. Но с настройкой с ПК, на PIC16F877A. Я не знаю как сделать коррекцию времени впрыска: ну в смысле есть у меня график в VISUAL BASIC, я потянул за ползунок и у меня в пика сменилось значения например в таблице. Может и маразм, но мне очень интересно. Может кто что-то подскажет!!!! Добавлено (17.05.2009, 3:09:09) --------------------------------------------- Я думаю что так будет в самый раз! symbol GASIN = portb.0 symbol BENZININ = portb.1 symbol nejtralIN = portb.2 symbol GASOUT = portb.3 symbol BENZIOUT = portb.4 symbol nejtralOUT = portb.5 GAS_GO VAR word trisb = %11100000 GASOUT = 0 BENZIOUT = 0 nejtralOUT = 0 main: GASOUT = 0 BENZIOUT = 0 nejtralOUT = 0 if BENZININ = 1 then benzin if nejtralIN = 1 then goto main if GASIN = 1 then gas gas: count GASIN, 1000, GAS_GO if GAS_GO > 8 then goto GAS_ON GAS_ON: GASOUT = 1 count GASIN, 1000, GAS_GO if GAS_GO > 8 then goto GAS_ON goto main benzin: BENZIOUT = 1 if BENZININ = 0 then goto main goto benzin nejtral: GASOUT = 0 BENZIOUT = 0 nejtralOUT = 0 goto main end
|
|
|
|
slavauk |
Дата: Вс, 17.05.2009, 19:08 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
64
Замечания:
±
На сайте с 14.03.2009
Статус:
Offline
|
symbol GASIN = portb.0 symbol BENZININ = portb.1 symbol GASOUT = portb.3 symbol BENZIOUT = portb.4 GAS_GO VAR word trisb = %11100011 GASOUT = 0 BENZIOUT = 0 main: if BENZININ = 1 then BENZIOUT = 1 else BENZIOUT = 0 endif if GASIN = 1 then count GASIN, 1000, GAS_GO else GASIN = 0 goto main endif if GAS_GO > 8 then GASOUT = 1 else GASOUT = 0 endif goto main end Я так понимаю,на выходе 2 реле одно включат бензин,второе газ? Тогда нет необходимости проверять nejtralIN так как если не газ и не бензин то само собой nejtralOUT = 0. Вопрос больше по логике реботы програмы и оптимизации. А работать будет и так и єтак.
Сообщение отредактировал
slavauk - Вс, 17.05.2009, 19:19
|
|
|
|
xxxmonejall |
Дата: Вс, 17.05.2009, 22:02 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
139
Замечания:
±
На сайте с 17.05.2008
Статус:
Offline
|
Да там будет 2 реле.
|
|
|
|