標題: 單片機蜂鳴器不響 [打印本頁]

作者: 791454529    時間: 2019-3-9 14:50
標題: 單片機蜂鳴器不響
單片機程序:
#include <reg52.h>
sbit beep=P2^7;
void main()
{
  beep=0;
}

360截圖20190309144416089.jpg (24.86 KB, 下載次數(shù): 37)

360截圖20190309144416089.jpg

作者: 瘋子本人    時間: 2019-3-9 20:56
可能是蜂鳴器接口定義錯了吧,或者你蜂鳴器以及相關(guān)硬件出問題了
作者: liumangtu102    時間: 2019-3-9 21:53
最上方端1和2短接了嗎?主函數(shù)里用大循環(huán)把單個語句套進去,試試看行不。
作者: wc86110    時間: 2019-3-9 22:08
響不響看程序和電路元器件的選擇是否對
作者: lfc315    時間: 2019-3-9 23:11
J9短路,R8改0R
作者: zhb2004xp    時間: 2019-3-10 00:20
好像沒看到蜂鳴器的正負極標識,蜂鳴器是否選擇錯誤了?應該選擇帶正負極的有源蜂鳴器。另外這種開關(guān)電路我一般蜂鳴器接三極管的集電極和地之間
作者: areyouok    時間: 2019-3-10 01:42
蜂鳴器不是這樣用的,蜂鳴器兩端要有電位差才會發(fā)出聲音,你的代碼都沒讓他變化,沒有聲音很正常!
作者: wulin    時間: 2019-3-10 08:06
#include <reg52.h>
sbit beep=P2^7;
void main()
{
  beep=0;
  while(1);
}
作者: HC6800-ES-V2.0    時間: 2019-3-10 09:16
你知道你用的蜂鳴器是什么樣的嗎?有源或是無源?
如果是有源的蜂鳴器,那么你的程序就是對的,它應該響。如果是無源的,就不會響了,因為無源的蜂鳴器需要你搞一個音頻給蜂鳴器。
最簡單的試驗就是,在你的beep=0;下面再加這樣幾句:
Delay1ms();//這個是軟件延時程序,可以在STC-ISP下載軟件中找到相關(guān)功能和程序
beep=1;
Delay1ms();

這樣你再看,是不是響了。
如果都不響,就是硬件問題了。
作者: jiajuntao    時間: 2019-3-10 09:17
麻煩看下,是有源蜂鳴器還是無源蜂鳴器,兩個的控制不一樣。
作者: c20160526    時間: 2019-3-10 11:47
程序有問題,主函數(shù)里面用while大循環(huán)
作者: zxwdown    時間: 2019-3-10 12:31
      我將你的問題進行了仿真,一開始確實不響,將電源電壓改為12V后,蜂鳴器響得很漂亮。
仿真截圖如下:

仿真程序原版用你的
#include <reg52.h>
sbit beep=P2^7;
void main()
{
  beep=0;
}


作者: 春風十里吹    時間: 2019-3-10 12:47
同意7樓的看法
作者: 63號    時間: 2019-3-10 17:32
8550是PNP管,你這里需要的是NPN管
作者: 7358655    時間: 2019-3-10 20:06
有源或是無源?!都是玩仿真的,仿真我還不會用。
作者: zxwdown    時間: 2019-3-11 07:54
7358655 發(fā)表于 2019-3-10 20:06
有源或是無源?!都是玩仿真的,仿真我還不會用。

      我仿真里用的有源蜂鳴器,一般蜂鳴器都是有源的。你如果是用實物做實驗,可以看看蜂鳴器電極一端的顏色,黑色的是有源的,綠色的是無源的。
作者: 這一生只為你    時間: 2019-3-11 08:58
J9是個跳線帽吧,有沒有插好呢?還有就是蜂鳴器是有源的還是無緣的?有源的這樣接會響,無源的不會響。
作者: Gan12138    時間: 2019-3-11 11:25
感覺木問題啊
作者: Trump1438    時間: 2019-3-11 14:16
這個就算不仿真這樣接也是對的,關(guān)鍵是代碼沒有寫對




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1