找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2123|回復(fù): 6
收起左側(cè)

關(guān)于如何制作一個(gè)報(bào)警聲音的單片機(jī)程序

[復(fù)制鏈接]
ID:919165 發(fā)表于 2021-5-16 00:56 | 顯示全部樓層 |閱讀模式
如何才能制作關(guān)于各種報(bào)警聲的程序?希望各位能給些意見(jiàn)。

回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2021-5-16 05:20 來(lái)自手機(jī) | 顯示全部樓層
學(xué)習(xí)例程里面找唄
回復(fù)

使用道具 舉報(bào)

ID:922247 發(fā)表于 2021-5-16 17:40 | 顯示全部樓層
用蜂鳴器
回復(fù)

使用道具 舉報(bào)

ID:230742 發(fā)表于 2021-5-16 18:22 | 顯示全部樓層
找一個(gè)電子琴方面的例程,把里面的音調(diào)隨意組合一下。
要學(xué)會(huì)搬磚。慢慢搬。
回復(fù)

使用道具 舉報(bào)

ID:600695 發(fā)表于 2021-5-17 00:18 | 顯示全部樓層
模擬報(bào)警聲,如鬧鐘 滴 滴 滴 滴
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義

sbit SPK=P1^2;    //定義喇叭端口
unsigned char frq;

void DelayUs2x(unsigned char t);//函數(shù)聲明
void DelayMs(unsigned char t);

/*------------------------------------------------
                    主函數(shù)
------------------------------------------------*/
main()
{
unsigned int i;

while(1)
      {
   for(i=0;i<200;i++)
      {
      DelayUs2x(200);
          SPK=!SPK;
          }
          SPK=0;//防止一直給喇叭通電造成損壞
   for(i=0;i<200;i++)
      {
      DelayMs(1);  
          }      
    }
}
/*------------------------------------------------
uS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無(wú)返回值
unsigned char 是定義無(wú)符號(hào)字符變量,其值的范圍是
0~255 這里使用晶振12M,精確延時(shí)請(qǐng)使用匯編,大致延時(shí)
長(zhǎng)度如下 T=tx2+5 uS
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{   
while(--t);
}
/*------------------------------------------------
mS延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無(wú)返回值
unsigned char 是定義無(wú)符號(hào)字符變量,其值的范圍是
0~255 這里使用晶振12M,精確延時(shí)請(qǐng)使用匯編
------------------------------------------------*/
void DelayMs(unsigned char t)
{
     
while(t--)
{
     //大致延時(shí)1mS
     DelayUs2x(245);
         DelayUs2x(245);
}
}
回復(fù)

使用道具 舉報(bào)

ID:71233 發(fā)表于 2021-5-17 08:14 | 顯示全部樓層
各種報(bào)警聲?萬(wàn)能的報(bào)警聲程序應(yīng)該沒(méi)有吧.
下面是本人制作的超溫報(bào)警聲,用STC15F104W,選擇內(nèi)部RC時(shí)鐘6MHz(時(shí)鐘頻率不同,效果就不同)
sbit Beep=P3^3;
void alarm()//報(bào)警聲演奏程序
{
        unsigned char m,a;   //m為頻率常數(shù)變量
        unsigned r;
        m=40;
        for(r=0;r<3*255;r++)
        {
                for(a=0;a<9;a++)
                {
                        Beep=~Beep,
                        delay(m);   //等待節(jié)拍完成, 通過(guò)P1口輸出音頻(可多聲道哦!)        
                }
                m++;if(m==0)m=40;
        }
}
回復(fù)

使用道具 舉報(bào)

ID:922572 發(fā)表于 2021-5-17 12:03 | 顯示全部樓層
一個(gè)蜂鳴器電路+單片機(jī),百度一個(gè)PWM例程,調(diào)節(jié)PWM輸出頻率就行了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表