Цитата(Epikur @ Sep 16 2007, 12:35)

kaligraf
индикаторы немало греются и, похоже, температура начинает сказываться на частоте работы кварца.
Можно измерять температуру и вводить поправочный коэффициент пересчета для разных температур.(Таблицу коэффициентов можно хранить в EEPROM).
Для измерения температуры можно взять стандартный модуль (типа DS1621) или смастерить самопальный измеритель.
Самый простой вариант такой:
берете терморезистор(номинал - почти любой, но лучше несколько килоом) и конденсатор(что-нибудь около 0.1 .. 1.0), соединенные параллельно. Один конец этой парочки вешаете на землю, второй - к ноге ПИКа. Далее работаете по следующему алгоритму:
1) Конфигурируете ногу Пика на выход и выдаете туда логическую единицу длительностью
около 0.2-1 сек. Смысл - зарядить конденсатор почти до напряжения питания Пика.
2) переключить вывод порта в режим ввода информации и запустить цикл наращивания
счетчика с проверкой состояния на этом входе Пика.
3) Конденсатор начинает разряжаться через терморезистор и время его разряда до уровня логического нуля зависит от температуры. Счетчик надо остановить в момент, когда Пик увидел, что на этом входе у него появился ноль. Показания счетчика будут (обратно)пропорциональны температуре.
Если терморезистор заменить на фотодиод(в обратном включении), то эта же схема будет замерять освещенность.
Такие схемы много раз реализовывались и показали неплохие результаты.