寄存器类型 | 寄存器缩写 | 寄存器含义 | 转换控制寄存器 | ADC12CTL0 | 转换控制寄存器0 | ADC12CTL1 | 转换控制寄存器1 | 中断控制寄存器 | ADC12IFG | 中断标志寄存器 | ADC12IE | 中断使能寄存器 | ADC12IV | 中断向量寄存器 | 存储及其控制寄存器 | ADC12MCTL0~ADC12MCTL15 | 存储控制寄存器0~15 | ADC12MEM0~ADC12MEM15 | 存储寄存器0~15 |
1.ADC12CTL0 控制寄存器0,各位定义: 15~12 | 11~8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | SHT1 | SHT0 | MSC | 2.5V | REF
ON | ADC12
ON | ADC12
TOVIE | ADC12
TVIE | ENC | ADC12
SC |
ADC12SC——采样/转换控制位。在不同条件下,ADC12SC的含义如下所示: | SHP=1 | ADC12SC由0变为1启动A/D转换 | A/D转换完成后ADC12SC自动复位 | SHP=0 | ADC12SC保持高电平采样 | ADC12SC复位时启动一次转换 |
ENC——转换允许位。 0:ADC12为初始状态,不能启动A/D转换;
1:首次转换由SAMPCON上升沿启动
ADC12TVIE——转换时间溢出中断允许位(当前转换还没完成时,又发生一次采样请求,则会发生转换时间溢出) 0:没发生转换时间溢出
1:发生转换时间溢出
ADC12OVIE——溢出中断允许位(当ADC12MEMx中原有数据还没有读出,而又有新的转换结果数据要写入时,则发生溢出) 0:没发生溢出
1:发生溢出
ADC12ON——ADC12内核控制位 0:关闭ADC12内核
1:打开ADC12内核
REFON——参考电压控制位 0:内部参考电压发生器关闭
1:内部参考电压发生器打开
2.5V——内部参考电压的电压值选择位 0:选择1.5V内部参考电压
1:选择2.5V内部参考电压
MSC——多次采样转换位(CONSEQ<>0表示当前转换模式不是单通道单次转换) 有效条件 | MSC值 | 含义 | SHP=1
CONSEQ<>0 | 0 | 每次转换需要SHI信号的上升沿触发采样定时器 | 1 | 仅首次转换由SHI信号的上升沿触发采样定时器,而后采样转换将在前一次转换完成后立即进行 |
SHT1、SHT0——采样保持定时器1,采样保持定时器0 分别定义保存在转换结果寄存器ADC12MEM8~ADC12MEM15和ADC12MEM0~ADC12MEM7中的转换采样时序与采样时钟ADC12CLK的关系。采样周期是ADC12CLK周期乘4的整数倍,即: | | | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12~15 | n | 1 | 2 | 4 | 8 | 16 | 24 | 32 | 48 | 64 | 96 | 128 | 192 | 256 |
2.ADC12CTL1 转换控制寄存器1(大多数3~15位,只有在ENC=0时才可被修改),各位定义: 15~12 | 11~10 | 9 | 8 | 7~5 | 4、3 | 2、1 | 0 | CSSTARTADD | SHS | SHP | ISSH | ADC12
DIV | ADC12
SSEL | CONSEQ | |
CSSTARTADD——转换存储器地址位。该4位所表示的二进制数0~15分别对应ADC12MEM0~15。可以定义单次转换地址或序列转换的首地址。 SHS——采样触发输入源选择位。 0:ADC12SC
1:Timer_A.OUT1
2:Timer_B.OUT0
3:Timer_B.OUT1
SHP——采样信号(SAMPCON)选择控制位。 0:SAMPCON源自采样触发输入信号
1:SAMPCON源自采样定时器,由采样输入信号的上升沿触发采样定时器
ISSH——采样输入信号方向控制位 0:采样输入信号为同向输入
1:采样输入信号为反向输入
ADC12DIV——ADC12时钟源分频因子选择位。分频因子为该3位二进制数加1 ADC12SSEL——ADC12内核时钟源选择 0:ADC12内部时钟源——ADC12OSC
1:ACLK
2:MCLK
3:SMCLK
CONSEQ——转换模式选择位 0:单通道单次转换模式
1:序列通道单次转换模式
2:单通道多次转换模式
3:序列通道多次转换模式
ADC12BUSY——ADC12忙标志(只用于单通道单次转换模式,在其它转换模式下,该位无效) 0:表示没有活动的操作
1:表示ADC12正处于采样期间、转换期间或序列转换期间
3.ADC12MEM0~ADC12MEM15 转换存储寄存器 该组寄存器均为16位寄存器,用来存放A/D转换结果。中用其中低12位,高4位在读出时为0 4.ADC12MCTLx 转换存储控制寄存器(所有位只有在ENC为低电平时可修改,在POR时各位被复位) 对于每个转换存储器有一个对应的转换存储器控制寄存器,所以在进行CSSTARTADD转换存储器地址位设置的同时,也确定了ADC12MCTLx。该寄存器各位含义如下: EOS——序列结束控制位 0:序列没有结束
1:该序列中最后一次转换
SREF——参考电压源选择位 0:Vr+=AVcc,Vr-=AVss
1:Vr+=VREF+,Vr-=AVss
2,3:Vr+=VEREF+,Vr-=AVss
4:Vr+=AVcc,Vr-=VREF-/VEREF-
5:Vr+=VREF+,Vr-=VREF-/VEREF-
6,7:Vr+=VEREF+,Vr-=VREF-/VEREF-
INCH——选择模拟输入通道 0~7:A0~A7
8:VeREF+
9:VREF-/VeREF-
10:片内温度传感器的输出
11~15:(AVCC-AVSS)/2
5.ADC12IFG 中断标志寄存器 为16位,其中中断标志位ADC12IFG.x对应于转换存储寄存器ADC12MEMx。各位含义如下: 15 | 14 | ...... | 1 | 0 | ADC12
IFG15 | ADC12
IFG14 | ...... | ADC12
IFG1 | ADC12
IFG0 |
ADC12IFG.x置位:转换结束,并且转换结果已经装入转换存储寄存器。
ADC12IFG.x复位:ADC12MEMx被访问。 6.ADC12IE 中断使能寄存器 为16位,对应于ADC12IFG寄存器。各位含义如下: 15 | 14 | ...... | 1 | 0 | ADC12
IE.15 | ADC12
IE.14 | ...... | ADC12
IE.1 | ADC12
IE.0 |
ADC12IE.x=1:允许相应的中断标志位ADC12IFG.x在置位时发生的中断请求服务。
ADC12IE.x=0:禁止相应的中断标志位ADC12IFG.x在置位时发生的中断请求服务。 7.ADC12IV 中断向量寄存器 ADC12是一个多源中断:有18个中断标志(ADC12IFG.0~ADC12IFG.15与ADC12TOV,ADC12OV),但只有一个中断向量。所以需要设置这18个标志的优先级顺序,按照优先级顺序安排中断标志的响应,高优先级的请求可以中断正在服务的低优先级。如下表所示: | ADC12TOV | ADC12OV | ADC12IV | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | 1 | 2 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | 1 | 0 | 4 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | 1 | 0 | 0 | 6 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | 0 | 0 | 0 | 8 | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | X | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 34 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 36 |
各中断标志会产生一个0~36的偶数。 ADC12OV和ADC12TOV会在访问ADC12IV后自动复位。但在响应了ADC12IFG.x标志对应的中断服务之后,相应的标志不自动复位,用以保证能处理发生溢出的情况。
|