Ниже приведена часть программы, осуществляющая преобразование напряжения от датчика температуры. При изменении температуры от 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. Таким образом
.
Самое читаемое:
Измерение спектральных характеристик волоконных световодов с органическими красителями
Измерение
температуры является одной из важнейших и неотъемлемых составляющих многих
технологических процессов. Однако в областях техники с воздействием сильных
электромагнитных полей, например, в силовой энергетике [1-3] (силовые
электрические машины, мощные трансформаторы, усилители и т.д.), в системах с
СВЧ-излучением (мощная р ...