当前位置: 首页 > news >正文

51单片机音乐盒

目录

具体实现功能

设计介绍

51单片机简介

资料内容

原理图和PCB(AD19)

仿真实现(protues8.7)

程序(Keil5)

全部资料

资料获取


具体实现功能

具体功能:
单片机内置8首歌曲,按键可以上一曲,下一曲,开始或暂停。

仿真/实物演示视频:

51单片机音乐盒

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

原理图(AD19)

本系统原理图设计采用Altium Designer19,具体如图。

注1:请使用Altium Designer19直接打开资料中的工程文件(资料中已说明打开方式)!

注2:此设计需按照原理图制作实物,不可直接烧录到任何开发板中运行(需要修改程序)!

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

注1:请使用protues8.7直接打开资料中的工程文件(资料中已说明打开方式)!

注2:由于仿真软件限制,仿真设计和实物设计无法百分百对应!!

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

主函数如下:

//////////////// 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 } } } }

程序运行结果如图:

注:请使用KEIL C51直接打开资料中的工程文件(资料中已说明打开方式)!

全部资料

全部资料包括原理图(AD19)、程序(Keil5)、protues仿真(protues8.7)、设计报告(仅供参考)、仿真视频、开发资料、仿真视频、单片机最小系统介绍等,全网最全!资料内容如下图所示!!

资料获取

https://docs.qq.com/doc/DT1dDaG1VamdkV2N4

http://www.jsqmd.com/news/1068022/

相关文章:

  • 基于Fxlms算法用于宽带和窄带主动噪声控制(ANC)研究(Matlab代码实现)
  • 稀疏与突发数据下的漏洞活动预测:SARIMAX与计数模型对比实战
  • 线性合约与标准合约选择及支付机制优化实战指南
  • 接口幂等性设计与实现
  • 视觉语言模型在扫描路径语义相似性分析中的应用
  • 基于神经元激活图的目标导向预训练数据选择:原理、实现与实战
  • MATRIX框架:基于双通道约束奇偶校验的多层代码水印技术实践
  • IA-CLAHE:让传统图像增强算法自适应学习最优参数
  • 奇智创达知识产权管理系统:把「请款→缴费→到款核销→预收款→退款」做成真正的业财一体化闭环
  • PLAF:实现开放词汇3D场景理解的像素级语言对齐特征提取
  • 联邦学习在3D物体检测中的应用:Fed3D框架解析与实践
  • 成都工装市场,现在到底是啥格局?说点实在的
  • Kubernetes原生AI Agent实时架构设计与落地
  • 动态列生成在双目标切割问题中的优化应用
  • 基于卷积低秩与改进分位数回归的高维时间序列区间预测方法
  • Go语言的race检测器与数据竞争在并发程序中的重现方法
  • ST-STORM框架:自监督学习中的内容与风格特征解耦实践
  • 高维VAR模型中的潜在社区路径分析与应用
  • MUSCAT基准:如何评估与优化多语言科学对话语音识别系统
  • AEGIS技术解析:基于梯度正交投影的大模型微调防遗忘实战
  • 2026 年命理研究工具的功能和配套内容,会不会买了之后就不再更新了?第三方学习路径观察
  • 专业的金属矿山数智化标杆服务商
  • CBC-SLP:结构化潜在投影实现遥感多模态语义分割的缺失模态鲁棒性
  • CoEvolve框架:基于强化学习与反馈的LLM智能体自进化系统
  • NaijaS2ST:构建低资源尼日利亚语言多口音语音翻译基准
  • 数字劳动力定价机制解析:从算法压价到垂直集体行动的价值重塑
  • ST-STORM:自监督视觉表示学习中的内容与外观解耦技术
  • LP2DH:基于局部保持像素差分哈希的动态纹理识别实战解析
  • 极限学习机整数化优化与FPGA高效部署实践
  • 大模型推理优化:Tilted Sampling与Beam Search解码策略对比分析