-
1."新增蜂鳴器,十位數字會跳轉到顯示屏上,頻率與蜂鳴器的頻率相同">>>這種現象可能是由於掃瞄蜂鳴器按鈕時增加了延時程式,或者呼叫了其他占用更多時間的功能,是的,螢幕重新整理時間和蜂鳴器響應之間的間隔變長了,是時差的變化,也就是你所說的同頻。 看一下程式,嘗試將蜂鳴器換成LED燈或繼電器等。
2."蜂鳴器開關(包括暫停)有延遲">>>新增蜂鳴器開關? 手錶的新增一般是定時使用中斷功能進行掃瞄,這樣按鍵的掃瞄不會影響原程式,並且有去抖動延遲,用於確認按鍵時的方式。
3.“如果這樣操作蜂鳴器,響鈴時間和暫停時間是一樣的,控制和加速並不容易。 “>你的請求是倒計時,蜂鳴器的速度越來越快,只要寫乙個函式,聲音的速度就是beef=1;牛肉=0;它們之間的時間間隔的長度,它們之間的時間差可以用延遲函式來寫(頻率大致調整),也可以用定時器來寫(這樣時差非常準確,即頻率可以確定)。
希望我能幫到你!
-
這並不容易解決,你用了兩個事件,乙個動態草圖顯示(設定為事件a),乙個嗶嗶聲(設定為事件b),我覺得你用的計時器是數1秒,它是計數方法1,用時間片來解決問題。 將嗶嗶聲新增到計時器(您計數的計時器)。
例如,如果您使用的是 t0,則新增此段落。
定義:定義嗶嗶聲 CLK 66;
#define beep_flk 1;
全域性變數:uint16 counter2 = 0;
uint16 beep_count = beep_clk ;您可以根據需要更改它,但它應大於 60*m,並且應小於 1 秒的中斷次數。
假設您使用 uint8 sec = 60;
用於生成 1 秒計數的觸發器計數器為:uint8 counter1 = 0;
void t0 handle(void) interrupt 1 timer 0 interrupt 函式。
th0 = 0x...
tl0 = 0x...這是您設定的 1 秒計數
if ( counter2 == beep_count)
beep = ~beep ;
counter2 = 0 ;
if ( counter1 == 0x..這是您設定為生成 1 秒計數器 1 的計數器
sec--;
counter1 = 0;
beep_count = beep_count - beep_flk ;將此 10 設定為嗶嗶聲,您可以根據需要更改它。
counter1++;
counter2++;
這個新程式大約是 80 個機器週期,精度 m 隨心所欲,如果發現頻率不對,試著加倍th0,加倍計數器,再試一次。
-
蜂鳴器在第二個計時器中控制,仍然用 beep = beep 控制,但前面有乙個條件控制。
void t0isr() interrupt 1th0=(65536-50000)/256;
tl0=(65536-50000)%256;
times++;
timef++;
if(timef==(sec/10+1))if(times>=20)
-
我用定時器來控制蜂鳴器,但是我只能用嗶嗶=嗶來達到蜂鳴器不影響數量,如果這樣操作蜂鳴器,蜂鳴器的時間和暫停時間是一樣的,不容易控制和加速。 有一位偉大的神提供道路嗎?
這樣,你就可以了。
振鈴時間和暫停時間可以鏈結到當前秒。
-
由於是 60 秒倒計時,您可以將顯示時間設定為 500 毫秒或 1 秒一次。
同樣,蜂鳴器也每500ms或1s更換一次; 唯一需要注意的是,蜂鳴器的頻率不應該以延遲的方式進行,而是要有時間中斷,這樣才不會影響定時時間或節目。
-
把程式發布出去,看看。
-
你把電路圖貼出來看嗎?
-
蜂鳴器常用於計算機、印表機、萬用表等裝置中發出提示聲,提示聲一般很簡單,即是簡單的聲音
-
蜂鳴器? 從電路上看,它似乎是乙個揚聲器。
8歐姆的揚聲器不能直接用作負載,阻抗不匹配。
目前,8歐姆相當於2003年燒毀的短路。
-
應該是電源的負載能力不夠,電源ULN2003L足以驅動1A的負載,估計電源電壓降低後2003年驅動喇叭,微控制器不工作,測量電源電壓是否正常。
-
51可以直接驅動蜂鳴器,效率低,所以不會是硬體問題,不需要增加驅動電路,一定是程式上的問題。
例如,在做其他寫入命令時,我更改了你控制蜂鳴器的埠的輸出結果,我也遇到了這個問題,原來是數碼管在掃瞄時無意中改變了我控制埠的電平,導致蜂鳴器一直響個不停。 呵呵。
檢視程式。
-
將驅動程式新增到蜂鳴器。 三極體就可以了。 晶元輸出似乎不能直接驅動蜂鳴器。
-
有兩件事應該檢查:
埠上沒有電阻,內部ULN2003為達林頓結構,其輸入電流有一定的要求,因此建議使用電阻器上拉;
2.程式問題:建議對P1埠程式使用位操作,防止因其他原因導致對應埠發生不可預測的變化;
3.電路干擾問題:蜂鳴器是感應式器件,如果51微控制器的電源及相關佈線處理不完善,可能會因蜂鳴器工作時的干擾(干擾電源或干擾線路)而影響微控制器的正常執行。
-
你用的是無源蜂鳴器,對吧? 切換到有源蜂鳴器,它會發出聲音。
如果你真的想學習,你不需要買開發板。 找到乙個最小的系統板,然後學習一些東西,購買元件並自己構建小電路。 自己經營電子市場,自己搭電路,為了知道問題,為了學習一些東西,買一塊開發板,按照說明書上的電路,然後把程式放進去,然後程式基本理解了,這不叫學習...... >>>More
這是正常的,因為光的開和關是由微控制器的低電平驅動的(從你的程式中可以看出),而微控制器給出的高低電平負載能力不是很強,也就是說,雖然到了電壓,但電流比較小, 當我們編寫程式時,我們編寫相同的情況。沒問題,別擔心。