STC15系列单片机A/D转换器由多路选择开关、比较器、逐级比较寄存器、10位DAC(数/模转换器)、转换结果寄存器(ADC_RES和ADC_RESL)以及ADC_CONTR构成。
以下是STC15系列单片机A/D转换器的结构图
下图是与ADC有关的寄存器:
要作为A/D使用的端口,需要先将P1ASF特殊功能寄存器中相应位置“1”(将相应的口设置位模拟功能) 。P1其他不需要作为A/D使用的端口,可继续作为I/O口使用(建议只作为输入)。
当ADRJ=0时,模拟电压的计算公式如下:
注意:此时ADC_RES是高八位的结果,计算十位结果时不能直接和ADC_RESL相加,而是要先让ADC_RES进两位(ADC_RES*4+ADC_RESL) 。
当ADRJ=0时,模拟电压的计算公式如下:
注意:此时ADC_RES是高两位的结果,计算十位结果时不能直接和ADC_RESL相加,而是要先让ADC_RES进八位(ADC_RES*256+ADC_RESL) 。
(若有不足和错误,还请各位斧正)