同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800,

通俗解释无源蜂鸣器为何依赖PWM变频发声 无源蜂鸣器本身不产生声音,需外部驱动信号激励振动膜片。通过PWM变频控制频率,可精准调节音调高低,实现不同音频输出,这正是无源蜂鸣器依赖PWM的核心原因。 阅读详情


请问一下各位老铁,同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800,我编写了一部分程序,但是不知道怎么在主程序里去实现功能。请各位老铁们帮帮忙看看,该怎么操作。

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar num,sum,bee;
//uint flag;
int count;
sbit FM = P2^3;
void main()
{
 TMOD = 0x11;//ÉèÖö¨Ê±Æ÷1ºÍ0Ϊ¹¤×÷·½Ê½1
 TH0 = (65536-count)/256;
 TL0 = (65536-count)%256;
 TH1 = (65536-50000)/256;
 TL1 = (65536-50000)%256;
 EA = 1;//¿ª×ÜÖжÏ
 ET0 = 1;//¿ª¶¨Ê±Æ÷0ÖжÏ
 TR0 = 1;//Æô¶¯¶¨Ê±Æ÷0
 TF0 = 0;
 ET1 = 1;//¿ª¶¨Ê±Æ÷1ÖжÏ
 TR1 = 1;//Æô¶¯¶¨Ê±Æ÷1
 TF1 = 0;
 FM = bee;
 while(1)
 {   
  if(sum == 20)
  {
   sum = 0;
   if(count/10000 == 0)
   {
     count = 0; 
    bee = ~bee;
   }
  }
  TR0 = 1;
 }
}

void exter1() interrupt 3
{
 ET1 = 0; 
 TH1 = (65536-50000)/256;
 TL1 = (65536-50000)%256;
 TF1 = 0;
 sum++;
/* if(sum == 20)
 {
  sum = 0;
  if(count/10000 == 0)
  {
   count = 0;
   bee = 1;
  }
 }*/
 ET1 = 1;
}
void exter0() interrupt 1
{
 ET0 = 0;
 TH0 = (65536-count)/256;
 TL0 = (65536-count)%256;
 TF0 = 0;
 count++;
/* if(count/10000 == 0)
 {
  count = 0;
  bee = 1;
 }*/
 //if()
 ET0 = 1;
}

基于PWM控制的有源蜂鸣器节能发声模式探讨 深入探讨利用PWM技术驱动有源蜂鸣器的节能发声方法,通过调节占空比优化功耗与音质表现,提升系统能效,适用于低功耗场景下的有源蜂鸣器应用设计。 阅读详情

相关推荐

python sci sci-hub 爬论文

sci-hub 爬虫 后续加入对于时间的排序,下载最新文献 参考: https://www.guanjihuan.com/archives/6846 https://blog.youkuaiyun.com/czh2637750821/article/details/115508922

weixin_42783619的博客 3542

51单片机蜂鸣器驱动设计:定时器中断实现精确发声控制

蜂鸣器是嵌入式系统中常用的人机交互器件,其核心原理是通过IO口输出特定频率的方波信号,激发压电陶瓷振动发声。在单片机开发中,精准控制音调与发声时长依赖于定时器中断机制,实现非阻塞、低资源占用的声学反馈。基于STC89C52RC等经典51单片机,采用1ms定时器中断翻转IO电平,可稳定生成500Hz提示音,兼顾人耳敏感度与系统实时性。该方案广泛应用于智能小车避障、工业报警、教学实验等场景,具备高可靠性与良好可移植性,是嵌入式外设驱动开发中的典型实践案例。

weixin_42402664的博客 1131

OpenTCS打造移动机器人交通管制系统(四)

先分析下OpenTCS的一些策略方面的东西,这是OpenTCS的基础。 首先需要先明确下OpenTCS内核中的三个概念: 路由(Route) : 决定了车辆通过什么样的方式和算法来获得一段路径,未来车辆将沿着此路径运行。 派遣(Dispacher): 决定了一个订单应该关联哪一辆小车,即为订单分配车辆和为车辆分配订单。 调度(schedule):狭义上的调度,交通管制的核心,决定了何时分配...

白色冰激凌的技术专栏 5272

同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800,1K的方波

#include #include #define uchar unsigned char #define uint unsigned int uchar tt,aa; uint fre,flag; sbit beep=P3^6; void main() { TMOD=0x11; //选择定时器 t0的工作方式为1 EA=1; TH0=(65536-fre)/256; TL0=

QIAOSHUXIANG的专栏 9889

Motoman机器人离线编程——Motocom32开发简介

欢迎关注Jungle的Motoman机器人离线编程专栏系列文章: Motoman机器人离线编程——Motocom32开发简介 Motoman机器人离线编程——Visio Studio环境配置 Motoman机器人离线编程——Motocom32库函数的使用与封装 Motoman机器人离线编程——Motocom32参考文献及注意事项 Motoman机器人离线编程——MotocomES介绍 ...

冯Jungle的个人博客 8713

高云FPGA系列教程(1):FPGA和ARM开发环境搭建

至此,高云FPGA和MCU开发环境就搭建完成了,整体还是比较简单的,几乎是一键完成,下一篇文章我们进行实际的FPGA和MCU开发。本文是高云FPGA系列教程的第1篇文章。

whik1194的博客 6186

stm8 蜂鸣器BEEP

介绍了stm8的BEEP功能的使用和选项字节OptionByte中的ARF的设置。

小猿猪哥的博客 8254

数学建模学习(75):全局敏感性分析Morris 方法

敏感性分析 (SA) 是分析不同应用条件下模型行为的基本实践。提出了许多 SA 技术,从简单的筛选方法到计算成本高昂的基于方差的方法。本篇内容我们通过将 Morris 方法来对模型进行分析。

全栈川川 1万+

STC89C52单片机用两个定时器控制蜂鸣器的频率和输出时间间隔

这里写自定义目录标题题目遇到的问题 题目 同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800, 1k(hz)的方波。 遇到的问题 出现定时器紊乱的现象,这个时候需要把T1定时器的优先级设为高于T0优先级 具体代码如下: #include <reg52.h> typedef unsign...

lqxnihao的博客 4375

uniapp - 获取设备麦克风权限+麦克风设备列表,用户可选择切换麦克风设备功能,选择麦克风采集设备后点击录制音频外部声音+可随时暂停/继续录音+记录音频录制时长(支持在线播放试听或下载MP3文件)

uniapp获取麦克风设备列表,uniapp录制声音,Uniapp获取麦克风权限,uniapp苹果ios安卓app获取麦克风设备列表,Uniapp H5获取浏览器麦克风并实现录音,Uniapp实现麦克风权限管理与音频录制全流程,uni-app实战案例:实现H5页面麦克风权限获取与录音功能,uni-app音频录制,uniapp麦克风授权窗口,uniapp获取iOS麦克风权限,实现前端录音并播放,把音频传给后端接口处理,获取麦克风并实现录音功能,前端获取/切换麦克风播放采集音频和采集音量大小,前端调用麦克风实现

🏆 前端领域优质创作者 2981

Yocto系列讲解[入门篇] 1 - 快速入门熟悉Yocto的构建

yocto quick start up带大家快速上手

fulinux的博客 5万+

stm32有源蜂鸣器程序,高效简洁优雅。

高效率修改参数,程序简洁优雅,移植简单。 蜂鸣器原理图如上图所示:BEEP=1时,蜂鸣器响;BEEP=0时,蜂鸣器不响。 最简单的办法就是采用软件延时处理,例如: BEEP_ON(); Delay_ms(1000); BEEP_OFF; 但是执行蜂鸣器程序时,会导致其他程序无法运行,例如按键扫描程序就无法正常工作。 所以我们可以用定时器来定时驱动和关闭蜂鸣器。 为了方便修改蜂鸣器的持续鸣叫时间,.........

weixin_42401119的博客 9591

【实战项目开发技术分享】机器人安全通过狭窄区域的方案

在机器人的应用领域中,有时会遇到需要机器人通过狭窄区域的情况。无论是室内还是室外,机器人需要具备适应性和灵活性,以便在狭窄的空间中进行安全、高效的导航。本文将提供一些如何让机器人通过狭窄区域的实现方案和思路,希望帮助读者可以根据实际的开发需要进行适当调整和扩展。

xiewf的博客 2万+

关于郭天祥51单片机教程视频课后题《同时用两个定时器控制蜂鸣器发声》

题目为:同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800, 1k(hz)的方波。 给出的代码为: #include  //51单片机头文件 #include //包含有左右循环移位子函数的库 #define uint unsigned int    //宏定义 #define uch

aaaaice的博客 8182

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

使用STM32F103控制蜂鸣器发声播放音乐

近期,由于某些需要,要搭建一个机器人移动平台,需要用到STM32嵌入式系统,所有开始了某些方面的研究。这里准备有蜂鸣器来做一个下位机与上位机连接状态的指示。 参考网站:http://www.china-buzzer.com/new_detail/nid/1691.html https://blog.youkuaiyun.com/fanxp66/article/details/80264700 https...

翎风的博客 9万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

51单片机控制有源/无源蜂鸣器唱歌的频率差异解析

深入剖析51单片机如何通过频率调节让有源与无源蜂鸣器发声,重点讲解两者在实现音乐播放时的硬件响应与程序设计区别,掌握51单片机蜂鸣器唱歌的关键技巧。

weixin_42629522的博客 955

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

51单片机学习笔记-9蜂鸣器

蜂鸣器提示按键按下、蜂鸣器播放音乐

虎慕的博客 6910

proteus蜂鸣器频率调节:基于AT89C51的实现方案

通过AT89C51单片机在Proteus环境中实现蜂鸣器频率的精准控制,利用定时器产生不同频率信号驱动蜂鸣器,达到发声效果。该方案适用于教学与仿真验证,突出proteus蜂鸣器仿真调试的灵活性与实用性。

weixin_34456923的博客 763

51单片机(二十七)—— 蜂鸣器播放音乐

1、实验原理介绍 蜂鸣器是电路中经常使用的发声器件,我们一般使用蜂鸣器发出“嘀嘀”的声音,用它作为提示音。有没有想过用蜂鸣器还可以播放音乐呢? 本文使用蜂鸣器来播放音乐。为了深入了解此实验的原理,先介绍一下音乐的基础知识,音乐中的每个音调都有其固定的音高,简谱记谱法由7个基本唱名组成,它们分别用1、2、3、4、5、6、7表示。每个唱名对应固定的音高。由声学角度看...

bigmarshal的博客 7万+

STC89C52单片机蜂鸣器介绍以及《卡农》歌曲代码示例

目录 蜂鸣器介绍 驱动电路 三极管驱动 集成电路驱动 音乐的相关知识 音符与计时器重装载值对应表 将乐谱转换为宏定义的音调谱 实际代码演示: 蜂鸣器介绍 蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号 蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器 有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定 无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音 这里显然我们单片机

爱吃炸鸡的小猪's blog 1万+

【51单片机汇编实验】实验五 定时器与蜂鸣器实验

汇编语言实现51单片机定时器控制蜂鸣器发声

qq_65174983的博客 3232

单片机七阶音符_(单片机问题)让蜂鸣器发出do,ri,mi,fa,so,la,si,按这个顺序发声,每个音符各发声1秒....

问题描述:(单片机问题)让蜂鸣器发出do,ri,mi,fa,so,la,si,按这个顺序发声,每个音符各发声1秒.蜂鸣器接在单片机的P2.4口,用C语言来编写,求具体的单片机程序,不要框架型的程序哦!我不会介意,但是不要评论我,说我怎么怎么不行,垃圾,傻子等类似的侮辱性的语言,因为我刚自学,也自认为不聪明.如果您给我程序或提出解决办法,这些音符对应频率好像是:10,50,100,200,400,8...

weixin_36443823的博客 4544

【51单片机】蜂鸣器演奏音乐——小星星&天空之城

【51单片机】蜂鸣器演奏音乐 —— 小星星 & 天空之城

m0_72563041的博客 6491

51单片机蜂鸣器唱歌之延时函数与频率精度平衡技巧

通过合理调整延时函数,实现51单片机驱动蜂鸣器精准发声,兼顾节奏稳定性与音调准确度,让音乐播放更流畅动听。

weixin_32287387的博客 978

二、基于STM32F103C8T6的蜂鸣器发声设计

通过本实验,你学习了基于STM32F103C8T6微控制器的蜂鸣器发声设计和实现。这对进一步学习嵌入式系统开发和音频处理提供了基础。

qq_59111928的博客 3641
空学来风
博客等级 码龄9年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值