满意答案
wellensd75
2015.11.02
采纳率:49% 等级:13
已帮助:16846人
我这有自己做的一个唱两只老虎的,只有音调,用的无源蜂鸣器
// 蜂鸣器唱两只老虎
#include
#include
sbit p=P2^3;
int t;
void js() interrupt 1
{
TH0=(65636-500)/256;
TL0=(65636-500)%256;
t++;
}
void fm(int a)
{
int c;
p=1;
c=10-a;
TMOD=1;
TH0=(65636-500)/256;
TL0=(65636-500)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(t==12*50)break;
if(a==0)continue;
if(t%c==0)p=0;
if(t%c>0)p=1;
}
t=0;
}
void main()
{
int c=0,i=0,k,
code unsigned char b[]={1,2,3,1,1,2,3,1,3,4,5,0,3,4,5,0,5,6,5,4,3,3,1,1,5,6,5,4,3,1,0,3,-1,1,0,3,-1,1,0};
while(1)
{
if(c==40)c=0;
k=(c<17||c>29);
switch(k){
case(1): fm (b[c]),fm (b[c]);break;
case(0): fm (b[c]);
}
p=1;
c++;
}
}
00分享举报