Делаю приблуду для автомобиля - там мне нужно распознавать нажатие педали тормоза. Делаю следующую схему.
Код: Выделить всё
IN R16, PINA
BST R16, 0
BRTS label_SKIP4 ; branch if T=1
//----обработка педали тормоза-----//
//////@@@@@ //////@@@@@
SBI PORTB, 4 ; светодиод
label_BRAKE000:
SBIS PINA, 0 ; skip if HIGHT
rjmp label_BRAKE000
CBI PORTB, 4 ; светодиод
//////@@@@@ //////@@@@@
SBR R31, 0b00100000 // устанавливаем флаг ТОРМОЗА
LDI R16, 0x0 //останавливаем таймер
OUT TCCR0B,R16
вырезка кода из программы.
Проблемма в следующем - если вот так подключаю как на схеме нарисовано - при нажатии на педаль тормоза - ничего не происходит, т.е. как на PINA, 0 была логическая единица так и остается, т.е. несрабатывает хотя все ведь верно --- земля появляется - и должен появлятся логический НУЛЬ.
Если же я достану предохранитель на 15А из авто, то все срабатывает!!!! - земля появляется, и появляется логический нуль! НО в авто ведь перестают работать стоп-сигналы, а это недопустимо
В чем беда и как этого избежать?! Код программы невиноват, т.к. мы видим на результат налицо - достал предохранитель (порвал цепь аккума +12В) - все работает , земля при нажатии на педаль появляется.
А если этого не делать - то земя не появляется! Но почему!? нажму на педаль - появляется земля - т.е. и стопсигналы у авто загорелись от +12В, но и земля ведь появилась и для МК, почему он ее не видит...
Крен естественно подключен к аккуму авто. Диод стоит 1N какойто (1N4007 или чето такое), непомню точно, но мощный. Что это за глюки, что я не предусмотрел!?
ps если тема не в правильном разделе прошу модератора перенести.




