相关寄存器:
ADM:A/D转换模式寄存器,设置采样开始结束、转换时间
ADS:模拟输入通道选择寄存器,设置采样的通道,模拟输入的通道是连续的。若需要使用P25作为模拟输入,则P25~P27都必须设置成模拟输入。
ADPC:A/D端口配置寄存器,将P20~P27在模拟输入和数字输入中切换。
ADCR:16位A/D转换结果寄存器
ADCRH:8位寄存器,ADCR的高8位(如果读它的话,就按8位采样精度用了)
PM2:输入模式(1)
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
AVREF参考电压:2.3~5.5V,10位采样精度,A/D采样结果从 ADCR中读出
Adc_result = (ADCR >> 6); 或 Adc_result = ADCRH;
对ADM、ADS、ADPC赋值时,ADCR、ADCRH的内容可能不确定。故在转换结束后,先读取转换结果,再对ADM、ADS、ADPC赋值。
转换时间由SAR清零时间、采样时间、逐次转换时间、ADCR传送,INTAD产生组成,在ADM的配置中,各个时间段所占的比例是固定不变的,但是可以选择转换时间。转换时间的设置与AVREF的配置,参考电压越高,转换时间可以设置越短。
对ADCS置1,启动A/D转换,A/D转换完成,将结果存入ADCR中,并产生一个中断请求信号(INTAD)。一个AD转换完成后,继续下一个AD转换操作。
改变ADS,改变模拟输入通道,停止当前正在进行的A/D转换操作,重新开始转换。
对ADCS清零,停止A/D转换操作。
ADCE置1到ADCS置1的操作时间至少为1μs,不对ADCE置1的话,需忽略第一个转换结果。
一般设置操作:
ADCE = 1;
设置ADPC、PM、ADM中的转换时间,选择转换通道
ADCS=1,开始转换,转换结束,产生中断INTAD(ADIF=1),数据传送到ADCR,ADCRH中
改变通道:设置ADS
结束转换:ADCS=0,ADCE=0
抗干扰处理,电容滤波,二极管防止输入电压超过或低于允许电压,防止转换值不确定,甚至损坏模拟输入端口。
文章评论(0条评论)
登录后参与讨论