这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 单片机C语言程序设计:演奏音阶

共1条 1/1 1 跳转至

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

高工
2013-10-25 15:34:38     打赏

/* 名称:演奏音阶

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

阶,播放由K1控制。

*/

#includereg51.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;t120;t++);

}

//主程序

voidmain()

{

TMOD=0x00; //T0方式0

IE=0x82;

SPK=0;

while(1)

{

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

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

for(i=1;i15;i++)

{

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

DelayMS(500); //播放延时

TR0=0;

} DelayMS(50);

}

}

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

推荐阅读:用定时器设计的门铃程序




关键词: 基础知识    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]