这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 上一修订版 两侧同时换到之后的修订记录 | ||
icore3_arm_hal_9 [2020/04/13 17:57] zgf [三、 实验原理] |
icore3_arm_hal_9 [2020/04/13 18:01] zgf [一、 实验目的与意义] |
||
---|---|---|---|
行 57: | 行 57: | ||
==== 一、 实验目的与意义 ==== | ==== 一、 实验目的与意义 ==== | ||
- | - 了解STM32 TIMER结构 | + | - 了解STM32 TIMER结构。 |
- | - 了解STM32 TIMER特征 | + | - 了解STM32 TIMER特征。 |
- | - 掌握EXTI中断的使用方法 | + | - 掌握EXTI中断的使用方法。 |
- | - 掌握STM32 HAL库中TIMER属性的配置方法 | + | - 掌握STM32 HAL库中TIMER属性的配置方法。 |
- | - 掌握KEIL MDK 集成开发环境使用方法 | + | - 掌握KEIL MDK 集成开发环境使用方法。 |
==== 二、 实验设备及平台 ==== | ==== 二、 实验设备及平台 ==== | ||
- | - iCore3 双核心板[[https://item.taobao.com/item.htm?spm=a1z10.1-c.w4024-251734887.3.5923532fXD2RIN&id=524229438677&scene=taobao_shop|点击购买]] | + | - iCore3 双核心板。[[https://item.taobao.com/item.htm?spm=a1z10.1-c.w4024-251734887.3.5923532fXD2RIN&id=524229438677&scene=taobao_shop|点击购买]] |
- | - JLINK(或相同功能)仿真器[[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-251734908.13.20822b61MmPeNN&id=554869837940|点击购买]] | + | - JLINK(或相同功能)仿真器。[[https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-251734908.13.20822b61MmPeNN&id=554869837940|点击购买]] |
- | - Micro USB线缆 | + | - Micro USB线缆。 |
- | - Keil MDK 开发平台 | + | - Keil MDK 开发平台。 |
- | - STM32CubeMX开发平台 | + | - STM32CubeMX开发平台。 |
- | - 装有WIN XP(及更高版本)系统的计算机 | + | - 装有WIN XP(及更高版本)系统的计算机。 |
==== 三、 实验原理 ==== | ==== 三、 实验原理 ==== | ||
=== 1、PWM简介 === | === 1、PWM简介 === | ||
行 77: | 行 77: | ||
* 脉宽调制基本原理:其控制方式就是对电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变电路输出电压的大小,也可改变输出频率。 | * 脉宽调制基本原理:其控制方式就是对电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变电路输出电压的大小,也可改变输出频率。 | ||
* **脉宽调制原理**:脉宽调制模式可以生产一个由TIMx_ARR寄存器确定频率,由TIMx_CCRx确定占空比的信号。如下图所示: | * **脉宽调制原理**:脉宽调制模式可以生产一个由TIMx_ARR寄存器确定频率,由TIMx_CCRx确定占空比的信号。如下图所示: | ||
- | {{ :icore3:icore3_arm_hal_9_1.png?direct&500 |}} | + | {{ :icore3:icore3_arm_hal_9_1.png?direct&400 |}} |
* 图中可知0到t2为一个周期时间,而占空比由CCRx值决定。一个周期时间可以由以下公式计算: | * 图中可知0到t2为一个周期时间,而占空比由CCRx值决定。一个周期时间可以由以下公式计算: | ||
* **T=(ARR+1)(PSC+1)/TCLK** | * **T=(ARR+1)(PSC+1)/TCLK** | ||
行 88: | 行 88: | ||
| | ||
**1、**CCR1捕获比较值寄存器设置比较值,将其与当前值寄存器的值比较,要说明的是修改TIM_CCMR1寄存器的OC1M[2:0]位可控制 PWM模式,方法如下: | **1、**CCR1捕获比较值寄存器设置比较值,将其与当前值寄存器的值比较,要说明的是修改TIM_CCMR1寄存器的OC1M[2:0]位可控制 PWM模式,方法如下: | ||
- | * 110:PWM模式1——向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为无效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否则有效电平(OC1REF=1)。 | + | * 110:PWM模式1 |
+ | * 向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为无效电平; | ||
+ | * 在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否则有效电平(OC1REF=1)。 | ||
- | * 111:PWM模式2——在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为无效电平,否则为有效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为有效电平,否则为无效电平。 | + | * 111:PWM模式2 |
+ | * 在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为无效电平,否则为有效电平; | ||
+ | * 在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为有效电平,否则为无效电平。 | ||
**2、**经过输出控制器后,得到OC1ref电平还要经过一个选择,其由TIMx_CCRE寄存器的CC1P位控制:输入/捕获1输出极性。0:高 电平有效。1:低电平有效。 | **2、**经过输出控制器后,得到OC1ref电平还要经过一个选择,其由TIMx_CCRE寄存器的CC1P位控制:输入/捕获1输出极性。0:高 电平有效。1:低电平有效。 | ||
**3、**选择完成后经过输出电路来输出,输出电路由TIM_xCCRE寄存器的CC1E位控制。 | **3、**选择完成后经过输出电路来输出,输出电路由TIM_xCCRE寄存器的CC1E位控制。 | ||
- | * 控制方式为0:关闭 1:打开。 | + | * 控制方式为: |
+ | * 0:关闭 | ||
+ | * 1:打开 | ||
==== 四、 实验程序 ==== | ==== 四、 实验程序 ==== |