欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2911|回復: 34
收起左側

單片機怎么使得無源蜂鳴器在鳴響的同時,還能處理另外的程序?

  [復制鏈接]
ID:298743 發(fā)表于 2024-5-17 17:32 | 顯示全部樓層 |閱讀模式
用單片機定時器中斷來模擬產(chǎn)生PWM信號,給到蜂鳴器工作,理論上來說要個尖一點的聲音,我需要把一個周期定在兩微秒,單片機根本就執(zhí)行不了其他程序,如果開高一級優(yōu)先級的中斷來處理重要的程序,蜂鳴器的聲音又會變
回復

使用道具 舉報

ID:879809 發(fā)表于 2024-5-17 20:09 | 顯示全部樓層
2微秒給無源蜂鳴器你是開玩笑嘛?
回復

使用道具 舉報

ID:373388 發(fā)表于 2024-5-17 20:30 | 顯示全部樓層
聲波20-20KHz,超過這個范圍就聽不到了,蜂鳴器頻率你定在1-2KHz就可以了
回復

使用道具 舉報

ID:891089 發(fā)表于 2024-5-17 22:58 來自觸屏版 | 顯示全部樓層
看大家都顧左右而言他,我直接給結論吧。這樣是不行的,蜂鳴器是需要連續(xù)pwm波的,無論是中斷還是上操作系統(tǒng),只要是單核的單片機都是會占用時間片的。建議看下esp32s2這款是雙核的,大概可以滿足你的要求。
回復

使用道具 舉報

ID:123289 發(fā)表于 2024-5-17 23:35 | 顯示全部樓層
傻乎乎的,用一個常鳴的蜂鳴器。
回復

使用道具 舉報

ID:161164 發(fā)表于 2024-5-17 23:36 | 顯示全部樓層
可以輸出時鐘信號
回復

使用道具 舉報

ID:192020 發(fā)表于 2024-5-18 09:11 | 顯示全部樓層
不用定時器,直接用PWM模塊輸出就好了
回復

使用道具 舉報

ID:213173 發(fā)表于 2024-5-18 11:38 | 顯示全部樓層
常見的無源蜂鳴器其諧振頻率2000Hz左右,定時器中斷周期在200-250us較為合適。中斷程序占用的時間很少,實踐證明用在1T單片機上根本感覺不到影響其它程序運行。
回復

使用道具 舉報

ID:628113 發(fā)表于 2024-5-18 11:39 | 顯示全部樓層
樓主本身想法并沒有問題, 用 定時 中斷控制無源蜂鳴器的PWM .
只要注意兩點就OK:
1. CPU 必須足夠快, 如果像 8Mhz 的低速CPU, 那基本上就干不了其他事情了。
2. 中斷沒必要如此頻繁, 估計 100us 中斷一次就足夠了。
回復

使用道具 舉報

ID:1109793 發(fā)表于 2024-5-18 17:38 | 顯示全部樓層
2微秒,500K,你確定能聽到?
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-19 21:46 | 顯示全部樓層
xiaobendan001 發(fā)表于 2024-5-18 17:38
2微秒,500K,你確定能聽到?

說錯了,是10微妙蜂鳴器反轉一次,確實能聽到
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-19 22:11 | 顯示全部樓層
rundstedt 發(fā)表于 2024-5-17 20:09
2微秒給無源蜂鳴器你是開玩笑嘛?

發(fā)錯了,我定時的是10微妙,確實能聽到聲音
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-19 22:12 | 顯示全部樓層
美琴的備胎 發(fā)表于 2024-5-17 22:58
看大家都顧左右而言他,我直接給結論吧。這樣是不行的,蜂鳴器是需要連續(xù)pwm波的,無論是中斷還是上操作系 ...

但是我看到別人的產(chǎn)品用的STC8八腳的芯片就做到了,六個定時器,其中一個定時器達到時間,蜂鳴器就會響,但是其他定時器還在定時
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-19 22:19 | 顯示全部樓層
yzwzfyz 發(fā)表于 2024-5-17 23:35
傻乎乎的,用一個常鳴的蜂鳴器。

沒看懂,我想控制能控制蜂鳴器的音量大小,用有源的不知道怎么控制,所以就用了無源的
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-19 22:20 | 顯示全部樓層

輸出時鐘信號會不會比中斷IO口取反更消耗資源,因為一不執(zhí)行時鐘信號的程序,蜂鳴器就不會響了,定時器還有一點點執(zhí)行其他程序的時間
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-19 22:21 | 顯示全部樓層
qq475878026 發(fā)表于 2024-5-18 09:11
不用定時器,直接用PWM模塊輸出就好了

PWM模塊不占用CPU資源嗎?我還要同時做另外的一些事情
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-19 22:26 | 顯示全部樓層
ppcbug 發(fā)表于 2024-5-18 11:39
樓主本身想法并沒有問題, 用 定時 中斷控制無源蜂鳴器的PWM .
只要注意兩點就OK:
1. CPU 必須足夠快,  ...

100us聲音有點沉,沒有滴滴的聲音,我用的芯片是STC8H
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-19 22:27 | 顯示全部樓層
之所以用無源蜂鳴器主要是我想控制蜂鳴器音量的大小,但是現(xiàn)在看來好像也沒什么頭緒
回復

使用道具 舉報

ID:1121392 發(fā)表于 2024-5-20 01:17 | 顯示全部樓層
多任務系統(tǒng)
回復

使用道具 舉報

ID:1109793 發(fā)表于 2024-5-20 07:29 | 顯示全部樓層
asdadqw2 發(fā)表于 2024-5-19 21:46
說錯了,是10微妙蜂鳴器反轉一次,確實能聽到

那就是20us周期那樣也是50K了,如果結果是正確的,你能聽到也牛逼了,不用搞這個了,有這天賦。
回復

使用道具 舉報

ID:458247 發(fā)表于 2024-5-20 08:52 | 顯示全部樓層
asdadqw2 發(fā)表于 2024-5-19 22:27
之所以用無源蜂鳴器主要是我想控制蜂鳴器音量的大小,但是現(xiàn)在看來好像也沒什么頭緒

用快一點的stc單片機,或者stc單片機主頻拉高點
回復

使用道具 舉報

ID:23640 發(fā)表于 2024-5-20 09:07 | 顯示全部樓層
1MS就可以達到1K的頻率,一般蜂鳴器最大聲音頻率是2~4K之間,假設是4K,那么時間就是250US
回復

使用道具 舉報

ID:192020 發(fā)表于 2024-5-20 09:07 | 顯示全部樓層
asdadqw2 發(fā)表于 2024-5-19 22:21
PWM模塊不占用CPU資源嗎?我還要同時做另外的一些事情

PWM配好寄存器就運行了,運行期間CPU不參與的。
回復

使用道具 舉報

ID:23640 發(fā)表于 2024-5-20 09:12 | 顯示全部樓層
asdadqw2 發(fā)表于 2024-5-19 22:26
100us聲音有點沉,沒有滴滴的聲音,我用的芯片是STC8H

你是用什么設備確定的100US?如果真是100US那就是10KHZ的頻率,那是非常尖銳的聲音了,最好用示波器/邏輯分析儀確認下你的時間實際是多少?
回復

使用道具 舉報

ID:161164 發(fā)表于 2024-5-20 09:16 | 顯示全部樓層
asdadqw2 發(fā)表于 2024-5-19 22:20
輸出時鐘信號會不會比中斷IO口取反更消耗資源,因為一不執(zhí)行時鐘信號的程序,蜂鳴器就不會響了,定時器還 ...

輸出時鐘信號零消耗主CPU
但是調不了聲音大小
回復

使用道具 舉報

ID:384109 發(fā)表于 2024-5-20 09:31 | 顯示全部樓層
樓主實際測試一下波形吧,你現(xiàn)在的要求已經(jīng)打破了人耳能聽到的聲音頻率范圍,打破了基本理論了
回復

使用道具 舉報

ID:844772 發(fā)表于 2024-5-20 09:55 | 顯示全部樓層
asdadqw2 發(fā)表于 2024-5-19 22:21
PWM模塊不占用CPU資源嗎?我還要同時做另外的一些事情

硬件的pwm不太占用CPU,不過你10微秒產(chǎn)生的頻率太高,應該是它的低次諧波發(fā)的聲音,跟40微秒是一樣的。
回復

使用道具 舉報

ID:57657 發(fā)表于 2024-5-20 12:13 | 顯示全部樓層
qq475878026 發(fā)表于 2024-5-18 09:11
不用定時器,直接用PWM模塊輸出就好了

PWM模塊不是所有單片機都有此功能,具體見數(shù)據(jù)手冊
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-21 11:22 | 顯示全部樓層
yaosongjin 發(fā)表于 2024-5-20 09:12
你是用什么設備確定的100US?如果真是100US那就是10KHZ的頻率,那是非常尖銳的聲音了,最好用示波器/邏輯 ...

沒有這些設備,我是用定時器取反io口來模擬pwm的,應該是比他高一級的定時器觸發(fā)中斷執(zhí)行程序,把頻率拉大了
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-21 11:24 | 顯示全部樓層
lkc8210 發(fā)表于 2024-5-20 09:16
輸出時鐘信號零消耗主CPU
但是調不了聲音大小

那好像有個想法,STC有多個PWM通道,是不是可以定義多個PWM輸出,然后根據(jù)變量不同,選擇不同的通道,那就可以輸出不同的PWM信號,從而調節(jié)音量了吧
回復

使用道具 舉報

ID:192020 發(fā)表于 2024-5-22 15:16 | 顯示全部樓層
asdadqw2 發(fā)表于 2024-5-21 11:24
那好像有個想法,STC有多個PWM通道,是不是可以定義多個PWM輸出,然后根據(jù)變量不同,選擇不同的通道,那 ...

別人說的是時鐘信號,你說的PWM,雖說一樣是方波但不是同一個東西啊。然后PWM本來就是可調的,沒必要說弄多個PWM來實現(xiàn)可調
回復

使用道具 舉報

ID:298743 發(fā)表于 2024-5-22 17:24 | 顯示全部樓層
qq475878026 發(fā)表于 2024-5-22 15:16
別人說的是時鐘信號,你說的PWM,雖說一樣是方波但不是同一個東西啊。然后PWM本來就是可調的,沒必要說弄 ...

那搞錯了,我還以為PWM和時鐘信號是一樣的東西
回復

使用道具 舉報

ID:79094 發(fā)表于 2024-5-23 00:32 | 顯示全部樓層
蜂鳴器 用 有源的 音量 可以加開關 并聯(lián)電阻  或用三極管并聯(lián)電阻  主要看你用在什么地方
回復

使用道具 舉報

ID:57657 發(fā)表于 2024-5-23 05:43 | 顯示全部樓層
lkc8210 發(fā)表于 2024-5-20 09:16
輸出時鐘信號零消耗主CPU
但是調不了聲音大小

A通道PWM輸出超聲波載波(占空比越高音量越高) B通道輸出頻率信號,加個74HC08將超聲波PWM調制后就能控制音量。
回復

使用道具 舉報

ID:517951 發(fā)表于 2024-5-27 13:22 | 顯示全部樓層
蜂鳴器有2種, 一種是給電就叫. 一種是需要驅動波形的, 音調可調.  
按樓主說的周期是2u秒, 那就是500khz, 人耳朵可聽到的音頻是20khz~20hz. 即便電路正常工作, 人也聽不到.
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表