S12XS系列MCU的ATD模块共有27个寄存器,包括6个ATD转换控制寄存器,2个ATD转换状态寄存器,1个ATD比较使能寄存器,1个ATD比较方式寄存器,1个ATD转换输入使能寄存器和16个ATD转换结果寄存器(其中ATDCTL0~ATDCTL5和ATDSTAT0这7个寄存器为8位寄存器,其余寄存器都是16位寄存器)。
先给出一段例程
Code:
void ATD_init(void)
{
ATD0CTL1=0x0f; //选择8位转换精度
ATD0CTL2=0x40; //打开CCF快速清零位,关闭外部触发输入,关闭中断
ATD0CTL3=0x08; //数据左对齐,non-fifo,转换序列长度为1
ATD0CTL4=0xE3; //采样时间为24个ATD时钟周期,ATDCLK=8MB/8=1MHz
}
下面对各个寄存器做一个介绍:
(1)ATD控制寄存器0

WRAP [ 3 : 0 ]:回旋通道选择位。这些选择位只有在ATDCTL5的MULT位为1的情况下,也就是多通道转换模式下,才是有效的。WRAP [ 3 : 0 ] = 0时,为保留值。WRAP [ 3 : 0 ]:= x(1 (2)ATD控制寄存器1 ETRIGSEL。外部触发源选择位。 SRES [ 1 : 0 ]:ATD转换精度选择位。 SMP_DIS:采样前放电控制位。1时对模拟信号采样前,释放ATD模块内部采样电容中的电荷。 ETRIGCH [ 3 : 0 ] :外部触发通道选择位。当ETRIGCH [ 3 : 0 ] 为x(0 (3)ATD控制寄存器2 AFFC:ATD转换CCF快速清零位。 ICLKSTP:停止模式内部时钟使能位。1位在停止模式下,ATD模块可以继续使用模块内部时钟ICLK进行ATD转换。0位在停止模式下,ATD模块停止当前的转换,退出停止模式后,ATD转换自动重新开始。 ETRIGLE:外部触发电平/边沿控制位。 ETRIGP:外部触发极性控制位。 ETRIGE:外部触发信号使能位。 ASCIE:ATD转换序列结束中断使能位。1为使能ATD转换序列结束中断,也就是说,当SCF=1时,将引发中断;0时,为禁止ATRD转换序列结束中断。 ACMPIE:ATD比较中断使能位。 (4)ATD控制寄存器3 DJM:结果寄存器数据对齐位。1表示结果寄存器中的数据位右对齐,0表示结果寄存器中的数据结果为左对齐。 S8C,S4C,S2C,S1C:A/D转换序列长度定义位,这4位定义了一个A/D转换序列的长度,默认S4C为1,即默认转换序列的长度为4。 FIFO:结果寄存器先进先出模式位。1表示先进先出模式,转换结果依次放在连续的结果寄存器中,当使用完最后一个结果寄存器后,会重新回到第一个结果寄存器存放转换结果。可以根据完成标志位判断哪个寄存器中的结果数据有效。0表示非先进先出模式。A/D转换结果在寄存器中的存放位置和转换序列中的顺序相关联,简单的说,第一次转换的结果放在第一个结果寄存器中,第二次转换的结果放在第二个结果寄存器中,依次类推。 FRZ [ 1 : 0 ]:后台调试冻结使能位。当调试程序时,如果遇到断点,有时希望此时ATD模块停止。





上一篇:飞思卡尔单片机PIT汇编编程(一)
下一篇:飞思卡尔单片机PWM模块分析(3)
推荐阅读
史海拾趣



XC6406PP60DL






京公网安备 11010802033920号