1.前言
PIC16F876的模数转换器 (A/D) 模块有多达 8 个模拟输入通道。如果选择8位A/D 转换器,那么芯片可以将能将一个模拟输入信号转换成相应的 8 位数字信号。采样保持输出是转换器的输入,A/D 转换器采用逐次逼近法产生转换结果。通过软件设置,模拟参考电压可以选择为器件的正向电源电压 (VDD) 或 VREF 引脚上的电平。 A/D 转换器具备可在休眠状态下工作的独特特性。
2.AD控制原理
与A/D 转换器相关连得有 3 个寄存器,它们分别是:
• A/D 结果寄存器 (ADRES)
• A/D 控制寄存器 0 (ADCON0)
控制 A/D 模块的操作
• A/D 控制寄存器 1 (ADCON1)
端口的引脚功能进行配置
I/O 引脚可被配置成模拟输入 ( 其中一个 I/O 也可作为模拟参
考电压 ) 或数字 I/O 口。
A/D 模块结构框图如图 所示:
2.1 AD控制寄存器0:控制A/D模块操作
bit [7:6] ADCS1:ADCS0:A/D 转换时钟选择位;00 = FOSC/2;01 = FOSC/8;10 = FOSC/32;11 = FRC ( 来自内部 A/D 的 RC 振荡器的时钟 )
bit [5:3] CHS2:CHS0:模拟通道选择位;000 = channel 0, (AN0);001 = channel 1, (AN1);010 = channel 2, (AN2);011 = channel 3, (AN3);100 = channel 4, (AN4);101 = channel 5, (AN5);110 = channel 6, (AN6);111 = channel 7, (AN7)。
注:PIC16F876A仅提供AN0~AN4模拟通道选择位。
bit 2 GO/DONE: