学海荡舟手机网
导航

主页 > 电子设备技术 > 电器电路基础 > > 详细内容

PIC单片机A/D转换知识

 (1)转换控制寄存器ADCON1。

 ADCON1是8位的可读写的寄存器,如下图所示,其功能是A/D转换时,选择芯片引脚输入信号的类型(模拟量A或数字量D),以及A/D转换结果存放的格式。

 

 ADCON1的第6、5、4位,在A/D转换中未派上用场,读作“0”。ADCON1的第3、2、1、0位(Bit3、Bit2、Bitl和Bit0),是管理P16F87X引脚功能(A或D)的选择,例如在下文C程序中,设ADCONl=Ox8a时,选择Pic16F873A的ANO(RAO.)、AN1(RAl)RA4(AN4)、RA5(AN5)为模拟量输入、(AN6、AN7为数字量输入),AN3、AN2参考设置端(+、-)。

 (2)A/D转换结果寄存器ADRESH、ADRESL。因Pic16F87X的A/D转换值是10位的数(代码),而A/D转换的结果是存放在指定的结果寄存器中,因结果寄存器是8位的,所以A/D转换结果的10位数,利用ADRESH存放A/D的高字节;利用ADRESL存放A/D的低字节。存放方法是利用前述的ADCON1的第7位(bit)AD进行选择,当令ADFM=1时,A/D转换结果的低8位存放在ADREL中;高两位存放在ADRESH中;当令ADFM=O时,A/D转换结果的低两位存放在ADRESL中,余下的高8位存放在ADRESH中,这由C语言设计者自由选择。若对A/D转换代码的分辨率要求不高(如实验程序),可取A/D转换的高8位而舍去低2位,以使C程序简化。

 (3)A/D转换控制寄存器ADCONO。

 ADCONO的功能是用于控制A/D转换的操作,其相关位的功能如下图所示。

  图中ADCONO的第0位(Bit0),ADON是A/D转换允许位(俗称打开A/D转换),当令ADON=1时,打开的A/D转换;ADON=O时,关闭A/D转换。ADCONO的第1位,未使用读作O。

  ADCONO的第2位GO/DONE的反也是重要的功能位:在ADON=1时,若令GO/DONE的反=1,启动A/D转换;若令GO/DONE的反=0,A/D转换完成。

  ADCONO的5~3位(Bit5、Bit4和Bit3)CHS2、CHS1、CHSO是A/D转换模拟通道的选择,对Pic16F873A芯片,有下述关系:

  ADCONO的第7、6位即ADCS1和ADCSO,是A/D转换时钟选择位,有以下关系:

  此外,在A/D转换时,还会用到外围接口中断标志寄存器PIR1的标志位ADIF(Bit6)和外围接口中断使能寄存器PIE1的使能位ADIE。

  当令ADIF=1时,代表A/D转换已完成;ADIF=O时,A/D转换未完成。

  当令ADIE=1时,打开A/D转换中断;ADIE=O时,关闭A/D转换中断。


相关文章