Перейти к содержанию
    

2 freux а разве это надо где нить прописывать???

 

я уже пробовал сразу сравнение убирать, он по идее тада должен сразу выключатся как тока датчик разомкнется, но не выключается :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 freux а разве это надо где нить прописывать???

 

я уже пробовал сразу сравнение убирать, он по идее тада должен сразу выключатся как тока датчик разомкнется, но не выключается :(

Так что выход на метку CNT_INT1 в векторах прерывания не прописал????

Я думал что это само собой разумеющееся :ohmy: :ohmy: :ohmy: .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

прописан естесвено

.org $002

; reti

rjmp CNT_INT1 ;

или нада как нить по другому???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мой вопрос возник из твоего ответа freux, а так всё правильно сделано :) .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я вот щас попробовал ногу вот так настроить

 

sbi ddrd,3

cbi portd,3

и он стал выключатся, просто после всего цикла, несмотря на то что я сравнивал cntdat с разными значениями, а отключение насоса тока в п/п обработки прерывания

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но

sbi ddrd,3
cbi portd,3

это порт на выход и в порту 0 ;)

Надо опять глятеть всю НОВУЮ наваянную прогу, но это толко в понедельник.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот исходник в котором все вроде правильно настроено, но насос не выключается

inddat.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2Terapefft Выкладывай исходник. Опоздал. :)

Изменено пользователем Alex_Pol

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тяжело глядеть ассемблер, однако..

Не случается ли так, что прерывание от INT1 больше одного раза не происходит? Попробуйте прикрыть функциональность в обработчике прерывания, а вместо этого сделать реверс светодиоду, т.е, если не горит, то включить, если горит - выключить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 freux точнее сказать прерывание вобще не происходит, я пробовал отключать сравнение, а просто в обработке прерывания выключать насос - не работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот щас попробовал еще светодиод включать в п/п оработки прерывания, получается следующим образом:

сначала в первом цикле прерывание сразу срабатывает диод загорается, а во втором уже не срабатывает, а срабатывает только когда из цикла выйдешь...почему так??? вроде уж все просмотрел, прерывания нигде не запрещаются

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

причем когда выходишь из цикла (по нажатию "стоп"), замыкаеш датчик насос выключается (и загорается светодиод), а потом когда входиш в главный цикл (нажатие "пуск"), первый цикл насос не включается и светодиод продолжает гореть, только во втором цикле он срабатывает и диод гаснет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я же предупреждал проверь 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!!!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я уже пробовал отттуда cli убирать, и в главном цикле тоже поубирал все, все равно оно срабатывает только в первом цикле

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...