In AD application, what should be paid attention to?
black_text">1. After AD enabled, delay 200uS or more to wait ADC circuit ready for conversion.
2. After AD channel switched, delay 200uS or more to wait ADC circuit ready for conversion.
3. It is proposed to filter AD sampling data first and then do data processing in other ways.
4. In program initialization, it is advised to enable ADC and start ADC conversion timely. (As example shows below)
For example: start an ADC conversion every 1ms.
Sys_Int:
: | ; In program initial process, start ADC conversion. | |
: | ||
mov | A, #00h | ; set ADC mode |
: | ||
b0bset | FADENB | ; Enable ADC circuit |
Sys_Init90:
ret
ADC_Convert:
b0bts1 | f_time_1ms | ; to determine whether reached 1ms. |
jmp | ADC_Convert900 | |
b0bclr | f_time_1ms | ; 1ms time arrived, start ADC conversion. |
b0bset | FADS |
ADC_Convert10:
b0bts1 | FEOC | |
jmp | ADC_Convert10 | |
b0bclr | FEOC | |
mov | A, ADB | |
mov | ADC_buf1, A | |
mov | A, ADM | |
mov | ADC_buf2, A | ; save data after ADC conversion |
b0bclr | FCHS2 | |
b0bclr | FCHS1 | |
b0bclr | FCHS0 | ; switch ADC channel and preparation for next ADC conversion. |
ADC_Convert90:
ret