|
發布時間: 2019-3-9 14:50
正文摘要:單片機程序: #include <reg52.h> sbit beep=P2^7; void main() { beep=0; } |
| 感覺木問題啊 |
| J9是個跳線帽吧,有沒有插好呢?還有就是蜂鳴器是有源的還是無緣的?有源的這樣接會響,無源的不會響。 |
7358655 發表于 2019-3-10 20:06 我仿真里用的有源蜂鳴器,一般蜂鳴器都是有源的。你如果是用實物做實驗,可以看看蜂鳴器電極一端的顏色,黑色的是有源的,綠色的是無源的。 |
| 有源或是無源?!都是玩仿真的,仿真我還不會用。 |
| 8550是PNP管,你這里需要的是NPN管 |
|
我將你的問題進行了仿真,一開始確實不響,將電源電壓改為12V后,蜂鳴器響得很漂亮。 仿真截圖如下:
仿真程序原版用你的 #include <reg52.h> sbit beep=P2^7; void main() { beep=0; } |
| 程序有問題,主函數里面用while大循環 |
| 麻煩看下,是有源蜂鳴器還是無源蜂鳴器,兩個的控制不一樣。 |
|
你知道你用的蜂鳴器是什么樣的嗎?有源或是無源? 如果是有源的蜂鳴器,那么你的程序就是對的,它應該響。如果是無源的,就不會響了,因為無源的蜂鳴器需要你搞一個音頻給蜂鳴器。 最簡單的試驗就是,在你的beep=0;下面再加這樣幾句: Delay1ms();//這個是軟件延時程序,可以在STC-ISP下載軟件中找到相關功能和程序 beep=1; Delay1ms(); 這樣你再看,是不是響了。 如果都不響,就是硬件問題了。 |
|
#include <reg52.h> sbit beep=P2^7; void main() { beep=0; while(1); } |
| 好像沒看到蜂鳴器的正負極標識,蜂鳴器是否選擇錯誤了?應該選擇帶正負極的有源蜂鳴器。另外這種開關電路我一般蜂鳴器接三極管的集電極和地之間 |
| J9短路,R8改0R |
| 響不響看程序和電路元器件的選擇是否對 |
| 最上方端1和2短接了嗎?主函數里用大循環把單個語句套進去,試試看行不。 |
| 可能是蜂鳴器接口定義錯了吧,或者你蜂鳴器以及相關硬件出問題了 |