码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【毕业设计】28-基于单片机的音乐播放器简易音乐播放器设计(原理图+源代码+仿真工程+答辩PPT+答辩论文)



    typora-root-url: ./

    【毕业设计】28-基于单片机的音乐播放器简易音乐播放器设计(原理图+源代码+仿真工程+答辩PPT+答辩论文)

    文章目录

      • typora-root-url: ./
    • 【毕业设计】28-基于单片机的音乐播放器简易音乐播放器设计(原理图+源代码+仿真工程+答辩PPT+答辩论文)
      • 设计说明书
        • 摘要
        • 设计框架架构
        • 设计说明书及设计文件
        • 源码展示

    设计说明书

    摘要

    本文介绍了一种以STC89C52单片机为控制核心的播放器。系统采用液晶模块LCD12864作为显示界面,蜂鸣器作为发声元件,并利用定时器进行中断控制,通过按键来控制音乐播放器的乐曲切换、暂停功能。在系统的设计过程中需要确定实现的功能分析,确定硬件设计方案;对系统对硬件电路设计;对系统的软件程序设计;最后对系统使用仿真软件Protues仿真测试系统,完成了音乐播放、乐曲切换、乐曲暂停的功能。本次设计在软件、硬件的设计上均采用模块化的功能设计,为了保证系统设计的可移植性、拓展性、迭代性。在硬件电路的设计上查看元器件手册对外围电路进行设计,软件程序设计上参考Keil软件给出的例程,保证系统在运行上有较好的实时性。系统设计上考虑到系统硬件电路的抗干扰能力、耐久性以及系统性价比,所以本设计具有较高的推广意义。

    原理图工程文件
    原理图截图
    仿真模型工程文件
    仿真截图
    答辩论文低重复率文档,24084字
    英文文献及翻译
    答辩PPT
    visio流程图工程

    设计框架架构

    前 言… 1

    第一章 绪论… 2

    第一节 研究背景… 2

    第二节 研究意义… 2

    第三节 研究现状… 3

    第四节 本文的主要研究内容… 3

    第五节 本章小结… 4

    第二章 简易播放器系统方案设计… 5

    第一节 播放器功能分析… 5

    第二节 系统主要元器件选型… 5

    一、主控制器选型… 5

    二、显示器选型… 6

    第三节 播放器工作原理… 6

    第四节 系统设计总框图… 7

    第五节 本章小结… 8

    第三章 简易播放器系统硬件电路设计… 9

    第一节 主控制器最小系统电路设计… 9

    一、主控制器介绍… 9

    二、主控制器最小系统设计… 10

    第二节 电源电路设计… 11

    第三节 按键电路设计… 12

    第四节 LCD液晶显示电路设计… 12

    第五节 音乐播放电路设计… 14

    第六节 系统总电路图… 15

    第七节 本章小结… 15

    第四章 简易播放器系统软件设计… 17

    第一节 Keil软件介绍… 17

    第二节 主程序设计… 17

    第三节 按键程序设计… 19

    第四节 液晶显示程序设计… 20

    第五节 音乐播放程序设计… 21

    第六节 本章小结… 23

    第五章 简易音乐播放器的仿真实现… 24

    第一节 开发工具Proteus介绍… 24

    第二节 系统调试与功能测试… 24

    一、系统调试… 24

    二、功能测试… 26

    第三节 本章小结… 30

    总 结… 31

    致 谢… 32

    参考文献… 33

    附 录… 35

    一、英文原文… 35

    二、英文翻译… 40

    三、系统原理图… 45

    四、程序源码… 46

    设计说明书及设计文件

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    源码展示

    #include 
    #include "ziku.h" 
    #include 
    #define uchar unsigned char
    #define uint unsigned int
    #define Play_speed  20000//32000 //25000	// 播放速度,数值越大播放越慢
    #define Pitch       6//调整音调
    #define LCDLCDDisp_Off   0x3e
    #define LCDLCDDisp_On    0x3f
    #define Page_Add     	0xb8//页地址
    #define LCDCol_Add     	0x40//列地址
    #define Start_Line     	0xC0//行地址
    /*****液晶显示器的端口定义*****/
    #define data_ora P0 /*液晶数据总线*/
    sbit LCD_CS1=P3^3 ;    /*片选1*/
    sbit LCD_CS2=P3^7 ;    /*片选2*/
    sbit LCDDi=P3^5 ;     /*数据/指令 选择*/
    sbit LCDRW=P3^6 ;     /*读/写 选择*/
    sbit LCDEnable=P3^4 ;     /*读/写 使能*/
    //定义按键K1,K2的硬件接口
    sbit K1=P1^6;
    sbit K2=P1^7;
    sbit BEEP=P3^2;	//蜂鸣器端口   
    uchar th0_f; //在中断中装载的 T0 的值高 8 位 
    uchar tl0_f; //在中断中装载的 T0 的值低 8 位 
    uchar  key_num=0;		//按键数值
    uchar  song_num=0; 		//歌曲数
    uchar  play_song_step=0;//播放音乐的步骤
    uchar  stop=0;	 		//停止标志
    uchar  key_flag=0; 		//按键标志
    //老鼠爱大米 
    uchar code dami[]={ 
      "321-|3.2_1-|3231|3_6.5-|"};
    uchar code dami2[]=
    {"3_5_665|65-3_2_|122_3_2|12--|" 
    }; 
    //世上只有妈妈好 
    //世上只有妈妈好 
    uchar code mamahao[]={ 
      "6.5_35|`16_5_6-|35_6_53_2_|1_,6_5_3_2-|" 
    }; 
    uchar code mamahao2[]={
      "2.3_55_6_|321-|5.3_2_1_,6_1_|,5--"};
    //**《贝加尔湖畔》简谱**
    uchar code Baikal000[]={
      ",6_,7_15|4-|,5_,6_,74|3-"
    };
    uchar code Baikal001[]={
      "3_3_65|42-"
    };
    uchar code Baikal002[]={
      ",7_|,71_2_24|3--"
    };
    uchar code Baikal003[]={
      ",7_|,7,7_3_33|,6,6_,6_,66|6--"
    };
    uchar code Baikal004[]={
      "6_`1_75_3.|3--"
    };
    uchar code Baikal005[]={
      "1_|,7,7_3_33|,6,6_,6_,66|6---|7_`1_`2-|`273-|3_3_6.5_42--|"
    };
    uchar code Baikal006[]={
      "567.7_|`3--`2_`1_|7---|,6_,7_15|4--"
    };
    uchar code Baikal007[]={
      ",5_,6_,74|4_3_3--|3_3_65|42-1_|,73_3_31|,6---|"
    };
    //T0 的值,及输出频率对照表 
    uchar code freq[36*2]={ 
      0xA9,0xEF,//00220HZ ,1  //0 
      0x93,0xF0,//00233HZ ,1# 
      0x73,0xF1,//00247HZ ,2 
      0x49,0xF2,//00262HZ ,2# 
      0x07,0xF3,//00277HZ ,3 
      0xC8,0xF3,//00294HZ ,4 
      0x73,0xF4,//00311HZ ,4# 
      0x1E,0xF5,//00330HZ ,5  
      0xB6,0xF5,//00349HZ ,5# 
      0x4C,0xF6,//00370HZ ,6 
      0xD7,0xF6,//00392HZ ,6# 
      0x5A,0xF7,//00415HZ ,7     
      0xD8,0xF7,//00440HZ 1     //12 
      0x4D,0xF8,//00466HZ 1#    //13 
      0xBD,0xF8,//00494HZ 2     //14 
      0x24,0xF9,//00523HZ 2#    //15 
      0x87,0xF9,//00554HZ 3     //16 
      0xE4,0xF9,//00587HZ 4     //17 
      0x3D,0xFA,//00622HZ 4#    //18
      0x90,0xFA,//00659HZ 5     //19 
      0xDE,0xFA,//00698HZ 5#    //20 
      0x29,0xFB,//00740HZ 6     //21 
      0x6F,0xFB,//00784HZ 6#    //22 
      0xB1,0xFB,//00831HZ 7     //23 
      0xEF,0xFB,//00880HZ `1 
      0x2A,0xFC,//00932HZ `1# 
      0x62,0xFC,//00988HZ `2 
      0x95,0xFC,//01046HZ `2# 
      0xC7,0xFC,//01109HZ `3 
      0xF6,0xFC,//01175HZ `4 
      0x22,0xFD,//01244HZ  `4# 
      0x4B,0xFD,//01318HZ `5 
      0x73,0xFD,//01397HZ `5# 
      0x98,0xFD,//01480HZ `6 
      0xBB,0xFD,//01568HZ `6# 
      0xDC,0xFD,//01661HZ `7     //35 
    }; 
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
  • 相关阅读:
    go的singleFlight学习
    时间轴_合成生物学
    鸿蒙实战开发:【FaultLoggerd组件】讲解
    binlog格式设置
    linux下的文件的压缩和解压缩
    快速了解Spring Cache
    用HTML+CSS做一个漂亮简单的个人网页——樱木花道篮球3个页面 学生个人网页设计作品 学生个人网页模板 简单个人主页
    【VictoriaMetrics】单机版配置
    用prim和kruskal算法求最小生成树问题
    【数据结构】面试OJ题——带环链表(数学推论)
  • 原文地址:https://blog.csdn.net/qq_22592979/article/details/128090940
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号