|
發布時間: 2019-2-2 12:07
正文摘要:放假焊了一個倒計時器。設想,倒計時時間結束后蜂鳴器鳴響。但是實際上蜂鳴器壓根沒動靜。但是單獨使用時蜂鳴器聲音很大。困惑了一天了。 使用的STC11F02E和74HC595搭建的。數碼管是0.36共陰,晶振使用12MHz的,電 ... |
|
本帖最后由 cheng51 于 2019-2-6 17:22 編輯 解決了。是蜂鳴器運行時干擾或者是負載太大,導致單片機直接復位,原來的代碼問題不大。在正負極間裝了一個104獨石電容和10uf的點解電容后就好了。謝謝大家了。 |
| 蜂鳴器函數延時太短了,再增加一個循環函數試試 |
wulin 發表于 2019-2-2 16:48 謝謝老師了。我臨時有事不能繼續完成這個小制作,我回頭試試。 |
y_z_q3963 發表于 2019-2-2 20:00 嘗試增加了時長還是聽不到。但是只運行蜂鳴器函數可以聽到聲音。費解。 |
taotie 發表于 2019-2-2 18:11 注釋掉其他的內容,只循環蜂鳴器函數,蜂鳴器可以發聲,應該不是三極管的問題。謝謝了。 |
suuy79 發表于 2019-2-2 16:40 我表達失誤了,是只循環蜂鳴器函數時聲音很大。蜂鳴器確實是無源的,有源的尺寸比這個大一圈。按鍵的話我不知道怎么修改。 |
| 蜂鳴器子程序里的延時太短了吧,無源蜂鳴器按這個延時出來的聲音頻率太高,不在聽覺范圍內所以聽不到。 |
| 換個npn管試一試~~ |
| pnp管與npn管電壓極性有區別~~ |
b3b7d0a20cf431ad762dda5d4236acaf2fdd98d3.png (27.57 KB, 下載次數: 41)
|
你的無源蜂鳴器函數不對,只振蕩一個周期1ms哪能聽到響? 給你一個簡單的無源蜂鳴器函數(12MHz 1T),如果用定時器做振蕩源更好些。 0.24ms半周期蜂鳴器程序 void buzzer(unsigned int x) //2x為1個振蕩周期 { //x=1000可以鳴響0.24S unsigned char t; while(x--) { BEE=~BEE; //蜂鳴器諧振頻率2048Hz for(t=0;t<210;t++); //0.24ms半周期=2083Hz } BEE=1; } |
|
1、首先說蜂鳴器: 你說的單獨試蜂鳴器聲音很大,估計你買的蜂鳴器是有源的。 2、其次,有木有可能沒有按“開始按鈕(KEY0)”? |