1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3677|回復: 6
收起左側

單片機初學者想知道為啥下面的程序led燈亮,但是蜂鳴器不響,蜂鳴器是P1^5

[復制鏈接]
ID:728433 發表于 2020-4-14 09:36 | 顯示全部樓層 |閱讀模式
#include<reg52.h>
#include "intrins.h"
#define uint unsigned int
#define uchar unsigned char
sbit beep=P1^5;
uchar temp;
void delay( uint z)
{
unsigned int x,y;
for(x=z;x>0;x--)
   for(y=114;y>0;y--);
}

void main()
{
temp=0xf0;
P2=temp;
delay(100);
while(1)
{
beep=0;
temp=_crol_(temp,1);
P2=temp;
beep=~beep;
delay(100);
}

}

回復

使用道具 舉報

ID:169549 發表于 2020-4-14 11:09 來自觸屏版 | 顯示全部樓層
看看你的硬件電路,蜂鳴器怎么驅動的
回復

使用道具 舉報

ID:169549 發表于 2020-4-14 11:16 來自觸屏版 | 顯示全部樓層
給你個蜂鳴器驅動函數void Beep()       {       unsigned char i  ;       for (i=0  ;i<100  ;i++)         {           delay(100)  ;           BEEP=!BEEP  ;                //Beep取反         }      BEEP=1  ;                            //關閉蜂鳴器      delayms(100);   }
回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:548322 發表于 2020-4-14 11:39 | 顯示全部樓層
你把延時放大點 0.1s可能聽不出來
回復

使用道具 舉報

ID:728921 發表于 2020-4-14 13:47 | 顯示全部樓層
while(1)
{
beep=0;
temp=_crol_(temp,1);
P2=temp;
beep=~beep;
delay(100);
}
把delay(100)改成500或更高試試,不行的話檢查硬件
回復

使用道具 舉報

ID:213173 發表于 2020-4-14 14:00 | 顯示全部樓層
驅動無源蜂鳴器最好單獨寫一個驅動子程序供主程序調用。
#include<reg52.h>
#include "intrins.h"
#define uint unsigned int
#define uchar unsigned char
sbit beep=P1^5;

void delay( uint z)
{
        unsigned int x,y;
        for(x=z;x>0;x--)
           for(y=114;y>0;y--);
}

void Ring(unsigned int t)        //半周期無源蜂鳴器驅動程序
{
        unsigned char i;
        while(t--)
        {
                beep=~beep;                                //蜂鳴器端口取反
                for(i=0;i<25;i++);        //延時0.234ms
        }                                        //約=蜂鳴器諧振頻率2.135KHz,占空比50%方波
        beep=1;                                                //蜂鳴器端口復位
}
void main()
{
        P2=0xfe;
        Ring(500);
        delay(1500);
        while(1)
        {
                P2=_crol_(P2,1);
                Ring(500);//響鈴約120ms
                delay(1500);//延時1.5s
        }
}
回復

使用道具 舉報

ID:270740 發表于 2020-4-14 15:09 | 顯示全部樓層
延時時間太短了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表