数模转换器与模数转换器.pptVIP

  1. 1、本文档共105页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2、STC15F2K60S2单片机ADC模块的使用编程要点打开ADC电源,第一次使用时要打开内部模拟电源(设置ADC_CONTR)。适当延时,等内部模拟电源稳定。一般延时1ms以内即可。设置P1口中的相应口线作为A/D转换通道(设置P1ASF寄存器)。*第62页,共105页,星期日,2025年,2月5日选择ADC通道(设置ADC_CONTR中的CHS2~CHS0)。根据需要设置转换结果存储格式(设置AUXR1中的ADRJ位)。查询A/D转换结束标志ADC_FLAG,判断A/D转换是否完成,若完成,则读出结果(结果保存在ADC_RES和ADC_RESL寄存器中),并进行数据处理。*第63页,共105页,星期日,2025年,2月5日读取转换结果注意:如果是多通道模拟量进行转换,则更换A/D转换通道后要适当延时,使输入电压稳定,延时量取20μs~200μs即可,与输入电压源的内阻有关。如果输入电压信号源的内阻在10K?以下,可不加延时。如果是单通道模拟量转换,则不需要更换A/D转换通道,也就不需要加延时。*第64页,共105页,星期日,2025年,2月5日若采用中断方式,还需进行中断设置(EADC置1,EA置1)。在中断服务程序中读取ADC转换结果,并将ADC中断请求标志ADC_FLAG清零。*第65页,共105页,星期日,2025年,2月5日【例9-2】编程实现利用STC12C5A60S2单片机ADC通道2采集外部模拟电压信号,8位精度,采用查询方式循环进行转换,并将转换结果保存于30H单元中。假设时钟频率为18.432MHz。解:取8位精度时,若ADRJ-0,则可直接使用转换结果寄存器ADC_RES的值。由于复位后,ADRJ=0,因此,按照ADC的编程要点进行初始化后,直接判断ADC_FLAG标志是否为1,若为1,则读出ADC_RES寄存器的值,并存入30H即可;若为0,则继续等待。*第66页,共105页,星期日,2025年,2月5日汇编语言程序代码如下:$INCLUDE(STC15.INC);包含STC15F2K60S2单片机寄存器定义文件ADC_DATEQU30H;A/D转换结果ORG0000HLJMPMAINORG0050HMAIN:MOVSP,#70H;设置堆栈ORLADC_CONTR,#80H;开A/D转换电源MOVA,#20HLCALLDELAY;开电源后加适当延时,1ms以内即可 MOV P1ASF,#04H ;设置P1.2的模拟量功能MOVADC_CONTR,;选择P1.2作为A/D转换通道MOVA,#05HLCALLDELAY;如果切换A/D转换通道,则需要加延时*第67页,共105页,星期日,2025年,2月5日WAIT_AD:ORLADC_CONTR,;启动A/D转换MOVA,;判断A/D转换是否完成ANLA,ADC_CONTRJZWAIT_AD;A/D转换尚未完成,继续等待ANLADC_CONTR,;将ADC_FLAG清零MOVA,ADC_RES;读取A/D转换结果MOVADC_DAT,A;保存A/D转换结果LJMPWAIT_AD;等待下一次转换完成*第68页,共105页,星期日,2025年,2月5日DELAY:;延时子程序PUSH02;将寄存器组0的R2入栈PUSH03;将寄存器组0的R3入栈PUSH04;将寄存器组0的R4入栈MOVR4,ADELAY_LOOP0:MOVR3,#200;2个时钟周

文档评论(0)

lanlingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档