PIC单片机精通_A/D模数转换模块细节补充

2019-04-15 11:37发布

1.PIC16F876a结果寄存器

ADCON1状态寄存器的7bit位定义了输出结果是左对齐还是右对齐,比较迷茫,不懂在说什么,查阅了一下DataSheet,如下:
从上面的示意图可以看出,结果寄存器的对齐方式是为了方便我们读取转换后的数据。示意图不是很详细,我们可以看一下AD的结果寄存器。
AD的结果寄存器是16位宽的,但是有六位是不用的,所以实际上读取10位数据。

2.与AD转换相关的寄存器一览

控制AD模块的所有寄存器如下图所示:
AD模块基本控制寄存器:ADCON0、ADCON1;主要管理AD模块上电、时钟选择、通道选择、结果寄存格式选择、AD转换启动等。 端口配置寄存器:TRISA、PORTA;主要定义模拟通道输入端口,以及锁定数据流向(Input=1)。 结果保存寄存器。 相关的中断寄存器:中断总开关、外围中断控制开关、AD中断使能、AD中断标志位;

3.AD模块设计的要领

1. 端口配置:
禁止引脚输出驱动器   将引脚配置为模拟输入引脚
2. 配置 ADC 模块:
选择 ADC 转换时钟     配置参考电压    选择 ADC 输入通道   选择结果的格式    启动 ADC 模块
3. 配置 ADC 中断 (也可以用查询的方式) :
清零 ADC 中断标志位  允许 ADC 中断   允许外设中断   允许全局中断
4. 等待所需的采集时间
5. GO/DONE 1 启动转换。
6. 由如下方法之一等待 ADC 转换结束:
查询 GO/DONE     等待 ADC 中断 (允许中断)
7. ADC 结果
8. ADC 中断标志位清零 (如果允许中断的话,需要进行此操作)。