單片機(jī)C語(yǔ)言程序設(shè)計(jì):按鍵發(fā)音
掃描二維碼
隨時(shí)隨地手機(jī)看文章
/* 名稱:按鍵發(fā)音
說(shuō)明:按下不同的按鍵會(huì)是 SOUNDER 發(fā)出不同頻率的聲音。本例使用延時(shí)函數(shù)實(shí)現(xiàn)不同頻率的聲音
輸出,以后也可使用定時(shí)器
*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit BEEP=P3^7;
sbit K1=P1^4;
sbit K2=P1^5;
sbit K3=P1^6;
sbit K4=P1^7;
//延時(shí)
void DelayMS(uint x)
{
uchar t;
while(x--) for(t=0;t<120;t++);
}
//按周期 t 發(fā)音
void Play(uchar t)
{
uchar i; for(i=0;i<100;i++) { BEEP=~BEEP; DelayMS(t); } BEEP=0; }
void main()
{
P1=0xff;
BEEP=0;
while(1)
{
if(K1==0) Play(1);
if(K2==0) Play(2);
if(K3==0) Play(3);
if(K4==0) Play(4);
}
}
擴(kuò)展閱讀:開(kāi)關(guān)控制報(bào)警器程序