(8)ATD比较使能寄存器
Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
读/写 | CMPE15 | CMPE14 | CMPE13 | CMPE12 | CMPE11 | CMPE10 | CMPE9 | CMPE8 | CMPE7 | CMPE6 | CMPE5 | CMPE4 | CMPE3 | CMPE2 | CMPE1 | CMPE0 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CMPE [ 15 : 0 ]:比较使能位。当CMPE [n]为1时,对一个转换序列中的第N次ATD转换的结果进行比较。当CMPE [ n ]为0时,不做比较。
(9)ATD状态寄存器2
Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
读 | CCF15 | CCF14 | CCF13 | CCF12 | CCF11 | CCF10 | CCF9 | CCF8 | CCF7 | CCF6 | CCF5 | CCF4 | CCF3 | CCF2 | CCF1 | CCF0 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CCF [ 15 : 0 ]:转换或比较序列完成位。当CCF [ n ]为1时,如果比较功能被禁止(CMPE [ n ] = 0),表示转换序列中的第N次转换完成,结果放在第N个结果寄存器中;如果比较功能被使能(CMPE [ n ] = 1),表示对转换序列中的第N次转换结果进行比较的结果为真,由于结果寄存器存储的是比较阈值,ATD转换结果则丢失。当CCF [ n ]为0时,表示转换未完成或者比较不成功。
(10)ATD输入使能寄存器
Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
读 | IEN15 | IEN14 | IEN13 | IEN12 | IEN11 | IEN10 | IEN9 | IEN8 | IEN7 | IEN6 | IEN5 | IEN4 | IEN3 | IEN2 | IEN1 | IEN0 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
IEN [ 15 : 0 ]:ATD数字输入使能位。通用输入输出端口AD口与ATD模块的模拟输入引脚复用。如果要把某个模拟输入引脚作为通用输入引脚使用,必须置对应的IEN位。当IEN [ x ]为1时,使能ANx引脚上的数字输入缓冲器;当IEN [ x ]为0时,关闭ANx引脚上的数字输入缓冲器。
(11)ATD比较方式寄存器
Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
读 | CMPHT15 | CMPHT14 | CMPHT13 | CMPHT12 | CMPHT11 | CMPHT10 | CMPHT9 | CMPHT8 | CMPHT7 | CMPHT6 | CMPHT5 | CMPHT4 | CMPHT3 | CMPHT2 | CMPHT1 | CMPHT0 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
CMPHT [ 15 : 0 ]:ATD比较方式选择位。当CMPHT [ n ]被置1,且对应的比较使能位CMPE [ n ]被置1时,如果转换序列中的第N次转换结果大于ATDDRn中的比较阈值,CCF [ n ]被置位,表示比较结果为真。当CMPHT [ n ]被置0,且对应的比较使能位CMPE [ n ]被置1时,如果转换序列中的第N次转换结果小于或等于ATDDRn中的比较阈值,CCF [ n ]被置位,表示比较结果为真。
(12)ATD结果寄存器
Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 | |
读 | ATDxDR15 | ATDxDR14 | ATDxDR13 | ATDxDR12 | ATDxDR11 | ATDxDR10 | ATDxDR9 | ATDxDR8 | ATDxDR7 | ATDxDR6 | ATDxDR5 | ATDxDR4 | ATDxDR3 | ATDxDR2 | ATDxDR1 | ATDxDR0 |
复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
当关闭比较操作时,ATD结果会被写入结果寄存器中。ARD状态寄存器0中的CC3~CC0位转换计数,表示当前转换的结果将要写入的结果寄存器的编号。转换结果在结果寄存器中的放置方式与转换精度(8、10、12位)和结果对齐方式有关。
ATD转换精度 | DJM | 转换结果在ATDDRx中的放置方式 |
8位 | 0 | Bit [ 15:8 ]=转换结果 |
8位 | 1 | Bit [ 7:0 ]=转换结果 |
10位 | 0 | Bit [ 15:6 ]=转换结果 |
10位 | 1 | Bit [ 9:0 ]=转换结果 |
12位 | 0 | Bit [ 15:4 ]=转换结果 |
12位 | 1 | Bit [ 11:0 ]=转换结果 |
当使能比较功能时,ATD转换结果和比较阈值都总是12位的,与SRES [ 1:0 ]的值无关。当DJM=0时,比较阈值应写到ATDDRn寄存器的Bit [ 15:4 ]中;当DJM=1时,比较阈值应写到ATDDRn寄存器的Bit [ 11:0 ]中。此时,ATD转换结果不会放到结果寄存器,比较完成后则丢失。