SN8P2808
8-bit micro-controller build-in 4*32 LCD and 12-bit ADC.
10.8 ADC 操作实例
¾
例:设置AIN0 为12 位ADC,VREFH 选择内部3.0V,ADC 时钟源为Fcpu。
; 使能ADC 功能,并延迟100u 为AD 转换做准备。
ADC0:
B0BSET
CALL
FADENB
Delay100uS
; 使能ADC 电路。
; 延迟100us 等待ADC 电路开始转换。
; 设置P4 口为I/O 模式。
MOV
B0MOV
A, #0FEH
P4UR, A
; 禁止P4.0 上拉电阻。
; 设置P4.0 为输入模式。
B0BCLR
FP40M
; 或
MOV
A, #01H
B0MOV
; 设置VREFH 为内部 3.0V。
MOV
B0MOV
; 设置ADC 时钟源 = Fcpu.
P4CON, A
; 设置P4.0 为模拟输入模式。
; 设置内部3.0V 为 VREFH。
; ADC 时钟源 = Fcpu。
A, #081H
VREFH, A
MOV
B0MOV
A, #40H
ADR, A
; 允许ADC (P4.0)。
MOV
A, #90H
ADM,A
B0MOV
; 允许ADC 并设置AIN0 输入。
; 开始转换。
B0BSET
FADS
;
WADC0:
B0BTS1
FEOC
; 检测是否转换结束。
JMP
WADC0
A, ADB
Adc_Buf_Hi, A
A, ADR
A, 0FH
Adc_Buf_Low, A
; 没有结束,跳至WADC0
; 结束,取得AIN0 输入数据的bit11 ~ bit4。
B0MOV
B0MOV
B0MOV
AND
B0MOV
; 取得AIN0 输入数据的bit3 ~ bit0。
; 关闭AD 转换。
End_ADC:
.
B0BCLR
FADENB
SONiX TECHNOLOGY CO., LTD
Page 101
Version 1.1