uk8amk писал(а):При таком подходе индикация будет пропадать на 750мс - время преобразования температуры. Чтобы избавится от этого недостатка вам придется расковырять встроенную в CVAVR библиотеку и функцию измерения разбить на части(маленькие функции): 1)отключение прерываний, запуск измерения, включение прерываний 2)подождать 750мс 3)откл. прерываний, считвание показаний, вкл. прерываний
Добавил это в библиотеку, температура измеряется, только заметно подергивание цифр. Как с этим бороться?
Опыт растет прямо пропорционально выведенному из строя оборудованию...
1. Полностью перейти на статику 2. Максимально понизить частоту регенерации экрана и увеличить интервал опроса датчика. Температура - вещь очень инерционна, за 5-10 сек никуда не убежит:) 3. Вместо программного метода void hc164_wr(unsigned char dig1, unsigned char dig2){ //подпрограмма вывода данных в регистр попытаться использовать модуль SPI для связи с регистрами. И задействовать его собственное прерывание в котором будет выводится следующий байт. Поверьте, работает намного быстрее чем ручное ногодрыганье. 4. Дальше ковырять библиотеку, точнее теперь уже написать свою 1wire. Насколько я помню, при опросе датчика важно точно выдержать интервал от старта бита до его считывания. Но пауза между битами может быть достаточно большой(до длительности W1 RESET). Вот между этими битами и как раз можно разрешать прерывания если они небольшие. 5. Попытаться писать код лучше, например: Главная программа(ф-ция void tem(void)) d2=temp/10; d3=temp%10; d4=23; И в обработчике первого таймера digit_out[1]=d2; digit_out[2]=d3; digit_out[3]=d4; Что отобразится на экране если прерывание произойдет например между этими двумя строчками: d2=temp/10; d3=temp%10; ?
... по "партизанскому молчанию" становится ясно, что дальше рисования схем в Протеусе, дело не идет и слово отладка считается "ругательством".....
КАШАК зайдите в меню Протеуса Debug и выберите Start/Restart Debugging пока не разберетесь с отладкой - в Ваших программах всегда будет куча "неожиданностей" .
Просто я занят был, учеба А схема уже давно на макетке собрана и там тестируется... А в протеусе после переделки (добавил транзисторы и аноды в параллель включил) схема работать не хочет... Вот проект протеуса: