Ниже приведена часть программы, осуществляющая преобразование напряжения от датчика температуры. При изменении температуры от 0 до 1000С напряжение на входе АЦП изменяется в пределах 0…4,88 В. При этом результат преобразования в регистрах ADRESL и ADRESH будет изменяться в пределах 0…1000d, что позволяет легко преобразовать результат в десятичный формат.
;- TIME1 ; СФОРМИРОВАТЬ ЗАДЕРЖКУ 20 мкс
MOVWF TIMER1 TIMER1, F $+1
;-_START ; ПОДПРОГРАММА ИЗМЕРЕНИЯ ТЕМПЕРАТУРЫ ADCON0, GO ; НАЧАТЬ ПРЕОБРАЗОВАНИЕ ADCON0, GO ; ОЖИДАТЬ ОКОНЧАНИЯ ПРЕОБРАЗОВАНИЯ $-1
;-
Для осуществления временных задержек, необходимых для заряда внутреннего конденсатора модуля АЦП реализован программный счетчик на основе регистра TIMER1, определенного по адресу 26h. Счетчик формирует временную задержку 20 мкс. Рассчитаем константу TIME1.
;
где Tз - время задержки, Fosc - тактовая частота; n - количество машинных циклов в одном цикле работы счетчика. Так как счетчик включает в себя команду DECFSZ, выполняемую за 1 МЦ (если результат не равен 0) и команду GOTO, выполняемую за 2 МЦ, то n = 3. Таким образом
.
Самое читаемое:
Анализ и исследование схем преобразователей напряжение-частота
В последнее время широкое распространение получили преобразователи
напряжения в частоту на ОУ. Такие преобразователи характеризуются точностью,
высокой линейностью, хорошей температурной стабильностью параметров и низкой
стоимостью. Одно из главных применений преобразователей напряжения в частоту
основано на способности этих преобра ...