主页

实验四 ADC实验

  实验四 ADC实验_电子/电路_工程科技_专业资料。实验四 ADC 实验 姓名:刘乾坤 学号: 班级:11 电子科学与技术 一、实验目的: 1.了解 STM32 的基本工作原理 ; 2. 通过实践来加深对 ARM 芯片级程序开发

  实验四 ADC 实验 姓名:刘乾坤 学号: 班级:11 电子科学与技术 一、实验目的: 1.了解 STM32 的基本工作原理 ; 2. 通过实践来加深对 ARM 芯片级程序开发的理解; 3.利用 STM32 的 ADC1 通道 0 来采样外部电压值值, 并在 TFTLCD 模块上显示出来; 二、实验原理: 1.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 个通道组:规 则通道组和注入通道组。规则通道相当于你运行的程序,而注入通道呢,就相当 于中断。在你程序正常执行的时候,中断是可以打断你的执行的。同这个类似, 注入通道的转换可以打断规则通道的转换, 在注入通道被转换完成之后,规则 通道才得以继续转换。 2.ADC 控制寄存器(ADC_CR1 和 ADC_CR2) 寄存器 ADC_CR1 各位描述 ADC_CR1[19:16]用于设置 ADC 的操作模式,详细的对应关系如下: ADC 操作模式 寄存器 ADC_CR2 各位描述 EXTSEL[2:0]用于选择启动规则转换组转换的外部事件,详细的设置关系如下: 3.ADC 采样事件寄存器(ADC_SMPR1 和 ADC_SMPR2) 寄存器 ADC_SMPR1 各位描述 寄存器 ADC_SMPR2 各位描述 4.ADC 规则序列寄存器(ADC_SQR1~3) 5.ADC 规则数据寄存器(ADC_DR) 寄存器 ADC_ JDRx 各位描述 6.ADC 寄存器为 ADC 状态寄存器(ADC_SR) 7.使用 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 端口的配置正 确, 可以正常的采集到输入的电压的变化并且可以显示出来,硬件电路可以正常 的工作。 六、实验结论: 通过本次实验开始了解 STM32 开发板的 ADC 实验的部分,用 ADC 的通道 1 来采样外部的电压值, 并在 LCD 模块上显示出来。熟悉了 keil4.0 仿真软件的使 用和配件下载的方法, 掌握了 STM32 处理器 ADC 的结构,掌握了 ADC 采样电压引 脚的配置方法。 实验现象达到程序设置的预期效果一样,完成了采集外部电压并 显示出来,达到了实验要求,达到实验的目的。

相关阅读