基于Wolf32F031 自由评估板的Buzzer(PWM控制方式)实验硬件原理及软件API使用方法(适用于STM32F030/031)

来源:互联网 发布:sql union什么意思 编辑:程序博客网 时间:2024/06/05 07:53

●共分为五部分:

(一)相关知识
(二)硬件原理
(三)软件API
(四)调用方法
(五)实验现象

●相关知识:

1.蜂鸣器作为发声器件仅需要提供电源即可发生,在控制实现上,通过GPIO控制晶体管8550,达到给蜂鸣器供电的目标。

2.在控制蜂鸣器发声时,采用软件直接控制GPIO状态来控制蜂鸣器是否发声的方式,我们称之为IO方式。与之区分的是采用定时器,设定好周期、占空比的PWM方式

 

●硬件准备:

1.Wolf32F031 自由 评估板

2.电源适配器

3.JLink/ULink/STLink(本文以STLink为例)

4.USB转串口(RS232)

●硬件原理框图:

buzzer_PWM1.png

●硬件原理图:

buzzer_PWM2.png

●软件资源准备:

LED Control工程文件:wolf32f031_Buzzer_PWM.uvproj

●软件API介绍:

//BUZZER init use timer,PWM output.

void wolf_buzzer_TIM1_init(void);

 

//BUZZER PWM output test.

void wolf_buzzer_PWM_test(uint8_t freq,uint8_t duty);

 

//BUZZER PWM output disable

void wolf_buzzer_PWM_disable(void);

 

 

Freq, duty 取值:0-9

(其他取值请阅读定时器设置相关知识)

 

●调用方法:

初始化Buzzer端口及定时器,控制在初始化以后才有效

wolf_buzzer_TIM1_init();  //Init Buzzer TIM1

发音方式为2Hz,50%占空比

freq = 2; duty = 5;

设定Buzzer频率及占空比

wolf_buzzer_PWM_test(freq,duty); 

禁止Buzzer发声

wolf_buzzer_PWM_disable();  //Disable buzzer

●实验现象

3.1硬件连接实物

buzzer_PWM31.jpg

3.2编译代码并下载

打开code\1.basic\Buzzer_PWM\Project\wolf32f031_buzzer_PWM

.uvproj,编译并下载工程。

buzzer_PWM4.png

3.3下载完成后,按USER1-3用户按键,听蜂鸣器响声变化

按下USER1,蜂鸣器发音频率增加

按下USER2,蜂鸣器发音占空比增加

按下USER3,蜂鸣器禁止

 

依梦科技,或许可以帮到你

0 0