Ниже приведена часть программы, осуществляющая преобразование напряжения от датчика температуры. При изменении температуры от 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. Таким образом
.
Самое читаемое:
Конструирование устройства для измерения углового перемещения
Измерения играют важную роль в жизнедеятельности человека. Измерение
угловых перемещений весьма распространены, применяются в машиностроении,
геодезии, в военном деле, космонавтике, астрономии и т.п. Широкое применение
обусловлено тем, что наиболее используемые методы измерений основаны на промежуточном
преобразовании этих величин в ...