一:S12内置了2组10位/8位的A/D模块:ATD0和ATD1,共有16个模拟量输入通道,而80pin的仅有ATD0,属于逐次逼近型A/D转换器(这个转换过程与用天平称物的原理相似,转换速度适中)。AN0-AN7:模拟量输入通道0-7,通用数字输入端口,其中AN7可配置为ATD转换外部触发引脚!VRH-VRL:分别接ATD转换模块参考高电压和参考低电压 二:A/D寄存器说明 1、ATD0控制寄存器2---ATD0CTL2 结束中断(只读)2、ATD0控制寄存器3---ATD0CTL3(默认转换长度是四位) 备注:转换序列在多通道选择下,是表示用几个通道来转换;在单通道下,是表示这一个通道中转换几次。非FIFO模式:例如你一个队列数为4的转换队列,那结果就会存放在0-3这几个结果寄存器中。结果存放在结果寄存器3后,就会返回到结果寄存器0开始存放,而不会存放在结果寄存器4中,4次结果依次在0-3的结果寄存器中。也就是转换队列数,与使用的结果寄存器个数有关。而FIFO模式区别就在于,转换结果存放和队列数没关系。上面一样的设置在FIFO模式下,存放结果在结果寄存器3后,下一个转换结果会存在结果寄存器4、再下一个存在5。依此类推。 3、ATD0控制寄存器4---ATD0CTL4 (默认两个时钟周期,PRS=5)PPS[0:4] : 5 位 模数计数器预分频器-
分频系数从
2 到
64-
A/D时钟计算公式:ATDClock = BusClock/(PRS + 1) × 0.5例如: PRS=5, 分频系数divider=12 【注意】对于AD转换来说,它的转换周期包括采样时间和运算时间。如果频率太高,则采样时间过短。这对于输出阻抗比较大或信号频率比较高的信号来说,就会产生较大的采样误差,那么AD转换的精度就会受较大的影响。 有不对之处,希望各位指证,共同学习提高!!! |