標(biāo)題: 我想問一下,我這個有源蜂鳴器程序怎么不響?我找不到哪有問題? [打印本頁]

作者: XH333    時間: 2021-11-21 18:11
標(biāo)題: 我想問一下,我這個有源蜂鳴器程序怎么不響啊?我找不到哪有問題?
#include <reg52.h>
#include <intrins.h>

sbit buzz=P0^6;

void delay(unsigned int n)//Ñó3ùoˉêy
{
  unsigned i=0,j=0;
    for(i=0;i<n;i++)
    {
      for(j=0;j<120;j++);
    }
}

void main()
{

        while(1)
        {
            buzz=~buzz;
                delay(5000);
        }
}


作者: 188610329    時間: 2021-11-21 19:55
      while(1)
        {
            buzz=~buzz;
                delay(5000);
        }

你確定你是有源蜂鳴器?  你確定是有源蜂鳴器, 你這樣寫代碼?

檢查電路吧, 有源蜂鳴器有正負(fù)極,接反了絕對不會響.
作者: wulin    時間: 2021-11-21 20:45
單片機(jī)端口不能直接驅(qū)動蜂鳴器,需要經(jīng)放大器才能驅(qū)動蜂鳴器。
作者: XH333    時間: 2021-11-21 21:56
188610329 發(fā)表于 2021-11-21 19:55
while(1)
        {
            buzz=~buzz;

謝謝!
這是買的51單片機(jī),在做實驗,電路沒問題,是有源蜂鳴器沒錯。
作者: XH333    時間: 2021-11-21 22:02
wulin 發(fā)表于 2021-11-21 20:45
單片機(jī)端口不能直接驅(qū)動蜂鳴器,需要經(jīng)放大器才能驅(qū)動蜂鳴器。

好的,多謝了!
作者: saint_lee1986    時間: 2021-11-21 22:56
蜂鳴器正極接電源,負(fù)極接單片機(jī)引腳。
作者: hhdsdy    時間: 2021-11-22 00:19
188610329 發(fā)表于 2021-11-21 19:55
while(1)
        {
            buzz=~buzz;

如果延時時間給弄成0.5秒呢?
作者: 溺水之魚    時間: 2021-11-22 09:47
看看正負(fù)極有沒接反啊
作者: 小黑屋525    時間: 2021-11-22 10:46
你可以程序直接給1,看響不響,再直接給0,再看響不響,這兩種都不想那就是電路的問題了。
作者: 188610329    時間: 2021-11-22 12:21
hhdsdy 發(fā)表于 2021-11-22 00:19
如果延時時間給弄成0.5秒呢?

如果弄成0.5秒,電路正確的前提下,每秒鐘響一次,一次響0.5秒,停0.5秒。但前提是電路正確,電流足夠,所以,建議先檢查蜂鳴器是否接正負(fù)極后能響,再連接三極管后確認(rèn)限流電阻大小是否合適,最后再連單片機(jī),如果你是不能推挽的單片機(jī),應(yīng)當(dāng)用pnp管,如:8550
作者: dzc3458    時間: 2021-11-22 14:45
51io口驅(qū)動能力太小,只有20ma,要做個放大電路




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1