当前位置: 首页 > news >正文

衡水网站推广公司/中国职业培训在线官网

衡水网站推广公司,中国职业培训在线官网,河南手机网站建设价格明细表,网站的flashSTM32F1 基于普通定时器TIM3–PWM输出驱动无源蜂鸣器。(HAL库) 这里的话重点是是将PWM输出模式驱动蜂鸣器,至于PWM是什么和有源and无源蜂鸣器的区别,CSDN上有许多将的很好的文章,这里不重复了。 无源蜂鸣器的驱动 接…

STM32F1 基于普通定时器TIM3–PWM输出驱动无源蜂鸣器。(HAL库)

这里的话重点是是将PWM输出模式驱动蜂鸣器,至于PWM是什么和有源and无源蜂鸣器的区别,CSDN上有许多将的很好的文章,这里不重复了。

无源蜂鸣器的驱动

接上VCC和GND,外加一个驱动的IO口即可。这个IO口负责输出的相对应的频率(即你输入1000hz频率的信号它就发出对应1000hz频率的声音),所以现在的目标是用stm32的对应IO口输出对应频率的信号。这里要强调一下,IO口输入给无源蜂鸣器的频率,必须要在一定范围之内(大概在2khz ~ 5khz)左右,这也限制住蜂鸣器只能输出2kzh ~ 5kzh范围的声音。现在目标是找到能够输出DO,RE,MI…的频率引用Leon爱代码所转载的文章
红框为在范围2khz ~ 5khz之内的音调(有几个超出了),现在任务就是stm32里的了

STM32内的配置

怎么才能输出对应频率的声音呢,只要输出对应频率的就ok了。这个时候定时器的PWM输出就十分有用了。我们先分析一下PWM输出要配置比较重要的东西:预分频(PSC),自动重装周期(Autoload),占空比(Pulse)。关于PWM其余的配置可以不一样,也可以参照我的源码(在文末放出)

  1. 预分频:
    预分频器(Prescaler-PSC)用来将定时器时钟源进行分频输出。

  2. 自动重装载周期:
    开启自动重装载功能后,当计数值到达Autoload中的值时,计数器清零,如果中断打开则会触发中断
    PSC, Autoload 是决定输出频率的,所以配置好这两个东西基本就稳了

  3. 占空比:
    当计数值到达占空比的值得时候,翻转电平输出。(至于之前电平是什么,自己可以配置)
    占空比是决定蜂鸣器声音大小的

其余关于PWM东西的配置放在代码中:

知道这些东西后,要怎么配置呢:在这里插入图片描述
根据公式就能知道预分频和Autoload要写入什么值。
做到上面这两步就能驱动蜂鸣器输出DO,RE…了

接下来就是节拍(就是音调的延时时间)的问题

这里我是用了软件延时,不推荐用其他定时器or系统定时器来决定延时时间(因为他们用中断会妨碍到PWM输出,所以)

   // 延时时间函数 500ms为一拍 1000ms为一拍半uint16_t Interval[] = {500, 500, 500, 500, 500, 500, 1000, 500, 500, 500, 500,500, 500, 1000};// 简谱中的音调 DO,RE....									uint16_t tone[] =     {1, 1, 5, 5, 6, 6, 5, 4, 4, 3, 3, 2, 2, 1};int i = 0;/* USER CODE END 1 */uint16_t length_Inter = sizeof(Interval)/sizeof(Interval[0]);uint16_t length_Tone = sizeof(tone)/sizeof(tone[0]);
// 软件延时
void delay_ms(uint16_t time)
{    uint16_t i=0;  while(time--){i=12000;  while(i--) ;    }
}while (1){for(i = 0; i < length_Inter; i++){// BRE_TIM 是配置的定时器 index_pre是存储了音调的频率(DO对应的频率)//tone是存储音调(即简谱中的数字 DO,RE,ME)__HAL_TIM_SET_AUTORELOAD(&BRE_TIM, index_pre[tone[i]]);// 进行延时	delay_ms(Interval[i]);    // 接下来的话可以删掉,这下面的的代码只是打乱蜂鸣器发音,然后重新让蜂鸣器发音,好听一点点。																__HAL_TIM_SET_AUTORELOAD(&BRE_TIM, 500);delay_ms(10);}i = 0;}

完成了

百度云下载:
密码: q9wh
源码下载地址

http://www.lbrq.cn/news/1324963.html

相关文章:

  • 网站备案本人承诺/百度网络科技有限公司
  • 网站 制作 技术过时/seo推广优势
  • 濮阳公司建站/北京seo公司华网白帽
  • 漳州模板网站建设/百度图片搜索网页版
  • 企业网站建设平台的功能/百度推广代理公司广州
  • 接网站开发做多少钱/seo是做什么工作的
  • 国务院网站官网建设部/seo工具软件
  • 手机做网站空间/百度搜索词热度查询
  • 做盗链电影网站怎么样/最好的推广平台是什么软件
  • 深圳网站优化技巧/网站模板哪里好
  • 团购网站模板下载/宽带推广方案
  • 选择做华为网站的目的和意义/惠州优化怎么做seo
  • 湖南网红网站建设有限公司/seo网站推广企业
  • 前端开发是做网站的吗/app推广拉新渠道
  • 淮北建设机械网站/深圳网络推广网络
  • 企业网站结构/seo从入门到精通
  • 构建网站的步骤/今天最近的新闻
  • 免费建设企业网站/网站建设技术
  • 建设公司需要网站吗/少儿编程培训机构排名前十
  • 深圳企业网站制作设计/发稿服务
  • 2008服务器网站/网站创建流程
  • 美国建设新闻网站/aso优化怎么做
  • 做汽车行业必须注册际零件网站/网站推广做什么
  • lol福利wordpress/整站优化案例
  • 微信连接微网站/重庆seo招聘
  • 网络推广图片大全/网站怎样优化seo
  • 做羞羞的事视频网站/百度指数分析工具
  • 华侨城网站建设/365优化大师软件下载
  • the7做的网站/互联网项目推广平台有哪些
  • 手机视频网站搭建/浏览器下载大全
  • 3D游戏引擎的“眼睛“:相机系统深度揭秘与技术实现
  • 【nerf处理视频数据】Instant-NGP项目NeRF模型训练数据集准备指南
  • vue3【组件封装】超级表单 S-form.vue
  • <RT1176系列11>DMAMUX解读
  • Java 排序
  • 电动汽车转向系统及其工作原理