熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2019-3-9 14:50
正文摘要:單片機(jī)程序: #include <reg52.h> sbit beep=P2^7; void main() { beep=0; } |
感覺木問題啊 |
J9是個(gè)跳線帽吧,有沒有插好呢?還有就是蜂鳴器是有源的還是無緣的?有源的這樣接會(huì)響,無源的不會(huì)響。 |
7358655 發(fā)表于 2019-3-10 20:06 我仿真里用的有源蜂鳴器,一般蜂鳴器都是有源的。你如果是用實(shí)物做實(shí)驗(yàn),可以看看蜂鳴器電極一端的顏色,黑色的是有源的,綠色的是無源的。 |
有源或是無源?!都是玩仿真的,仿真我還不會(huì)用。 |
8550是PNP管,你這里需要的是NPN管 |
我將你的問題進(jìn)行了仿真,一開始確實(shí)不響,將電源電壓改為12V后,蜂鳴器響得很漂亮。 仿真截圖如下: ![]() 仿真程序原版用你的 #include <reg52.h> sbit beep=P2^7; void main() { beep=0; } |
程序有問題,主函數(shù)里面用while大循環(huán) |
麻煩看下,是有源蜂鳴器還是無源蜂鳴器,兩個(gè)的控制不一樣。 |
你知道你用的蜂鳴器是什么樣的嗎?有源或是無源? 如果是有源的蜂鳴器,那么你的程序就是對(duì)的,它應(yīng)該響。如果是無源的,就不會(huì)響了,因?yàn)闊o源的蜂鳴器需要你搞一個(gè)音頻給蜂鳴器。 最簡單的試驗(yàn)就是,在你的beep=0;下面再加這樣幾句: Delay1ms();//這個(gè)是軟件延時(shí)程序,可以在STC-ISP下載軟件中找到相關(guān)功能和程序 beep=1; Delay1ms(); 這樣你再看,是不是響了。 如果都不響,就是硬件問題了。 |
#include <reg52.h> sbit beep=P2^7; void main() { beep=0; while(1); } |
蜂鳴器不是這樣用的,蜂鳴器兩端要有電位差才會(huì)發(fā)出聲音,你的代碼都沒讓他變化,沒有聲音很正常! |
參與人數(shù) 2 | 黑幣 +32 | 收起 理由 |
---|---|---|
![]() | + 16 | |
![]() | + 16 | 回帖助人的獎(jiǎng)勵(lì)! |
好像沒看到蜂鳴器的正負(fù)極標(biāo)識(shí),蜂鳴器是否選擇錯(cuò)誤了?應(yīng)該選擇帶正負(fù)極的有源蜂鳴器。另外這種開關(guān)電路我一般蜂鳴器接三極管的集電極和地之間 |
J9短路,R8改0R |
響不響看程序和電路元器件的選擇是否對(duì) |
最上方端1和2短接了嗎?主函數(shù)里用大循環(huán)把單個(gè)語句套進(jìn)去,試試看行不。 |
可能是蜂鳴器接口定義錯(cuò)了吧,或者你蜂鳴器以及相關(guān)硬件出問題了 |
Powered by 單片機(jī)教程網(wǎng)