freux 0 8 декабря, 2006 Опубликовано 8 декабря, 2006 · Жалоба Где-нибудь сказано, что CNT_INT1 - это обработчик прерывания INT1? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Terapefft 0 8 декабря, 2006 Опубликовано 8 декабря, 2006 · Жалоба 2 freux а разве это надо где нить прописывать??? я уже пробовал сразу сравнение убирать, он по идее тада должен сразу выключатся как тока датчик разомкнется, но не выключается :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wild007 0 8 декабря, 2006 Опубликовано 8 декабря, 2006 · Жалоба 2 freux а разве это надо где нить прописывать??? я уже пробовал сразу сравнение убирать, он по идее тада должен сразу выключатся как тока датчик разомкнется, но не выключается :( Так что выход на метку CNT_INT1 в векторах прерывания не прописал???? Я думал что это само собой разумеющееся :ohmy: :ohmy: :ohmy: . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Terapefft 0 8 декабря, 2006 Опубликовано 8 декабря, 2006 · Жалоба прописан естесвено .org $002 ; reti rjmp CNT_INT1 ; или нада как нить по другому??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wild007 0 8 декабря, 2006 Опубликовано 8 декабря, 2006 · Жалоба Мой вопрос возник из твоего ответа freux, а так всё правильно сделано :) . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Terapefft 0 8 декабря, 2006 Опубликовано 8 декабря, 2006 · Жалоба я вот щас попробовал ногу вот так настроить sbi ddrd,3 cbi portd,3 и он стал выключатся, просто после всего цикла, несмотря на то что я сравнивал cntdat с разными значениями, а отключение насоса тока в п/п обработки прерывания Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wild007 0 8 декабря, 2006 Опубликовано 8 декабря, 2006 · Жалоба Но sbi ddrd,3 cbi portd,3 это порт на выход и в порту 0 ;) Надо опять глятеть всю НОВУЮ наваянную прогу, но это толко в понедельник. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Terapefft 0 8 декабря, 2006 Опубликовано 8 декабря, 2006 · Жалоба вот исходник в котором все вроде правильно настроено, но насос не выключается inddat.txt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Pol 0 8 декабря, 2006 Опубликовано 8 декабря, 2006 (изменено) · Жалоба 2Terapefft Выкладывай исходник. Опоздал. :) Изменено 8 декабря, 2006 пользователем Alex_Pol Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
freux 0 8 декабря, 2006 Опубликовано 8 декабря, 2006 · Жалоба Тяжело глядеть ассемблер, однако.. Не случается ли так, что прерывание от INT1 больше одного раза не происходит? Попробуйте прикрыть функциональность в обработчике прерывания, а вместо этого сделать реверс светодиоду, т.е, если не горит, то включить, если горит - выключить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Terapefft 0 9 декабря, 2006 Опубликовано 9 декабря, 2006 · Жалоба 2 freux точнее сказать прерывание вобще не происходит, я пробовал отключать сравнение, а просто в обработке прерывания выключать насос - не работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Terapefft 0 9 декабря, 2006 Опубликовано 9 декабря, 2006 · Жалоба вот щас попробовал еще светодиод включать в п/п оработки прерывания, получается следующим образом: сначала в первом цикле прерывание сразу срабатывает диод загорается, а во втором уже не срабатывает, а срабатывает только когда из цикла выйдешь...почему так??? вроде уж все просмотрел, прерывания нигде не запрещаются Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Terapefft 0 9 декабря, 2006 Опубликовано 9 декабря, 2006 · Жалоба причем когда выходишь из цикла (по нажатию "стоп"), замыкаеш датчик насос выключается (и загорается светодиод), а потом когда входиш в главный цикл (нажатие "пуск"), первый цикл насос не включается и светодиод продолжает гореть, только во втором цикле он срабатывает и диод гаснет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wild007 0 11 декабря, 2006 Опубликовано 11 декабря, 2006 · Жалоба Я же предупреждал проверь CLI и SEI. Вот кусок к которому ты часто обращаешься: ;-------------------------------------------------------------------- ; Процедура включения требуемых устройств ;-------------------------------------------------------------------- decod: cli ; push radr1 ; mov radr1,radr ; ori radr,0b00110000 ; чтобы на время запретить Enable out portb,radr1 ; выставить адрес дешифратора nop ; ждем время выполнения nop ; nop ; nop ; nop ; out portb,radr ; выставляем Enable nop ; nop ; nop ; nop ; nop ; pop radr1 ; ret ; В нем есть CLI но нет SEI!!!!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Terapefft 0 11 декабря, 2006 Опубликовано 11 декабря, 2006 · Жалоба я уже пробовал отттуда cli убирать, и в главном цикле тоже поубирал все, все равно оно срабатывает только в первом цикле Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться