首页 理论教育 A-D转换控制寄存器操作指南

A-D转换控制寄存器操作指南

时间:2023-11-02 理论教育 版权反馈
【摘要】:STC15系列单片机A-D转换器是其内部一个重要的功能部件,使用控制A-D转换器需要设置相应的特殊功能寄存器。与A-D转换有关的新增特殊功能寄存器见表11-1。P12ASF=1,将P1.2用作A-D转换器的模拟输入端ADC2。ADRJ=1,即A-D转换结束后,10位转换结果的高2位存储在ADC_RES寄存器的低2位,低8位存储在ADC_RESL寄存器。

A-D转换控制寄存器操作指南

STC15系列单片机A-D转换器是其内部一个重要的功能部件,使用控制A-D转换器需要设置相应的特殊功能寄存器。与A-D转换有关的新增特殊功能寄存器见表11-1。

表11-1 设置A-D转换的特殊功能寄存器表

978-7-111-51881-5-Chapter11-2.jpg

1.A-D功能设置寄存器P1ASF

P1ASF是将P1口设置为A-D模拟信号输入功能的特殊功能寄存器,字节地址为9DH,不能位寻址,系统复位时为00H。P1ASF格式和各位功能说明如下:

978-7-111-51881-5-Chapter11-3.jpg

P1ASF寄存器的8位对应于P1口的8位,当需要把P1.xx=0~7)用作A-D转换器的模拟输入端ADC0~ADC7使用时,只要将P1ASF寄存器的相应位置1即可。

(1)P17ASF:将P1.7设置为A-D转换器的模拟输入口

P17ASF=0,将P1.7用作普通I/O口,最好用作输入。

P17ASF=1,将P1.7用作A-D转换器的模拟输入端ADC7。

(2)P16ASF:将P1.6设置为A-D转换器的模拟输入口

P16ASF=0,将P1.6用作普通I/O口,最好用作输入。

P16ASF=1,将P1.6用作A-D转换器的模拟输入端ADC6。

(3)P15ASF:将P1.5设置为A-D转换器的模拟输入口

P15ASF=0,将P1.5用作普通I/O口,最好用作输入。

P15ASF=1,将P1.5用作A-D转换器的模拟输入端ADC5。

(4)P14ASF:将P1.4设置为A-D转换器的模拟输入口

P14ASF=0,将P1.4用作普通I/O口,最好用作输入。

P14ASF=1,将P1.4用作A-D转换器的模拟输入端ADC4。

(5)P13ASF:将P1.3设置为A-D转换器的模拟输入口

P13ASF=0,将P1.3用作普通I/O口,最好用作输入。

P13ASF=1,将P1.3用作A-D转换器的模拟输入端ADC3。

(6)P12ASF:将P1.2设置为A-D转换器的模拟输入口

P12ASF=0,将P1.2用作普通I/O口,最好用作输入。

P12ASF=1,将P1.2用作A-D转换器的模拟输入端ADC2。

(7)P11ASF:将P1.1设置为A-D转换器的模拟输入口

P11ASF=0,将P1.1用作普通I/O口,最好用作输入。

P11ASF=1,将P1.1用作A-D转换器的模拟输入端ADC1。

(8)P10ASF:将P1.0设置为A-D转换器的模拟输入口

P10ASF=0,将P1.0用作普通I/O口,最好用作输入。

P10ASF=1,将P1.0用作A-D转换器的模拟输入端ADC0。

2.A-D转换控制寄存器ADC_CONTR

ADC_CONTR是选择通道和启动A-D转换的特殊功能寄存器,字节地址为0BCH,不能位寻址。对该寄存器可使用MOV指令赋值,也可用与指令和或指令。ADC_CONTR格式说明如下:

978-7-111-51881-5-Chapter11-4.jpg

(1)CHS2、CHS1、CHS0:模拟输入通道选择位

通过这3位的不同组合选择8路A-D转换器的其中1路进行A-D转换。A-D转换器通道选择设置见表11-2。

表11-2 A-D转换器通道选择设置

978-7-111-51881-5-Chapter11-5.jpg

(2)ADC_START:A-D转换启动控制位

ADC_START=1,启动A-D开始转换。当A-D转换结束后,该位由硬件自动清0。

(3)ADC_FLAG:A-D转换结束标志位,也是A-D转换完成中断请求标志位

当A-D转换结束后,硬件对ADC_FLAG置1,但必须由软件对该位清0。

如果A-D转换结束,系统自动置ADC_FLAG=1,可以向CPU申请中断,也可以通过软件查询该标志位判断本次A-D转换是否完成。建议在A-D转换结束之前,不要改变任何I/O口的状态,以保证A-D转换的精度,若能关闭定时器串口或中断系统,则A-D转换效果会更好。(www.xing528.com)

(4)SPEED1、SPEED0:A-D转换速度选择控制位

由这2位组合设置A-D转换的速度。转换速度设置见表11-3。

表11-3 A-D转换速度设置

978-7-111-51881-5-Chapter11-6.jpg

(5)ADC_POWER:电源控制位

ADC_POWER=1,打开接通A-D转换器电源。

ADC_POWER=0,关闭A-D转换器电源。

启动A-D转换前应先置ADC_POWER=1,并适当延时,待模拟电源稳定后再启动A-D转换。A-D转换结束后可关闭ADC电源以节省功耗,也可不关闭。为了提高A-D转换精度,在A-D转换结束前,不能改变任何I/O口状态。

3.时钟分频设置寄存器CLK_DIV

CLK_DIV寄存器用于控制系统时钟分频设置、ADC转换调整,控制ADC转换结果存放的位置。字节地址为97H,不可位寻址,系统复位后各有效位初值为00,寄存器各位格式如下:

978-7-111-51881-5-Chapter11-7.jpg

(1)MCKO_S1、MCKO_S0:主时钟(fmclk)分频控制位

具体参见第2章的表2-10。

(2)ADRJ:A-D转换结果调整位

该位用于设置A-D转换结果存储方式。

ADRJ=0,即A-D转换结束后,10位转换结果的高8位放入ADC_RES寄存器,低2位存储在ADC_RESL寄存器的低2位。

A-D转换结果计算公式:

1)若取10位结果(ADC_RES[7:0],ADC_RESL[1:0]),则理论计算出A-D转换结果值978-7-111-51881-5-Chapter11-8.jpg

2)若取8位结果(ADC_RES[7:0]),则理论计算出A-D转换结果值978-7-111-51881-5-Chapter11-9.jpg

ADRJ=1,即A-D转换结束后,10位转换结果的高2位存储在ADC_RES寄存器的低2位,低8位存储在ADC_RESL寄存器。

A-D转换结果计算公式:取10位转换结果(ADC_RES[1:0],ADC_RESL[7:0]),则理论计算出A-D转换结果值978-7-111-51881-5-Chapter11-10.jpg

其中,Vin为模拟输入通道的输入电压,VCC为单片机工作电压。

为了得到高精度,应先测量出实际的工作电压值,并保存在片内E2PROM中,计算时取出实际电压值代入计算公式进行运算,可以得到较高的A-D转换精度。A-D转换的参考电压可以不用单独外接,可直接使用工作电压VCC,再通过算法软件校准。

(3)Tx_Rx:串口1中继广播方式控制位

具体参见第8章。

(4)MCLKO_S2:主时钟(fmclk)对外输出引脚选择控制位

STC15W4K32S4单片机可通过该位来选择在哪个引脚对外输出时钟,可对外输出内部RC时钟,也可对外输出外部输入的时钟或者外部晶体振动器产生的时钟。

MCLKO_S2=0,在P5.4/MCLKO引脚对外输出时钟。

MCLKO_S2=1,在P1.6/MCLKO_2/XTAL2引脚对外输出时钟。

如果用户要对外输出13.56MHz时钟信号,可选择主时钟fmclk=27.12MHz,再选择2分频即可。

(5)CLKS2、CLKS1、CLKS0:系统时钟分频选择控制位

具体参见第2章的图2-23。

4.A-D转换结果寄存器ADC_RES、ADC_RESL

ADC_RES、ADC_RESL寄存器用于存放10位的A-D转换结果值,ADC_RES是高字节,字节地址为0BDH,ADC_RESL是低字节,字节地址为0BEH,不可位寻址,系统复位后各有效位初值为00。结果存放方式与ADRJ位有关。

1)当ADRJ=0时,A-D转换结果按如下格式存放:

978-7-111-51881-5-Chapter11-11.jpg

2)当ADRJ=1时,A-D转换结果按如下格式存放:

978-7-111-51881-5-Chapter11-12.jpg

5.A-D转换器的中断控制IE、IP

1)A-D转换器的中断允许控制位在IE寄存器的第5位(EADC位):EADC=0禁止中断,EADC=1允许A-D转换中断。详细请参见第6章。

2)A-D转换器的中断优先级控制位在IP寄存器的第5位(PADC位):PADC=0为低优先级,PADC=1选择A-D转换为高优先级。详细请参见第6章。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈