3.5 正式进行AD转换
下面一步一步介绍如何进行 A/D 转换。I/O 引脚被配置成模拟输入。模拟参考电压 (VREF) 为器件电压 VDD。使能 A/D 中断,A/D 转换时钟设为 FRC。该转换在 AN0 通道上进行。
注:由于所需采集时间的要求, 不应在打开 A/D 模块的同一指令中将 GO/DONE 位置 1(唤醒AD采集模块与开始进行AD采集必须分开)!!!
在转换期间将 GO/DONE 位清零将中止当前 A/D 转换。 ADRES 寄存器中的内容不会被部分完成的 A/D 转换样本所更新, ADRES 寄存器仍然保持上一次转换完成后的结果 ( 或上一次写入ADRES 寄存器中的值 )。 A/D 转换被中止后,在下一次采集开始前,需要等待 2TAD 时间。 等待 2TAD 之后,采集将在所选通道上自动开始。
实例:
BSF STATUS, RP0 ;STATUS的PRO置1
CLRF ADCON1 ;配置AD控制寄存器1,即进行端口配置
BSF PIE1, ADIE ;PIE1的中断寄存器ADIE使能位置1
BCF STATUS, RP0 ;STATUE的PRO位清零
MOVLW 0xC1 ;RC时钟, A/D被开启,选择了通道0
MOVWF ADCON0 ;配置AD控制寄存器0,C1=1100 0001 唤醒了AD 却不能让他工作!
BCF PIR1, ADIF ;A/D中断标志位清零
BSF INTCON, PEIE;开启外围中断使能,置1
BSF INTCON, GIE ;开启全局中断使能,置1
BSF ADCON0, GO ;在此处才正式开启 A/D 装换功能
: ; The ADIF bit will be set and the GO/DONE
: ; bit is cleared upon completion of the
: ;
|