资源简介
使用51单片机驱动蜂鸣器或喇叭奏乐内有多首简单的乐曲以及各个音阶。
代码片段和文件信息
#include
#include
#define uchar unsigned char
#define uint unsigned int
void Init();
uchar Get_Key();
void Play(uchar key);
sbit buzz = P0^4;
uchar keycode;
/*各音阶对应计数器初值:12345671(高)*/
uint toneh[8]={0xfc430xfcab647770xfd320xfd810xfdc70xf05e0xfe21};
uchar keymode[8]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f}; //用于判断哪个独立键按下
void main()
{
Init();
while(1)
{
keycode=Get_Key(); //获取键值索引
Play(keycode);
}
}
void Init()
{
TMOD=0x10; //启动定时器1
EA=1;
ET1=1;
P1=0xff; //设置P2口为输入模式
buzz=0;
}
uchar Get_Key() //读取键值,并转换为索引值
{
uchar tempi;
P1=0xff;
temp=P1;
for (i=0;i<8;i++)
{
if (temp==keymode[i]) return i; //判断按下的按键
}
return 8; //用于防止无正确按键
}
void play(uchar key)
{
if (key==8) //无键按下或多键按下,不响应
{
TR1=0;
buzz=1;
}
else
{
TR1=1; //有键按下,开中断
keycode=key; //键值索引赋值
}
}
void timer0 (void) interrupt 3 //定时器1中断服务程序
{
buzz=~buzz;
TH1=toneh[keycode]/256;
TL1=toneh[keycode]%256;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-12-02 22:16 电子琴\
文件 94685 2013-05-11 01:20 电子琴\2e4141dc3646966832fa1c41.jpg
文件 1736519 2013-05-07 00:42 电子琴\IMAG0735.jpg
文件 1703 2013-06-01 11:08 电子琴\LED1.LST
文件 1839 2013-06-01 11:08 电子琴\LED1.OBJ
文件 509 2013-06-01 11:08 电子琴\LED1.c
文件 5115 2012-12-11 09:29 电子琴\STARTUP.A51
文件 11772 2013-05-11 01:30 电子琴\STARTUP.lst
文件 870 2013-05-11 01:30 电子琴\STARTUP.obj
文件 146689 2013-05-11 01:20 电子琴\a4305a0c7b832d8c63d98640.jpg
文件 143566 2013-05-11 01:20 电子琴\cc9baf079afa87b109fa9346.jpg
文件 3290 2013-05-20 20:40 电子琴\ceshi.LST
文件 4116 2013-05-20 20:40 电子琴\ceshi.OBJ
文件 1513 2013-05-20 20:23 电子琴\ceshi.c
文件 9057 2013-06-02 19:21 电子琴\chuangkou.LST
文件 8640 2013-06-02 19:21 电子琴\chuangkou.OBJ
文件 2362 2013-06-02 19:28 电子琴\chuangkou.c
文件 12652 2013-06-02 19:38 电子琴\dianziqin
文件 16368 2013-06-02 19:38 电子琴\dianziqin.M51
文件 1999 2013-06-02 19:23 电子琴\dianziqin.Uv2.bak
文件 6224 2013-06-02 19:38 电子琴\dianziqin.hex
文件 1503 2013-06-02 19:38 电子琴\dianziqin.opt.bak
文件 161 2013-12-02 22:16 电子琴\dianziqin.plg
文件 57357 2013-11-29 22:34 电子琴\dianziqin.uvopt
文件 13248 2013-11-29 22:34 电子琴\dianziqin.uvproj
文件 6599 2013-05-12 20:53 电子琴\dianziqin01.LST
文件 8874 2013-05-12 20:53 电子琴\dianziqin01.OBJ
文件 2524 2013-05-11 00:37 电子琴\dianziqin01.c
文件 2419 2013-05-20 00:20 电子琴\dianziqin02.LST
文件 3216 2013-05-20 00:20 电子琴\dianziqin02.OBJ
文件 792 2013-05-12 13:53 电子琴\dianziqin02.c
............此处省略54个文件信息
评论
共有 条评论