51 MCU蜂鳴器與數顯匹配

發布 科技 2024-05-05
14個回答
  1. 匿名使用者2024-02-09

    1."新增蜂鳴器,十位數字會跳轉到顯示屏上,頻率與蜂鳴器的頻率相同">>>這種現象可能是由於掃瞄蜂鳴器按鈕時增加了延時程式,或者呼叫了其他占用更多時間的功能,是的,螢幕重新整理時間和蜂鳴器響應之間的間隔變長了,是時差的變化,也就是你所說的同頻。 看一下程式,嘗試將蜂鳴器換成LED燈或繼電器等。

    2."蜂鳴器開關(包括暫停)有延遲">>>新增蜂鳴器開關? 手錶的新增一般是定時使用中斷功能進行掃瞄,這樣按鍵的掃瞄不會影響原程式,並且有去抖動延遲,用於確認按鍵時的方式。

    3.“如果這樣操作蜂鳴器,響鈴時間和暫停時間是一樣的,控制和加速並不容易。 “>你的請求是倒計時,蜂鳴器的速度越來越快,只要寫乙個函式,聲音的速度就是beef=1;牛肉=0;它們之間的時間間隔的長度,它們之間的時間差可以用延遲函式來寫(頻率大致調整),也可以用定時器來寫(這樣時差非常準確,即頻率可以確定)。

    希望我能幫到你!

  2. 匿名使用者2024-02-08

    這並不容易解決,你用了兩個事件,乙個動態草圖顯示(設定為事件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,加倍計數器,再試一次。

  3. 匿名使用者2024-02-07

    蜂鳴器在第二個計時器中控制,仍然用 beep = beep 控制,但前面有乙個條件控制。

    void t0isr() interrupt 1th0=(65536-50000)/256;

    tl0=(65536-50000)%256;

    times++;

    timef++;

    if(timef==(sec/10+1))if(times>=20)

  4. 匿名使用者2024-02-06

    我用定時器來控制蜂鳴器,但是我只能用嗶嗶=嗶來達到蜂鳴器不影響數量,如果這樣操作蜂鳴器,蜂鳴器的時間和暫停時間是一樣的,不容易控制和加速。 有一位偉大的神提供道路嗎?

    這樣,你就可以了。

    振鈴時間和暫停時間可以鏈結到當前秒。

  5. 匿名使用者2024-02-05

    由於是 60 秒倒計時,您可以將顯示時間設定為 500 毫秒或 1 秒一次。

    同樣,蜂鳴器也每500ms或1s更換一次; 唯一需要注意的是,蜂鳴器的頻率不應該以延遲的方式進行,而是要有時間中斷,這樣才不會影響定時時間或節目。

  6. 匿名使用者2024-02-04

    把程式發布出去,看看。

  7. 匿名使用者2024-02-03

    你把電路圖貼出來看嗎?

  8. 匿名使用者2024-02-02

    蜂鳴器常用於計算機、印表機、萬用表等裝置中發出提示聲,提示聲一般很簡單,即是簡單的聲音

  9. 匿名使用者2024-02-01

    蜂鳴器? 從電路上看,它似乎是乙個揚聲器。

    8歐姆的揚聲器不能直接用作負載,阻抗不匹配。

    目前,8歐姆相當於2003年燒毀的短路。

  10. 匿名使用者2024-01-31

    應該是電源的負載能力不夠,電源ULN2003L足以驅動1A的負載,估計電源電壓降低後2003年驅動喇叭,微控制器不工作,測量電源電壓是否正常。

  11. 匿名使用者2024-01-30

    51可以直接驅動蜂鳴器,效率低,所以不會是硬體問題,不需要增加驅動電路,一定是程式上的問題。

    例如,在做其他寫入命令時,我更改了你控制蜂鳴器的埠的輸出結果,我也遇到了這個問題,原來是數碼管在掃瞄時無意中改變了我控制埠的電平,導致蜂鳴器一直響個不停。 呵呵。

    檢視程式。

  12. 匿名使用者2024-01-29

    將驅動程式新增到蜂鳴器。 三極體就可以了。 晶元輸出似乎不能直接驅動蜂鳴器。

  13. 匿名使用者2024-01-28

    有兩件事應該檢查:

    埠上沒有電阻,內部ULN2003為達林頓結構,其輸入電流有一定的要求,因此建議使用電阻器上拉;

    2.程式問題:建議對P1埠程式使用位操作,防止因其他原因導致對應埠發生不可預測的變化;

    3.電路干擾問題:蜂鳴器是感應式器件,如果51微控制器的電源及相關佈線處理不完善,可能會因蜂鳴器工作時的干擾(干擾電源或干擾線路)而影響微控制器的正常執行。

  14. 匿名使用者2024-01-27

    你用的是無源蜂鳴器,對吧? 切換到有源蜂鳴器,它會發出聲音。

相關回答
5個回答2024-05-05

如果你真的想學習,你不需要買開發板。 找到乙個最小的系統板,然後學習一些東西,購買元件並自己構建小電路。 自己經營電子市場,自己搭電路,為了知道問題,為了學習一些東西,買一塊開發板,按照說明書上的電路,然後把程式放進去,然後程式基本理解了,這不叫學習...... >>>More

10個回答2024-05-05

應該是偏置電阻選擇不合適。

16個回答2024-05-05

定時中斷,外部中斷?

9個回答2024-05-05

這是正常的,因為光的開和關是由微控制器的低電平驅動的(從你的程式中可以看出),而微控制器給出的高低電平負載能力不是很強,也就是說,雖然到了電壓,但電流比較小, 當我們編寫程式時,我們編寫相同的情況。沒問題,別擔心。

5個回答2024-05-05

8086屬於微處理器(MPU),是一種微處理器。 >>>More