標題:
stc89c52單片機蜂鳴器不響,請教各位大佬!
[打印本頁]
作者:
滄瀾釣翁
時間:
2018-1-24 10:59
標題:
stc89c52單片機蜂鳴器不響,請教各位大佬!
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit BEEP=P3^7;
音符頻率表,不同頻率由不同的延時來決定
uchar code SONG_TONE[]=
{212,212,190,212,159,169,
212,212,190,212,142,159,
212,212,106,126,159,169,
190,119,119,126,159,142,
159,0};
/節(jié)拍表,節(jié)拍決定每個音符的演奏長短
uchar code SONG_LONG[]=
{9,3,12,12,12,24,9,3,12,
12,12,24,9,3,12,12,12,
12,12,9,3,12,12,12,24,0};
//延時
void DelayMS(uint z)
{
uint x,y;
for(x=0;x<z;x++)
// while(x--)
for(y=0;y<110;y++);
}
//播放函數(shù)
void PlayMusic()
{ uint i=0,j,k;
while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)
{
//播放各個音符,SONG_LONG為拍子長度
for(j=0;j<SONG_LONG[i]*20;j++)
{
BEEP=~BEEP;
//SONG_TONE延時表決定了每個音符的頻率
for(k=0;k<SONG_TONE[i]/3;k++);
}
DelayMS(10);
i++;
}
}
void main()
{
BEEP=0;
while(1)
{
PlayMusic(); //播放
DelayMS(500); //播放完后暫停一段時間
}
}
作者:
cccc888
時間:
2018-1-24 11:44
注釋可用雙斜線,不是單斜線。
程序除注釋外,沒問題,可發(fā)聲。
作者:
劉海龍
時間:
2018-1-24 12:35
用無源蜂鳴器
作者:
xdl932365660
時間:
2018-1-24 14:12
確定是軟件的事情,而不是硬件的原因么,可以用Protes仿真,確定下問題所在
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1