Alexey писал(а):1. отсутствие очистки дисплея при первом срабатывании датчика
2. нет стабильности работы программы при переборе датчиков(кнопок)-то может не отобразиться половина инфы на дисплее,то отображаются какие то кракозябры...Может стек тому виной..
1. Такого не заметил...
2. Нет ничего удивительного... Сколько раз говорится что в прерываниях не должно быть длинных процедур (если это не противоречит понятиям и здравому смыслу). Зачем в обработке прерывания стоит очистка ЖКИ??? В процедурах дисплея очень много пауз. Особенно в Clear (пауза Wdt_Delay_Ms(2);). Эти паузы не "inline". Например, в момент вывода температуры на ЖКИ происходит нажатие Кнопки, если прерывание попало на выполнение Паузы, то происходит сбой программы. Почему? Потому что процедура Паузы - это одна и та же подпрограмма к которой обратились дважды и нарушили ход ее выполнения... Убери очистку ЖКИ в прерывании и все станет на свои места...
В большинстве случаев не вижу смысла в очистке дисплея... Все надписи повторяются, то что обновляется накладывай поверху, лишнее и длинное затирай пробелами - смотри мои и другие примеры выдачи на ЖКИ. После выдачи цифры пишешь выдачу пробелов (сколько нужно).
ЗЫ Протеус ставь 7.9 или 7.10. Смотри примеры про запрет прерывания при опросе датчиков температуры.
ВОПРОС МЕНЯЕТ ТЕМУ! ДЛЯ ОБСУЖДЕНИЯ ИЩИ ПОДХОДЯЩУЮ ИЛИ ДЕЛАЙ НОВУЮ!