文章目录
六、PWM
(一)实验目的
通过不同频率的PWM信号输出,驱动无源蜂鸣器发出不同频率的声音。
(二)实验讲解
1.K210定时器资源
PWM: 脉宽调制模块, 硬件支持的PWM, 可以指定任意引脚(0到47引脚)
每个 PWM 依赖于一个定时器, 即当定时器与 PWM 功能绑定后, 不能作为普通定时器使用了。 因为有 3 个定时器, 每个定时器有 4 个通道, 即最大可以同时产生 12 路 PWM 波形
2.PWM介绍
PWM(脉冲宽度调制)就是一个特定信号输出,主要用于输出不同频率、占空比(一个周期内高电平出现时间占总时间比例)的方波。以实现固定频率或平均电压输出。
3.蜂鸣器介绍
蜂鸣器分有源蜂鸣器和无源蜂鸣器,有源蜂鸣器的使用方式非常简单,只需要接上电源,蜂鸣器就发声,断开电源就停止发声。而本实验用到的无源蜂鸣器,是需要给定指定的频率,才能发声的,而且可以通过改变频率来改变蜂鸣器的发声音色,以此来判定 pyAI-K210的 PWM输出频率是在变化的。pyBase开发底板上的无源蜂鸣器连接到引脚 X5。如下图所示:
而pyAI-K210并没有引脚直接连接到 pyBase的 X5(主要避免影响 IO复用。)而 IO15连接到 pyBase开发底板的 X6引脚,因此我们可以用跳线帽或者跳线来连接 pyBase的 X5和 X6引脚。相当于将无源蜂鸣器接到 pyAI-K210的外部 IO15引脚。
4.函数调用
(1)构造函数
machine.PWM(tim, freq, duty, pin, enable=True)
通过指定的参数新建一个 PWM 对象
-
tim
: 每个PWM依赖一个定时器来产生波形, 所以这里需要传一个定时器对象,这个定时器对象必须初始化时必须指定定时器 ID 和通道号 -
freq
: PWM 波形频率 -
duty
: PWM 占空比, 指高电平占整个周期的百分比,取值:[0,100] -
[pin]
: PWM 输出引脚。 可以不设置