第一范文网 - 专业文章范例文档资料分享平台

第9章 模数转换器

来源:用户分享 时间:2021-06-02 本文由命里缺个你 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

中国石油大学胜利学院

1/16

第9章

模数转换器

9.1 模数转换器的结构及相关寄存器

9.2 模数转换器的应用

中国石油大学胜利学院

2/16

STC12C5A60S2单片机集成有8路10 位高速模数转换器(ADC),速度可达到 250KHz(25万次/秒,可做温度检测、压 力检测、电池电压检测、按键扫描、频谱 检测等。

中国石油大学胜利学院

3/16

9.1 模数转换器的结构及相关寄存器STC12C5A60S2单片机片内集成8通道 10位模数转换器(ADC)。ADC输入通道 与P1口复用,上电复位后P1口为弱上拉型 I/O口,用户可以通过软件设置将8路中的 任何一路设置为A/D转换,不需作为A/D 使用的口可继续作为I/O口使用。

中国石油大学胜利学院

4/16

9.1.1 模数转换器的结构ADC控制寄存器ADC_CONTR ADC_P OWER SP EED1 SP EED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0

模拟输入信号 通道选择开关 CHS2/CHS1/CHS0 A/D转换结果寄存器ADC_RES和ADC_RESL ADC7/P 1.7 ADC6/P 1.6 ADC5/P 1.5 ADC4/P 1.4 ADC3/P 1.3 ADC2/P 1.2 ADC1/P 1.1 比较器 ADC0/P 1.0 逐次比较 寄存器

10-bit DAC

STC12C5A60S2单片机的模数转换器由多路选择开关、比较器、逐次比较寄存器、10位ADC、转 换结果寄存器(ADC_RES和ADC_RESL)以及ADC控制寄存器ADC_CONTR构成。

中国石油大学胜利学院

5/16

9.1.2 参考电压源STC12C5A60S2单片机A/D转换模块的参考电压源是 输入工作电压Vcc,所以一般不用外接参考电压源。如三 端稳压电路7805的输出电压是5V,但实际电压可能是 4.88V到4.96V,如果用户需要的精度比较高,可在应用产 品出厂前将实际测出的工作电压值记录在单片机内部的 EEPROM里面,以供程序校正使用。 如果Vcc不稳定(例如电池供电的系统中,电池电压 常常在5.3V-4.2V之间漂移), 则需要在8路A/D转换的一 个通道外接一个稳定的参考电压源,来计算出此时的工作 电压Vcc,再计算出其他几路A/D转换通道的电压。例如, 可在ADC转换通道的第七通道外接一个 1.25V的基准参考 电压源,由此求出此时的工作电压Vcc,再计算出其它几 路A/D转换通道的电压。

中国石油大学胜利学院

6/16

9.1.3 与ADC有关的特殊功能寄存器1.P1口模拟功能控制寄存器P1ASF(地址为9DH,复位值为00H)位号 位名称 D7 P17ASF D6 P16ASF D5 P15ASF D4 P14ASF D3 P13ASF D2 P12ASF D1 P11ASF D0 P10ASF

如果要使用相应口的模拟功能,需将P1ASF特殊功能寄存器中的相应位置为‘1’。如,若要使 用P1.6的模拟量功能,则需要将P16ASF设置为1。(注意,P1ASF寄存器不能位寻址,可以使 用汇编语言指令ORL P1ASF, #40H,也可以使用C语言语句P1ASF |= 0x40;)

2.ADC控制寄存器ADC_CONTR(地址为BCH,复位值为00H)位号 D7 D6 SPEED1 D5 SPEED0 D4 ADC_FLAG D3 ADC_START D2 CHS2 D1 CHS1 D0 CHS0

位名称 ADC_PO

WER

1)ADC_POWER:ADC电源控制位。 0:关闭ADC电源。 1:打开ADC电源。 2)SPEED1、SPEED0:ADC转换速度控制位。各种设置如表9-1所示。 3)ADC_FLAG:A/D转换结束标志位。A/D转换完成后,ADC_FLAG = 1,要由软件 清0。不管A/D转换完成后由该位申请产生中断,还是由软件查询该标志位判断A/D转换是 否结束,当A/D转换完成后,ADC_FLAG = 1,一定要软件清0。 4)ADC_START:A/D转换启动控制位,ADC_START=1,开始转换;ADC_START=0, 停止转换。 5)CHS2、CHS1、CHS0:模拟输入通道选择,如表9-2所示。

中国石油大学胜利学院

7/16

3.A/D转换结果寄存器ADC_RES、ADC_RESL特殊功能寄存器ADC_RES(地址为BDH,复位值为00H)和ADC_RESL(地址为 BEH,复位值为00H)用于保存A/D转换结果。 A/D转换结果存储格式由辅助寄存器AUXR1(地址为A2H,复位值为00H)中的 ADRJ控制,ADRJ是AUXR1中的D2位。 (1)当ADRJ=0时,10位A/D转换结果的高8位放在ADC_RES寄存器,低2位放在 ADC_RESL寄存器。存储格式如下:D7 ADC_RES ADC_RESL AUXR1 ADRJ=0 ADC_RES9 D6 ADC_RES8 D5 ADC_RES7 D4 ADC_RES6 D3 ADC_RES5 D2 ADC_RES4 D1 ADC_RES3 ADC_RES1 D0 ADC_RES2 ADC_RES0

中国石油大学胜利学院

8/16

3.A/D转换结果寄存器ADC_RES、ADC_RESL(2)当ADRJ=1时,10位A/D转换结果的最高2位放在ADC_RES寄存器的低2位 ,低8位放在ADC_RESL寄存器。存储格式如下:D7 ADC_RES ADC_RESL AUXR1 ADC_RES7 ADC_RES6 ADC_RES5 ADC_RES4 ADC_RES3 ADC_RES2 ADRJ=1 D6 D5 D4 D3 D2 D1 ADC_RES9 ADC_RES1 D0 ADC_RES8 ADC_RES0

模/数转换结果计算公式如下: ADRJ = 0时,取10位结果 (ADC_RES[7:0],ADC_RESL[1:0]) = 1024 × Vin / Vcc ADRJ = 0时,取8位结果 ADC_RES[7:0] = 256 × Vin / Vcc ADRJ = 1时,取10位结果 (ADC_RES[1:0],ADC_RESL[7:0]) = 1024 × Vin / Vcc Vin为模拟输入通道输入电压,Vcc为单片机实际工作电压,用单片机工作电压作为 模拟参考电压。

4.与A/D转换中断有关的寄存器中断允许控制寄存器IE中的EADC位(D5位)用于开放ADC中断,EA位 (D7位)用于开放CPU中断;中断优先级寄存器IP中的PADC位(D5位)和IPH 中的PADCH位(D5位)用于设置A/D中断的优先级。在中断服务程序中,要使用 软件将A/D中断标志位ADC_FLAG(也是A/D转换结束标志位)清0。

中国石油大学胜利学院

9.2

模数转换器的应用

9/16

STC12C5A60S2单片机ADC模块的使用编程要点如下: 1)打开ADC电源,第一次使用时要打开内部模拟电源(设置ADC_CONTR)。 2)适当延时,等内部模拟电源稳定。一般延时1ms以内即可。 3)设置P1口中的相应口线作为A/D转换通道(设置P1ASF寄存器)。 4)选择ADC通道(设置ADC_CONTR中的CHS2~CHS0)。 5)根据需要设置转换结果存储格式(设置AUXR1中的ADRJ位)。 6)查询A/D转换结束标志ADC_FLAG,判断A/D转

换是否完成,若完成,则读出结 果(结果保存在ADC_RES和ADC_RESL寄存器中),并进行数据处理。如果是多通 道模拟量进行转换,则更换A/D转换通道后要适当延时,使输入电压稳定,延时量取 20μs~200μs即可,与输入电压源的内阻有关,如果输入电压信号源的内阻在10K 以下,可不加延时;如果是单通道模拟量转换,则不需要更换A/D转换通道,也就不 需要加延时。

8)若采用中断方式,还需进行中断设置(EADC置1,EA置1)。9)在中断服务程序中读取ADC转换结果,并将ADC中断请求标志ADC_FLAG清零。

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新IT计算机第9章 模数转换器全文阅读和word下载服务。

第9章 模数转换器.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1201086.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top