用80C51单片机设计一个音乐播放器

能不能按以下的“目录”帮我设计一个顺序倒无所谓,只要有以下大概内容就行。会的帮帮忙啦!谢谢啦!目录:一、设计任务二、方案论证三、硬件单元电路设计A总体方案设计B各单元模块... 能不能按以下的“目录”帮我设计一个
顺序倒无所谓,只要有以下大概内容就行。
会的帮帮忙啦! 谢谢啦!

目录:

一、设计任务
二、方案论证
三、硬件单元电路设计
A 总体方案设计
B 各单元模块功能介绍及电路设计
[1] 直流电源电路
[2] 复位电路
[3] 时种电路
[4] 声音驱动电路
C 各单元模块的连接
[1] 复位电路与MCS- 51的连接
[2] 时钟电路与MCS- 51的连接
[3] 声音驱动电路与MCS-51单片机相连
四、软件设计
[1] 乐曲音符频率的产生
[2] 定时器/计数器的TMOD
[3] 软件程序
五、主要器件介绍
六、系统调试
七、硬件设计原理图
八、设计总结
编程程序不是C语言
展开
 我来答
一概而论08
2009-10-23 · TA获得超过137个赞
知道小有建树答主
回答量:136
采纳率:100%
帮助的人:106万
展开全部
给你个程序,能播放《世上只有妈妈好》。要是要原理图和说明文档可以跟我说一声。
/***************************************************************
* 世上只有妈妈好》+流水灯随音乐的节拍的快慢而动
* P3.7输出使实现蜂鸣器演奏歌曲功能
****************************************************************/

#include <reg51.h>
sbit BELL=P3^7; //小喇叭
sbit key1=P3^5;
unsigned char timer0h,timer0l,time,led=1,j=0;
unsigned char flagd=0;

//世上只有妈妈好数据表
code unsigned char sszymmh[]={ 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2,
6,2,1, 5,2,1,6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1,
6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2,5,2,1, 6,2,1,
3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1,2,2,1, 1,2,1, 6,1,1, 1,2,1,
5,1,6, 0,0,0
};

// 音阶频率表 高八位
code unsigned char FREQH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,
0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i
0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,
} ;

// 音阶频率表 低八位
code unsigned char FREQL[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i
0xEE,0x44, 0x6B,0xB4,0xF4,0x2D, 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,
};

void delay(unsigned char t)
{
unsigned char sum1;
unsigned long sum2;
for(sum1=0;sum1<t;sum1++)
{
for(sum2=0;sum2<5000;sum2++)//节奏快慢
{;}
}
TR0=0;
}

void t0int() interrupt 1
{
TR0=0;
BELL=!BELL;
TH0=timer0h;
TL0=timer0l;
TR0=1;
}

void song()
{
TH0=timer0h;
TL0=timer0l;
TR0=1;
delay(time);
}

void main(void)
{
unsigned char k,i;
TMOD=1; //置CT0定时工作方式1
EA=1;ET0=1;//IE=0x82 //CPU开中断,CT0开中断

while(1)
{
i=0;
time=1;
while(time)
{
if(j==8)
{
//led=1;
j=0;flagd=~flagd;
if(flagd)
{
led=0x80;
}
else
{
led=1;
}
}
else
{
P2=~led;
if(flagd)
{
led=led>>1;
}
else
{
led=led<<1;
}
j++;
}

k=sszymmh[i]+7*sszymmh[i+1]-1;
timer0h=FREQH[k];
timer0l=FREQL[k];
time=sszymmh[i+2];
i=i+3;
song();
}
}
}
小箬是棉花籽
2009-10-20 · TA获得超过3004个赞
知道大有可为答主
回答量:2651
采纳率:0%
帮助的人:0
展开全部
标准51只能完成简单乐曲播放,你可以在网上找到含电路图和程序的实例。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一万光年MEGn0
2009-10-24 · TA获得超过3712个赞
知道大有可为答主
回答量:4602
采纳率:67%
帮助的人:1040万
展开全部
可以把C翻译成汇编语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szhccut00
2009-10-31 · TA获得超过273个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:213万
展开全部
..要加班没时间了 呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式