医疗电子技术网|技术阅读
登录|注册

您现在的位置是:医疗电子技术网 > 技术阅读 > 单片机C语言程序设计:演奏音阶

单片机C语言程序设计:演奏音阶

/*名称:演奏音阶


说明:本例使用定时器演奏一段音


阶,播放由K1控制。


*/


#include<reg51.h>


#defineucharunsignedchar


#defineuintunsignedint


sbitK1=P1^0;


sbitSPK=P3^4;


uinti=0;//音符索引


//14个音符放在方式2下的定时寄存器


(TH0,TL0)


ucharcodeHI_LIST[]={0,226,229,232,233,236,238,240,241,242,244,245,246,247,248};


ucharcodeLO_LIST[]={0,4,13,10,20,3,8,6,2,23,5,26,1,4,3};


//定时器0中断函数


voidT0_INT()interrupt1


{


TL0=LO_LIST[i];


TH0=HI_LIST[i];


SPK=~SPK;


}


//延时


voidDelayMS(uintms)


{


uchart;


while(ms--)for(t=0;t<120;t++);


}


//主程序


voidmain()


{


TMOD=0x00;//T0方式0


IE=0x82;


SPK=0;


while(1)


{

while(K1==1);//未按键等待


while(K1==0);//等待释放


for(i=1;i<15;i++)


{


TR0=1;//播放一个音符


DelayMS(500);//播放延时


TR0=0;


}DelayMS(50);


}


}


按以下识别二维码关注!


电子路上,一起走!