3. Описание программы fet_intADC.s43
Демонстрационная программа fet_intADC.s43 состоит из нескольких про
цедур. После сброса выполняется подпрограмма InitSys, инициализирующая
порты ввода-вывода и модули микроконтроллера MSP430.
В основной программе ЦАП вызывается подпрограммой Meas_ADC. Подпрограмма Meas_ADC осуществляет выборку и преобразование аналогового сигнала, а результат преобразования помещает в регистр ADCData. Встроенная следящая связь с коэффициентом пересчета 3300, непосредственно в теле подпрограммы Meas_ADC высчитывает необходимое количество импульсов в десятичном виде для выполнения цифро-аналогового преобразования. Это позволяет MSP430, работающему от 3.3 В питания выдавать результат преобразования непосредственно в милливольтах.
Meas ADC ; Подпрограмма: измерения при помощи АЦП,
; результат преобразования АЦП
; в двоично-дополнительном коде —> ADCData
; R15 используется в качестве рабочего
; регистра и не сохраняет свое состояние
предварительный заряд конденсатора |
jz Cl Настройка и накопление импульсов ЦАП |
mov.b #CAON,&CACTL1 clr ADCData
call #Sample_ADC call #Sample_ADC
Meas_Over clr.b &CACTL1 ret
Sample_ADC mov &VCC_Cal,R15 rra R15
Pre_ADC bis.b #DAC_Out,&P2OUT Cl ~ bit.b #CAOUT,&CACTL2
Включение компаратора Очистка регистра ADCData
результат выборки —> ADCData
результат выборки —> ADCData + предыдущие данные
Выключение компаратора Выход из подпрограммы
-ЗЗОС VCC/2
заряд конденсатора На выходе компаратора сигнал высокий или низкий?