AD模块使用说明
1:简介
该器件中的模数转换器模块共有11路输入,该模块能将一个模拟输入信号转换成相应的12位数字。
该模块具有以下寄存器:
●AD控制寄存器0(ADCON0,用于控制AD模块的工作)
●AD控制寄存器1(ADCON1,用于配置参考电压和特殊触发信号选择)
●AD控制寄存器2(ADCON2,用于配置时钟源,可编程采集时间和对齐方式)
●AD端口配置寄存器0(ANCON0)
●AD端口配置寄存器1(ANCON1)
●ADRESH(AD结果寄存器的高字节)
●ADRESL(AD结果寄存器的低字节)
2:差分AD转换器
该转换器以差分AD的形式实现,它可以测量两个到通道之间的差分电压并转换为数字值。通过清零CHSN位(ADCON<2:0>),还可以将转换器配置为测量单个输入的电压,使用该配置时,反相通道输入会在内部链接到A Vss。
差分转化会将两个输入通道送至单位增益差分放大器,同相通道输入使用CHS位(ADCON0<6:2>)来选择,反相通道输入使用CHSN位(ADCON1<2:0>)来选择。结果存储在ADRESH和ADRESL寄存器中,另外还有一个指示12位结果是正值还是负值的位。
3:寄存器介绍
详细请参考文档364~369页说明
4:AD模块使用流程:
1)配置AD模块
●将所需的ADC引脚配置为模拟引脚(ANCON0和ANCON1),相应通道的
TRIS位选择为输入
●设置参考电压(ADCON1)
●选择AD同相和反相输入通道(ADCON0和ADCON1)
●选择采集时间(ADCON2)
●选择转换时钟(ADCON2)
●开启模块(ADCON0)
2)配置AD中断
●清零ADIF位(PIR1<6>)
●将ADIE为置1(PIE1<6>)
●将GIE位置1(INTCON<7>)
3)等待所需的采集时间(如果需要)
4)启动转换
将GO/DONE位置1,(ADCON0<1>)
5)等待AD转换完成,可以通过以下两种方法之一判断转换是否完成
查询GO/DONE位是否被清零或者等待AD中断
6)读取结果,需要时清零ADIF位。
7)如果需要进行下一次转换,请从步骤1或2开始
5:特殊事件触发信号的使用
一下任一模块的特殊事件触发信号可以启动AD转换
●CCP 2
●ECCP1
●CTMU
●Timer1
要启动AD转换:
●必须使能AD模块
●选择相应的模拟输入通道
●设置最小采集周期
满足以上条件时,触发信号将GO/DONE位置1并且开始AD采集。