实验四 ADC实验.docVIP

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

实验四 ADC实验 姓名:刘乾坤 学号:20110661104 班级:11电子科学与技术 实验目的: 1.了解STM32的基本工作原理?; 2.?通过实践来加深对ARM芯片级程序开发的理解;? 3.利用STM32的ADC1通道0来采样外部电压值值,并在TFTLCD模块上显示出来;? 实验原理: STM32 ADC简介 STM32 拥有 1~3 个 ADC,这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)。STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量16个外部和2个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。 STM32F103系列最少都拥有2个ADC, 我们选择的 STM32F103RBT6 也包含有 2 个 ADC。STM32 的 ADC 最大的转换速率为 1Mhz,也就是转换时间为 1us(在 ADCCLK=14M,采样周期为 1.5个ADC 时钟下得到),不要让 ADC 的时钟超过 14M,否则将导致结果准确度下降。STM32 将 ADC 的转换分为 2 个通道组:规则通道组和注入通道组。规则通道相当于你运行的程序,而注入通道呢,就相当于中断。在你程序正常执行的时候,中断是可以打断你的执行的。同这个类似,注入通道的转换可以打断规则通道的转换, 在注入通道被转换完成之后,规则通道才得以继续转换。 ADC 控制寄存器(ADC_CR1 和 ADC_CR2) 寄存器 ADC_CR1 各位描述 ADC_CR1[19:16]用于设置 ADC 的操作模式,详细的对应关系如下: ADC 操作模式 寄存器 ADC_CR2 各位描述 EXTSEL[2:0]用于选择启动规则转换组转换的外部事件,详细的设置关系如下: ADC 采样事件寄存器(ADC_SMPR1 和 ADC_SMPR2) 寄存器 ADC_SMPR1 各位描述 寄存器 ADC_SMPR2 各位描述 ADC 规则序列寄存器(ADC_SQR1~3) ADC 规则数据寄存器(ADC_DR) 寄存器 ADC_ JDRx 各位描述 ADC 寄存器为 ADC 状态寄存器(ADC_SR) 使用 ADC1的通道 0 来进行 AD 转换,其详细设置步骤如下: 1 )开启 PA 口时钟,设置 PA0为模拟输入。 STM32F103RBT6 的 ADC 通道 0 在 PA0 上,所以,我们先要使能 PORTA 的时钟,然后设置 PA0 为模拟输入。 2 )使能 ADC1 时钟,并设置分频因子。 要使用 ADC1,第一步就是要使能 ADC1 的时钟,在使能完时钟之后,进行一次 ADC1 的复位。接着我们就可以通过 RCC_CFGR 设置 ADC1 的分频因子。分频因子要确保 ADC1 的时钟(ADCCLK)不要超过 14Mhz。 3 )设置 ADC1 的工作模式。 在设置完分频因子之后,我们就可以开始 ADC1 的模式配置了,设置单次转换模式、触发方式选择、数据对齐方式等都在这一步实现。 4 )设置 ADC1 规则序列的相关信息。 接下来我们要设置规则序列的相关信息,我们这里只有一个通道,并且是单次转换的,所以设置规则序列中通道数为 1,然后设置通道 0 的采样周期。 5 )开启 AD 转换器,并校准。 在设置完了以上信息后,我们就开启 AD 转换器,执行复位校准和 AD 校准,注意这两步是必须的!不校准将导致结果很不准确。 6 )读取 ADC 值。 在上面的校准完成之后,ADC 就算准备好了。接下来我们要做的就是设置规则序列 0 里面的通道,然后启动 ADC 转换。在转换结束后,读取 ADC1_DR 里面的值就是了。通过以上几个步骤的设置,我们就可以正常的使用 STM32 的 ADC1 来执行 AD 转换操作了 三:实验电路图: 本次实验电路连接图如下: 四:程序流程图: 五、实验现象及分析: 实验现象: 上电进行调节电位器,观察LCD显示的输入值的大小变化,从0V--3.3V之间数值的变化,可以自由的进行输入电压的调节。 现象分析: 实验现象与程序设置的预期效果基本一致,达到实验的目的,ADC端口的配置正确,可以正常的采集到输入的电压的变化并且可以显示出来,硬件电路可以正

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档