找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 555|回复: 34
收起左侧

单片机怎么使得无源蜂鸣器在鸣响的同时,还能处理另外的程序?

  [复制链接]
ID:298743 发表于 2024-5-17 17:32 | 显示全部楼层 |阅读模式
用单片机定时器中断来模拟产生PWM信号,给到蜂鸣器工作,理论上来说要个尖一点的声音,我需要把一个周期定在两微秒,单片机根本就执行不了其他程序,如果开高一级优先级的中断来处理重要的程序,蜂鸣器的声音又会变
回复

使用道具 举报

ID:298743 发表于 2024-5-19 21:46 | 显示全部楼层
xiaobendan001 发表于 2024-5-18 17:38
2微秒,500K,你确定能听到?

说错了,是10微妙蜂鸣器反转一次,确实能听到
回复

使用道具 举报

ID:298743 发表于 2024-5-19 22:11 | 显示全部楼层
rundstedt 发表于 2024-5-17 20:09
2微秒给无源蜂鸣器你是开玩笑嘛?

发错了,我定时的是10微妙,确实能听到声音
回复

使用道具 举报

ID:298743 发表于 2024-5-19 22:12 | 显示全部楼层
美琴的备胎 发表于 2024-5-17 22:58
看大家都顾左右而言他,我直接给结论吧。这样是不行的,蜂鸣器是需要连续pwm波的,无论是中断还是上操作系 ...

但是我看到别人的产品用的STC8八脚的芯片就做到了,六个定时器,其中一个定时器达到时间,蜂鸣器就会响,但是其他定时器还在定时
回复

使用道具 举报

ID:298743 发表于 2024-5-19 22:19 | 显示全部楼层
yzwzfyz 发表于 2024-5-17 23:35
傻乎乎的,用一个常鸣的蜂鸣器。

没看懂,我想控制能控制蜂鸣器的音量大小,用有源的不知道怎么控制,所以就用了无源的
回复

使用道具 举报

ID:298743 发表于 2024-5-19 22:20 | 显示全部楼层
lkc8210 发表于 2024-5-17 23:36
可以输出时钟信号

输出时钟信号会不会比中断IO口取反更消耗资源,因为一不执行时钟信号的程序,蜂鸣器就不会响了,定时器还有一点点执行其他程序的时间
回复

使用道具 举报

ID:298743 发表于 2024-5-19 22:21 | 显示全部楼层
qq475878026 发表于 2024-5-18 09:11
不用定时器,直接用PWM模块输出就好了

PWM模块不占用CPU资源吗?我还要同时做另外的一些事情
回复

使用道具 举报

ID:298743 发表于 2024-5-19 22:26 | 显示全部楼层
ppcbug 发表于 2024-5-18 11:39
楼主本身想法并没有问题, 用 定时 中断控制无源蜂鸣器的PWM .
只要注意两点就OK:
1. CPU 必须足够快,  ...

100us声音有点沉,没有滴滴的声音,我用的芯片是STC8H
回复

使用道具 举报

ID:298743 发表于 2024-5-19 22:27 | 显示全部楼层
之所以用无源蜂鸣器主要是我想控制蜂鸣器音量的大小,但是现在看来好像也没什么头绪
回复

使用道具 举报

ID:298743 发表于 2024-5-21 11:22 | 显示全部楼层
yaosongjin 发表于 2024-5-20 09:12
你是用什么设备确定的100US?如果真是100US那就是10KHZ的频率,那是非常尖锐的声音了,最好用示波器/逻辑 ...

没有这些设备,我是用定时器取反io口来模拟pwm的,应该是比他高一级的定时器触发中断执行程序,把频率拉大了
回复

使用道具 举报

ID:298743 发表于 2024-5-21 11:24 | 显示全部楼层
lkc8210 发表于 2024-5-20 09:16
输出时钟信号零消耗主CPU
但是调不了声音大小

那好像有个想法,STC有多个PWM通道,是不是可以定义多个PWM输出,然后根据变量不同,选择不同的通道,那就可以输出不同的PWM信号,从而调节音量了吧
回复

使用道具 举报

ID:298743 发表于 2024-5-22 17:24 | 显示全部楼层
qq475878026 发表于 2024-5-22 15:16
别人说的是时钟信号,你说的PWM,虽说一样是方波但不是同一个东西啊。然后PWM本来就是可调的,没必要说弄 ...

那搞错了,我还以为PWM和时钟信号是一样的东西
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表