找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2553|回复: 1
打印 上一主题 下一主题
收起左侧

求思路

[复制链接]
跳转到指定楼层
楼主
ID:55960 发表于 2013-10-21 16:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是个音乐程序,需要添加一个按键和一首音乐,使得按下按键后,音乐1开始放,按下另个按键,另个音乐响起。可是我不知道怎么入手。。。。。求高手指教,又可以参考的程序也可以.
#include<reg51.h>
#define L5 64260
#define L6 64400
#define L7 64524
#define Z1 64580
#define Z2 64684
#define Z3 64777
#define Z4 64820
#define Z5 64898
#define Z6 64968
#define Z7 65030
unsigned int C;
unsigned int code f[]={Z1,Z2,Z3,Z1,Z1,Z2,Z3,Z1,Z3,Z4,Z5,Z3,Z4,Z5,Z5,Z6,Z5,Z4,Z3,Z1,Z5,Z6,Z5,Z4,Z3,Z1,Z1,L5,Z1,Z1,L5,Z1,0xff};
unsigned int code JP[]={8,8,8,8,8,8,8,8,8,8,16,8,8,16,4,4,4,4,8,8,4,4,4,4,8,8,8,8,16,8,8,16};
sbit sound=P2^3;
void delay()
{
  unsigned char i,j;
  for(i=0;i<200;i++)
  for(j=0;j<250;j++);
}
void main(void)
{
unsigned char i,j;
EA=1;
ET0=1;
TMOD=0x01;
while(1)                    //无限循环
  {
   i=0;
   while(f[i]!=0xff)
    {
   C=f[i];
   TH0=C/256;
   TL0=C%256;
    TR0=1;
   for(j=0;j<JP[i];j++)
   delay();
   TR0=0;
   i++;
    }
   sound=0;
   }
}  
void time0 (void)interrupt 1 using 1
{
sound=~sound;
  TH0=C/256;
   TL0=C%256;
  }

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:32572 发表于 2013-10-30 10:23 | 只看该作者
定义个音乐编号Flag,按键中断修改编号,case语句里调用对应音乐播放
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表