基于51单片机八音盒电子琴音乐播放器设计(毕设课设)

八音盒DIY制作具体功能:

  • 功能1.八个按键对应“都瑞咪发嗖拉稀逗”,同时数码管可以显示对应音阶
  • 功能2.可以实现音乐播放“荷塘月色”、“挥着翅膀的女孩”、“国际歌”,可以切歌,也可以自行在代码中加入喜欢的歌曲
  • 功能3.功能1和功能2之间可以切换
  • 【资源下载】下载地址如下(914):https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

#include <STC89.H>
#include"stdio.H"
#include"intrins.H"


typedef	unsigned char uchar;                                                            /* 类型定义 */
typedef unsigned int  uint; 

sbit    BeepIO = P3^4;                                                                  /* 定义喇叭输出管脚 */
sbit    Mode   = P3^3;                                                                  /* 定义模式选择管脚 */

uchar 	Sound_Temp_TH0,Sound_Temp_TL0;													/* 定时器初值 */
uchar   SpeedTime;																		          /* 一拍时间 */	
uchar   Music_num = 0;

uchar code table[10]={0xe7,0x21,0xcb,0x6b,0x2d,0x6e,0xee,0x23,0xef,0x6f,};              //数码管编码

/******************************** 音阶频率表 ************************************/
/* 四个八度的28个频率数据 */

uchar code FREQH[ ] = {                                                                 /* 音阶频率表 高八位 */
						            0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,                        		  /* 低音 1,2,3,4,5,6,7 */
                        0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,                             /* 中音 1,2,3,4,5,6,7 */
                        0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF                              /* 高音 1,2,3,4,5,6,7 */
                      } ;
                         
uchar code FREQL[ ] = {                                                                 /* 音阶频率表 低八位 */
						            0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,                        		  /* 低音 1,2,3,4,5,6,7 */
                        0x8F,0xEE,0x44,0x6B,0xB4,0xF4,0x2D,                             /* 中音 1,2,3,4,5,6,7 */
                        0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16                              /* 高音 1,2,3,4,5,6,7 */
                      };

  • 3
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言电子琴课程设计主要包括硬件设计和软件设计两个方面。 硬件设计方面,需要设计一个电子琴的键盘部分,包括按键和按键触发器。按键部分采用开关式按键,通过按下不同的按键可以触发不同的音调。按键触发器则是将按键的信号转化为电路可以处理的信号。同时,还需要设计音箱和音量控制电路,使得学生能够听到自己演奏的音乐,并通过调节音量来控制音乐的声音大小。 软件设计方面,需要编写C语言程序来实现电子琴的基本功能。首先要编写按键扫描程序,检测用户按下了哪个按键,并触发相应的音调。可以通过使用定时器来定时扫描按键状态,以实现连续按下按键产生连续的音符效果。然后,需要设计音调发声程序,将音符转化为对应的频率,并通过音箱输出声音。可以使用PWM(脉宽调制)技术来产生不同频率的声音。此外,还可以添加一些附加功能,如调节音量、改变音色、演奏节奏等。 在课程设计中,可以先讲解电子琴的工作原理和基本功能,然后通过一步步的实践让学生自己动手设计和搭建电子琴,编写相应的程序。可以设计一些实践项目,如弹奏简单的乐曲、录制和播放曲子、设计不同音色等,以增加学生的实践经验和兴趣。 总之,C语言电子琴课程设计可以通过硬件和软件的配合,让学生了解和掌握电子琴的原理和实现方法。既培养了学生的实践能力,又增强了他们对C语言的理解和应用能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值