理论教育 系统结构与寄存器详解

系统结构与寄存器详解

时间:2023-10-19 理论教育 版权反馈
【摘要】:A/D转换器的系统结构如图8-1所示。图8-1 A/D转换器的系统结构图表8-1 A/D端口配置位功能对照表缩写说明:A;D;X;VREF+;VREF-;VDD,VSS。不符合这几个条件将导致A/D转换器工作异常。图8-2 A/D转换结果对齐模式在查询模式下,与A/D转换相关的寄存器有ADCON0和ADCON1。为了便于读者查阅,集中列出其相关位的功能详细说明。ADCON1寄存器是一个可读/写的寄存器,包含了多个控制位。

系统结构与寄存器详解

A/D转换器的系统结构如图8-1所示。

图8-1中最右侧的RE2~RE0、RA5、RA3~RA0引脚为A/D转换器的输入引脚,在单片机上电的默认状态下这8个引脚都用做A/D转换通道。若希望仅把某些引脚用做A/D转换引脚,其他引脚用做普通I/O引脚,则可以通过ADCON1寄存器的PCFG3:PCFG0这4位来决定,如表8-1所示。

978-7-111-33274-9-Chapter08-1.jpg

图8-1 A/D转换器的系统结构图

表8-1 A/D端口配置位功能对照表

978-7-111-33274-9-Chapter08-2.jpg

缩写说明:A(作为模拟量输入引脚);D(作为数字量输入引脚);X(表示0或1均可);VREF+(参考电压上限);VREF-(低参考电压下限);VDD(单片机供电的高电平),VSS(信号地,即低电平)。

虽然最多可以有8个模拟量输入通道,但由于PIC单片机的8个通道是共享一个采样保持电路,所以同一时刻只能有一个通道独占采样保持电路,具体哪个通道独占需要通过配置A/D转换器内部的八选一开关来决定。八选一开关由3位模拟通道选择信号CHS2、CHS1和CHS0来控制。CHS2:CHS0为“000”表示选择模拟通道0(AN0),为“001”表示选择模拟通道1(AN1),依次类推,为“111”表示选择模拟通道7(AN7)。

在图8-1中,VREF+通过一个二选一电子开关可选择与VDD相连或RA3相连。VREF-通过一个二选一电子开关可选择与VSS相连或RA2相连。这两个电子开关也是由PCFG3:PCFG0控制,根据表8-1可知,当PCFG3:PCFG0为特定值(如1100)时,PIC单片机的A/D转换器可以自选参考电压范围。这样通过缩小连在RA3和RA2上的参考电压差可以提高测量精度。但这个参考电压不是任意小的,根据PIC16F877的数据手册上说明RA3上的参考电压VREF+输入范围在2.2V到VDD之间,VREF-的输入范围是(VSS—0.3V)到(VDD—3.0V)之间。但是VREF+和VREF-之间的电压差至少为2.5V。不符合这几个条件将导致A/D转换器工作异常。

A/D转换器是否开始工作由ADON信号来决定。转换速度由ADCS1和ADCS0来决定。A/D转换器结束时会通过GO/DONE信号(在PICC中用ADGO变量表示)来指示。

当A/D转换完成后会把10位的转换结果放置在A/D转换结果寄存器ADRESH和ADRESL中,由于ADRESH和ADRESL都是8位的寄存器,而转换结果是10位的,所以就存在一个转换结果如何存储(如何对齐)的问题。PIC单片机通过ADFM信号来决定转换结果如何存储。

●ADFM=1右对齐模式,即转换结果低8位放置在ADRESL寄存器中,高两位放在ADRESH的低两位,ADRESH的高6位读出值为0,如图8-2所示。

●ADFM=0左对齐模式,即转换结果高8位放置在ADRESH寄存器中,低两位放在ADRESH的高两位,ADRESL的低6位读出值为0,如图8-2所示。

978-7-111-33274-9-Chapter08-3.jpg

图8-2 A/D转换结果对齐模式

在查询模式下,与A/D转换相关的寄存器有ADCON0和ADCON1。为了便于读者查阅,集中列出其相关位的功能详细说明。

ADCON0寄存器是一个可读/写的寄存器,包含了多个控制位。

978-7-111-33274-9-Chapter08-4.jpg

1)bit7~bit6ADCS1:ADCS0:A/D转换时钟选择位。

00:使用单片机主频二分频(Fosc/2)作为转换时钟。

01:使用单片机主频八分频(Fosc/8)作为转换时钟。

10:使用单片机主频三十二分频(Fosc/32)作为转换时钟。

11:使用A/D转换器自带的RC振荡器(FRC)作为转换时钟。

2)bit5~bit3CHS2:CHS0:A/D转换通道选择位。(www.daowen.com)

000:通道0,AN0。

001:通道1,AN1。

……

111:通道7,AN7。

3)bit2978-7-111-33274-9-Chapter08-5.jpg:A/D转换启动位/状态位,仅当A/D转换器开启时才有效。

1:A/D转换进行中,软件将此位置位会启动新一次A/D转换过程。

0:A/D转换结束,当A/D转换结束时,此位会被硬件自动清零表示A/D转换完成。

4)bit1:未使用位,读出为0。

5)bit0ADON:A/D转换器开关位。

1:A/D转换器开启。

0:A/D转换器关闭,此时A/D转换器不消耗工作电流

ADCON1寄存器是一个可读/写的寄存器,包含了多个控制位。

978-7-111-33274-9-Chapter08-6.jpg

1)bit7ADFM:A/D转换结果格式选择位。

1:右对齐模式,即转换结果低8位放置在ADRESL寄存器中,高两位放在ADRESH的低两位。

0:左对齐模式,即转换结果高8位放置在ADRESH寄存器中,低两位放在ADRESH的高两位。

2)bit6~bit4:未使用,读出为0。

3)bit3~bit0PCFG3:PCFG0:A/D端口配置位,具体内容参考表8-1。

978-7-111-33274-9-Chapter08-7.jpg

bit7~bit0:A/D转换结果高位字节。

978-7-111-33274-9-Chapter08-8.jpg

bit7~bit0:A/D转换结果低位字节。

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

我要反馈