找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10516|回復(fù): 32
打印 上一主題 下一主題
收起左側(cè)

蜂鳴器為什么一上電就響?附原理圖與單片機程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:743654 發(fā)表于 2021-10-13 08:59 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg51.h>
sbit Beep=P3^0;        

void main()
{
        Beep=0;
        while(1);
}
VDD=5V,Beep已經(jīng)置零了,為什么一上電蜂鳴器還會響一聲?




51hei圖片20211013085505.jpg (29.54 KB, 下載次數(shù): 100)

51hei圖片20211013085505.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:277550 發(fā)表于 2021-10-13 10:07 | 只看該作者
蜂鳴器分有源、無源。  

有源的,就是通電即beep beep。。。。。。。的。
回復(fù)

使用道具 舉報

板凳
ID:554500 發(fā)表于 2021-10-13 10:10 | 只看該作者
上電默認高電平,IO口置0也需要時間,還是給三極管基極加下偏置電阻吧。
回復(fù)

使用道具 舉報

地板
ID:960157 發(fā)表于 2021-10-13 10:12 | 只看該作者
三極管基極對地接一個10uf 電解電容器。
回復(fù)

使用道具 舉報

5#
ID:971637 發(fā)表于 2021-10-13 10:26 | 只看該作者
上電的時候是默認高電平,IO口置0也需要時間,需要給三極管基極加下偏置電阻
回復(fù)

使用道具 舉報

6#
ID:937788 發(fā)表于 2021-10-13 10:26 來自手機 | 只看該作者
基極需要加一個下偏置電阻就闊以咯
回復(fù)

使用道具 舉報

7#
ID:57657 發(fā)表于 2021-10-13 10:57 | 只看該作者
IO口上電瞬間高電平,需要等待一段時間才會執(zhí)行用戶程序,可以換PNP管驅(qū)動。
回復(fù)

使用道具 舉報

8#
ID:743654 發(fā)表于 2021-10-13 14:27 | 只看該作者
18701931930 發(fā)表于 2021-10-13 10:10
上電默認高電平,IO口置0也需要時間,還是給三極管基極加下偏置電阻吧。

已經(jīng)有加15K電阻,還是不起作用
回復(fù)

使用道具 舉報

9#
ID:743654 發(fā)表于 2021-10-13 14:27 | 只看該作者
ZQ01 發(fā)表于 2021-10-13 10:26
上電的時候是默認高電平,IO口置0也需要時間,需要給三極管基極加下偏置電阻

已經(jīng)有加15K電阻,還是不起作用
回復(fù)

使用道具 舉報

10#
ID:831736 發(fā)表于 2021-10-13 14:49 | 只看該作者
是加了一個電感嗎?電感的電壓不能突變
回復(fù)

使用道具 舉報

11#
ID:883242 發(fā)表于 2021-10-13 16:39 | 只看該作者
8051的IO端口默認上拉,也就是按你的電路圖在你的代碼執(zhí)行前蜂鳴器是一直在響的。當然我也會在某些場合故意這么設(shè)計,提示蜂鳴器是好的。
回復(fù)

使用道具 舉報

12#
ID:743654 發(fā)表于 2021-10-13 16:54 | 只看該作者
Hephaestus 發(fā)表于 2021-10-13 16:39
8051的IO端口默認上拉,也就是按你的電路圖在你的代碼執(zhí)行前蜂鳴器是一直在響的。當然我也會在某些場合故意 ...

我的目的不想讓蜂鳴器一上電就響,不然我每次開機就響一聲,而是需要用時再讓Beep=1;
回復(fù)

使用道具 舉報

13#
ID:678280 發(fā)表于 2021-10-13 17:32 | 只看該作者
代碼改成低電平發(fā)聲,NPN管改用PNP管。
回復(fù)

使用道具 舉報

14#
ID:236035 發(fā)表于 2021-10-14 08:42 | 只看該作者
15K不是偏置電阻,是限流用的。
回復(fù)

使用道具 舉報

15#
ID:680011 發(fā)表于 2021-10-14 09:20 | 只看該作者

#include <reg51.h>
sbit Beep=P3^0;        

void main()

{
        Beep=0;
        while(1);
}
回復(fù)

使用道具 舉報

16#
ID:680011 發(fā)表于 2021-10-14 09:21 | 只看該作者

#include <reg51.h>
sbit Beep=P3^0;        

void main()
{
Beep=0;
{
        Beep=0;
        while(1);
}
}
回復(fù)

使用道具 舉報

17#
ID:743654 發(fā)表于 2021-10-14 11:49 | 只看該作者
ly1972001 發(fā)表于 2021-10-14 08:42
15K不是偏置電阻,是限流用的。

是在基極對地加偏置電阻吧,這個阻值要怎么計算呢?
回復(fù)

使用道具 舉報

18#
ID:810165 發(fā)表于 2021-10-14 11:51 | 只看該作者
基極接大電容到低是比較可行的辦法
回復(fù)

使用道具 舉報

19#
ID:743654 發(fā)表于 2021-10-14 13:21 | 只看該作者
mayouzhen2008 發(fā)表于 2021-10-14 11:51
基極接大電容到低是比較可行的辦法

要多大才有用,我接10uF和22uF都不起作用
回復(fù)

使用道具 舉報

20#
ID:304725 發(fā)表于 2021-10-14 15:49 | 只看該作者
Beep上電高電平,應(yīng)該改成低電平
回復(fù)

使用道具 舉報

21#
ID:57657 發(fā)表于 2021-10-14 16:19 | 只看該作者
cheney03 發(fā)表于 2021-10-14 13:21
要多大才有用,我接10uF和22uF都不起作用

接電容做什么? 聲音可能會變異。
回復(fù)

使用道具 舉報

22#
ID:624769 發(fā)表于 2021-10-14 16:26 來自手機 | 只看該作者
cheney03 發(fā)表于 2021-10-14 13:21
要多大才有用,我接10uF和22uF都不起作用

電容你要考慮你單片機復(fù)位時間,以及你正常驅(qū)動時可能產(chǎn)生的延時,不值得。
你這個要求最好的方法就是換pnp三極管,或者換到單片機可以選擇啟動后為低電平的端口,一般單片機都有那么幾個上電后輸出低電平的io。
回復(fù)

使用道具 舉報

23#
ID:743654 發(fā)表于 2021-10-14 17:10 | 只看該作者
npn 發(fā)表于 2021-10-14 16:19
接電容做什么? 聲音可能會變異。

是的,聲音變了
回復(fù)

使用道具 舉報

24#
ID:587810 發(fā)表于 2021-10-14 18:35 | 只看該作者
建議換一個三極管,學(xué)一學(xué)三極管原理,低電平導(dǎo)通,正好啟動了你的蜂鳴器。。。
回復(fù)

使用道具 舉報

25#
ID:641629 發(fā)表于 2021-10-15 09:48 | 只看該作者
換成PNP管子  蜂鳴器下拉
回復(fù)

使用道具 舉報

26#
ID:71233 發(fā)表于 2021-10-15 10:27 | 只看該作者
liuxuhe 發(fā)表于 2021-10-15 09:48
換成PNP管子  蜂鳴器下拉

十分支持!我設(shè)計的電路都是用PNP管的。
回復(fù)

使用道具 舉報

27#
ID:856329 發(fā)表于 2021-10-15 10:34 | 只看該作者
我也遇到過一樣的問題,將BEEP=0;放到while()循環(huán)之前,就解決了,以下是仿真和程序,僅供參考。

Snipaste_2021-10-15_22-47-51.png (6.11 KB, 下載次數(shù): 116)

Snipaste_2021-10-15_22-47-51.png

Snipaste_2021-10-15_22-46-45.png (1.97 KB, 下載次數(shù): 100)

Snipaste_2021-10-15_22-46-45.png

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

28#
ID:964308 發(fā)表于 2021-10-16 14:47 來自手機 | 只看該作者
上電后io口置位需要一定時間
回復(fù)

使用道具 舉報

29#
ID:339654 發(fā)表于 2021-10-26 23:01 | 只看該作者
是不是用錯蜂鳴器了
回復(fù)

使用道具 舉報

30#
ID:420836 發(fā)表于 2021-10-27 09:19 | 只看該作者
部分單片機的GPIO在初始化時處于高電平狀態(tài)。
回復(fù)

使用道具 舉報

31#
ID:517951 發(fā)表于 2021-10-27 20:23 | 只看該作者
有源的蜂鳴器里面有振蕩電路,只要兩端直流壓差和電流滿足條件,就能發(fā)聲。
如果換成無源的,需要給PWM波形,才能出聲,固定的高低電平是不會出聲的。
回復(fù)

使用道具 舉報

32#
ID:975477 發(fā)表于 2021-10-27 22:03 | 只看該作者
上電的時候是默認高電平,IO口置0也需要時間,
回復(fù)

使用道具 舉報

33#
ID:1049587 發(fā)表于 2022-10-28 18:01 | 只看該作者
我也遇到這樣的問題了,我將端口賦值0放在了最前面,然后在開關(guān)MOS的gs之間加了電容也沒改善。s接地,g連接電阻到單片機的一個io口。

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

快速回復(fù) 返回頂部 返回列表