历史上的今天
返回首页

历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2021年10月12日 | 基于51单片机的音乐盒设计

2021-10-12 来源:eefocus

一.硬件方案

本设计以51单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用C语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动蜂鸣器发出不同音调的音乐,再利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。


主要由51单片机+最小系统+LM386功放电路+喇叭+LED指示灯模块+按键模块;如图:

二.设计功能

(1)采用外部加功放电路,LM386芯片驱动喇叭,构成音乐演奏器的硬件电路;

(2)内置8首歌曲;

(3)四个按键功能:单独的是复位按键,上一曲、开始/暂停、下一曲;


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

(3)PCB图如下:

四.软件设计

(1)程序流程图

(2)主程序源码


void main(void)

{

TMOD=0x11; //T0 T1 均在工作方式1

ET0=1;  //T0开中断

EA=1;   //CPU开中断  

while(1)

{

music_play(); //根据当前状态播放相应歌曲的某个音符


if(!pause) //暂停键处理

{

delayms(5);

if(!pause)

{

if(music_num==0)    //music_num=0只有在刚开机,且未按下暂停键时存在,表示刚开机时的状态,按下后从第一首开始播放

{

music_num=1;    //歌曲序号置1

num=0;         //从头播放

play_enable=1; //允许播放

}

else

{

play_enable=~play_enable;

    speaker=1;

}

while(!pause) //若按着暂停键不放手时的处理

{

if(play_enable==0){}         //如果是暂停,则显示时间不变//(暂停时play_enable==0)

}


  }//暂停键处理结束

}//while结束


if((!play_up)&&(music_num!=0)) //上一首按键

{

delayms(5);

if((!play_up)&&(music_num!=0))

{   speaker=1;

music_num-=1;//歌曲编号减一

if(music_num<=0)

music_num=8;

num=0; //从头开始播放


if(music_num==(sound_amount+1))

music_num=1; 

delayms(500);//歌曲切换时延时0.5S

}

}


if((!play_down)&&(music_num!=0))

{

delayms(5);

if((!play_down)&&(music_num!=0))

{   speaker=1;

music_num+=1;//歌曲编号加一

if(music_num>=9)

music_num=1;

num=0; //从头开始播放


if(music_num==0)

music_num=sound_amount;

delayms(500);//歌曲切换时延时0.5S

}

}


}

推荐阅读

史海拾趣

Hitachi Chemical Co America Ltd公司的发展小趣事

对于光控电子鸟电路,网友们可能会提出一系列问题,这些问题可能涉及到电路的工作原理、设计细节、故障排查以及改进方法等方面。以下是一些可能的问题及回答:

一、工作原理相关问题

  1. 问题:光控电子鸟是如何实现光控功能的?
    回答:光控电子鸟通过光敏元件(如光敏二极管或光敏电阻器)来实现光控功能。当光线照射到光敏元件上时,其电阻值会发生变化,进而影响电路中的电流和电压,从而控制振荡器的振荡频率,使扬声器发出不同频率的声音来模拟鸟鸣声。

  2. 问题:自激振荡器在光控电子鸟中起什么作用?
    回答:自激振荡器在光控电子鸟中起到产生声音信号的作用。它由晶体管、电容器和电阻器等元件组成,通过R、C的充放电过程模拟鸟儿的鸣叫声。当光敏元件感受到光线变化时,会改变振荡器的振荡频率,从而改变鸟鸣声的特性。

二、设计细节相关问题

  1. 问题:如何选择合适的光敏元件?
    回答:选择合适的光敏元件需要考虑其灵敏度、光谱响应范围以及工作环境等因素。对于光控电子鸟来说,一般选择灵敏度高、光谱响应范围与自然光相近的光敏二极管或光敏电阻器。

  2. 问题:电路中的电容器和电阻器应该如何选择?
    回答:电容器和电阻器的选择需要根据电路的具体要求和性能参数来确定。例如,电容器的选择需要考虑其容量、耐压值以及工作频率等因素;电阻器的选择则需要考虑其阻值、功率以及稳定性等因素。在光控电子鸟电路中,一般选用金属膜电阻器和独石电容器等高质量元件。

三、故障排查相关问题

  1. 问题:如果光控电子鸟不发声怎么办?
    回答:如果光控电子鸟不发声,首先需要检查电源是否正常供电;其次检查光敏元件是否损坏或连接不良;最后检查振荡器电路是否工作正常。可以使用万用表等工具进行逐步排查和测试。

  2. 问题:声音失真或杂音大怎么办?
    回答:声音失真或杂音大可能是由于电路中的元件老化、接触不良或设计不合理等原因造成的。可以尝试更换损坏的元件、重新连接电路或调整电路设计等方法来解决问题。

四、改进方法相关问题

  1. 问题:如何改进光控电子鸟的声音效果?
    回答:改进光控电子鸟的声音效果可以从多个方面入手。例如,可以优化振荡器电路的设计,调整电容器和电阻器的参数以改变声音的特性;可以增加声音处理电路,如滤波器、放大器等,来增强声音的清晰度和响度;还可以采用数字控制技术来实现更复杂的声音效果。

  2. 问题:如何增加光控电子鸟的智能化程度?
    回答:增加光控电子鸟的智能化程度可以通过引入微控制器等智能芯片来实现。微控制器可以根据光敏元件的信号和预设的程序来控制振荡器的振荡频率和声音特性,实现更复杂的声音效果和功能。同时,还可以加入传感器、无线通信模块等元件来扩展光控电子鸟的功能和应用范围。

以上是一些可能的问题及回答,希望能对网友们有所帮助。

B&K Precision公司的发展小趣事

随着电子行业的不断发展,B&K Precision始终保持着创新的步伐。公司不断推出具有创新性和竞争力的新产品,如数字电流表、三路输出直流清洁电源等,满足了市场对于高精度、高可靠性测试仪器的需求。这些产品的推出不仅提升了公司的市场份额,也进一步巩固了公司在电子行业中的地位。

Component General Inc公司的发展小趣事

Component General Inc公司深知品质是企业的生命线。因此,公司建立了严格的质量管理体系,从原材料的采购到产品的生产、检测、包装等每一个环节都进行严格把控。这种对品质的执着追求,使得公司的产品赢得了客户的广泛信任和好评。

Amptek Inc公司的发展小趣事

在技术创新的基础上,Component General Inc公司开始积极拓展市场。公司不仅在国内市场取得了良好的销售业绩,还积极开拓国际市场,与多家海外企业建立了合作关系。同时,公司也注重品牌建设,通过参加各种行业展会、举办技术研讨会等方式,提升公司的知名度和影响力。

GSG公司的发展小趣事
使用万用表等工具检查电路中的电阻、电容、电感等元件是否损坏,以及电路连接是否良好。
General Instrument Optoelectronics公司的发展小趣事
用于焊接和更换电路中的元件。

问答坊 | AI 解惑

UPS电源在操作员站的使用

火电厂的供电系统并不是连续而且恒定的,大型设备的启停、开关操作,电气工作段上负载长时间较大,故障情况下电气工作段的切换都会影响电力的正常供应,对计算机和微处理器产生干扰或破坏。   我公司的自动化程度较高,其设计安装采用的人机接口 ...…

查看全部问答>

频率变化时电源板上的变压器会发出响声是什么原因?

大侠,为什么很多IP整合电源在开关频率发生变化时变压器会发出较大的声音???…

查看全部问答>

请教一个CE6.0下的hook问题

我使用g_hHook = QASetWindowsJournalHook(WH_JOURNALRECORD, MouseProc, &msg);返回成功了 LRESULT  MouseProc(int nCode, WPARAM wParam, LPARAM lParam) {         NKLOG(L\"that\'s it!!\");     ...…

查看全部问答>

BIOS与引导区探究群,群号67286087,欢迎加入啊!

联络一切对BIOS与引导区技术感兴趣的人士,注重理论与实践的结合,交流技术资料与实践心得,对重要贡献者给予现金等奖励!当 前以80X86为主要探究方向!…

查看全部问答>

请教wince中加载自己的开机界面问题

  我想在我的开机界面上加载一幅自己的图片,打开开发板电源系统启动显示我的开机界面是是我自己设计的图片,谢谢!…

查看全部问答>

关于开放式数控系统

要做一个开放式数控铣床这么一个系统,PC上位机 单片机是下位机,要实现数控系统的基本的插补功能...那现在是这么个思路,在PC上建立人机交互界面,如果输入数控代码,自动实现译码,刀补,差补..进而与单片机通信 去控制步进电机的运动.那译码,刀补,差补 ...…

查看全部问答>

STM8L操作DS18B20失败,求范例

                                 郁闷啊,今天弄了一天DS18B20,先是18B20的初始化都不通过,发送了低电平之后释放,等待DS18B20的低电平应答都检测 ...…

查看全部问答>

免费的NI- Multisim11无认证码

本帖最后由 dontium 于 2015-1-23 13:28 编辑 昨晚再此分贴下看到一个广告,说是NI- Multisim11免费,点击后就看到了下载路径,试探着花了2个小时下载了300多M的安装文件,安装了10多分钟,运行时还是提示要么注册,要么输入20位的认证码!而解压 ...…

查看全部问答>

【我给XILINX资源中心做贡献】FPGA设计指南:器件、工具和流程

FPGA设计指南:器件、工具和流程  很好的书籍 内容简介 本书用简洁的语言向读者展示了什么是FPGA、FPGA如何工作、如何对FPGA编程以及FPGA设计中遇到的各种概念、器件和工具,如传统的基于 HDL/RTL的仿真和逻辑综合 ...…

查看全部问答>

单片机C语言程序设计实训100例(基于8051+Proteus仿真)

听说有人要“单片机C语言程序设计实训100例(基于8051+Proteus仿真)”分享给需要的人了,希望对你们有点帮助。…

查看全部问答>