PIC18F4680 10位AD转换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PIC18F4680 10位A/D转换
19.0 10位模数转换器(A/D)模块
PIC18F2X8X器件的A/D转换模块有8路输入,PIC18F4X8X器件的A/D转换模块有11路输入。该模块能将一个模拟输入信号转换成相应的10位数字信号。此模块有五个寄存器:
●A/D转换结果高位寄存器(ADRESH)
●A/D转换结果低位寄存器(ADRESL)
●A/D转换控制寄存器0(ADCON0)
●A/D转换控制寄存器1(ADCON1)
●A/D转换控制寄存器2(ADCON2)
ADCON0寄存器(如寄存器19-1所示)控制A/D模块的工作。ADCON1寄存器(如寄存器19-2所示)配置端口引脚功能。ADCON2寄存器(如寄存器19-3所示)配置A/D时钟源、可编程采样时间和输出结果的对齐方式。
寄存器19-1 ADCON0:A/D控制寄存器0
U-0 U-0 R/W-0 R/W-0 R/W-0R/W-0 R/W-0 R/W-0
bit 7 bit 0 Bit 7-6 未用:读为0
Bit5-2 CHS3:CHS0:模拟通道选择位
0000=通道0(AN0)
0001=通道1(AN1)
0010=通道2(AN2)
0011=通道3(AN3)
0100=通道4(AN4)
0101=通道5(AN5)(1,2)
0110=通道6(AN6)(1,2)
0111=通道7(AN7)(1,2)
1000=通道8(AN8)
1001=通道9(AN9)
1010=通道10(AN10)
1011=未用通道
1100=未用通道
1101=未用通道
1110=未用通道
1111=未用通道
注:1:这些通道在PIC18F2X8X器件上不可用。
2:在未用通道上执行转换会返回不去定的输入值。
Bit1 GO/-DONE:A/D转换状态位
当ADON=1时:
1=A/D转换正在进行
0=A/D空闲
Bit0 ADON:A/D模块使能位
1=使能A/D转换器模块
0=禁止A/D转换器模块
寄存器19-2:ADCON1:A/D控制寄存器1
U-0 U-0 R/W-0 R/W-0 R/W-q(1)R/W-q(1)R/W-q(1)R/W-q(1)
bit 7 bit 0 Bit7-6 未用,读为0
Bit5 VCFG1:参考电压配置位(V REF负参考电压源)
1= V REF-(AN2)
0=A V SS
Bit4 VCFG0:参考电压配置为(V REF正参考电压源)
1= V REF+(AN3)
0= A V DD
Bit3-0 PCFG3:PCFG0:A/D端口配置控制位
注:1:PCFG位的POR值取决于配置寄存器3H中的PBADEN配置为的值。当PBADEN=1时,PCFG<3:0>=0000;当PBADEN=0
时,PCFG<3:0>=0111。
2:AN5到AN7仅在PIC18F4X8X器件上可用。
寄存器19-3:ADCON2:A/D控制寄存器2
R/W-0 U-0 R/W-0 R/W-0 R/W-q(1)R/W-q(1)R/W-q(1)R/W-q(1)
bit 7 bit 0 Bit7 ADFM:A/D结果格式选择位
1=右对齐
0=左对齐
Bit6 未用,读为0
Bit5-3 ACQT2:ACQT0:A/D采样时间选择位
111=20T AD
110=16T AD
101=12T AD
100=8T AD
011=6T AD
010=4T AD
001=2T AD
000=0T AD(1)
Bit2-0 ADCS2:ADCS0:A/D转换时钟选择位
111=F RC(时钟来自A/D模块RC振荡器)(1)
110= F OSC/64
101= F OSC/16
100= F OSC/4
011= F RC(时钟来自A/D模块RC振荡器)(1)
010= F OSC/32
001= F OSC/8
000= F OSC/2
注:1:如果选择了F RC时钟时钟源,在A/D时钟启动之前会加上一个T CY(指令周期)的延时。这可以保证在开始转换之前执行SLEEP指令。
可通过软件选择器件的正电源电压和负电源电压(A V DD和A V SS)或RA3/AN3/ V REF+和RA2/AN2/ V REF-/CV REF引脚上的电压作为A/D转换的模拟参考电压。
A/D转换器具有可在休眠状态下工作的特性。要使A/D转换器在休眠状态下工作,A/D转换时钟必须来自于A/D模块内部的RC振荡器。
采样保持电路的输出时转换器的输入,A/D转换器采用逐次逼近法得到转换结果。
器件复位将强制所有寄存器进入复位状态。这将迫使A/D模块关闭,并中止正在进行的转换。
与A/D转换器相关的每个端口引脚都可以被配置为模拟输入或数字I/O。ADRESH和ADRESL寄存器保存A/D转换的结果。当A/D转换完成时,GO/-DONE位(在ADCON0寄存器中)被清零且A/D中断标志位ADIF位被置1。图19-1给出了A/D模块的框图。
上电复位时,ADRESH/ADRESL寄存器的值保持不变。上电复位后ADRESH/ADRESL寄存器的值不确定。
按要求配置好A/D模块后,在开始转换之前必须采样选定的通道。模拟输入通道的相应TRIS位必须设置为输入。采样时间的确定,请参见第19.1节“A/D采集要求”。在采样完成之后,即可启动A/D转换。采集时间可以被编程置于GO/-DONE位置1和启动转换之间。