基于STM32的微型电子琴设计

第一章 总体设计

1.1 系统功能

按照设计要求,本系统具有以下功能:
共有三个基本模式:电子琴模式、录音模式、播放器模式
电子琴模式:7个基本按键控制产生7种音调,功能键实现调节音阶和音量
录音模式:可分为录音和放音两个模块,录音状态下会记录弹奏的音调以及时间;放音模式调用音乐播放器某些模块,实现相同的功能。
音乐播放器模式:可以实现音乐的播放、暂停、切歌、调速、顺序播放、单曲循环、随机播放、以及进度条显示。
有两个全局按键中断,可控制模式切换和全局静音/暂停。

1.2 主要技术性能指标

基本按键:7个;
功能按键:6个;
全局中断按键:2个;
扬声器:1个;
扬声器功率:1w;
LCD1602:1块;
主要模式:3个;
曲库:8首;
音域范围:262Hz~2217Hz;
音量阶数:3阶;
速度阶数:4阶;
循环模式:3种;

第二章硬件设计

总体系统设计上在硬件上共分为3个区域:基本按键区、功能按键区、LCD显示区。在软件的设计上共分为3个主要模式:电子琴模式、录音模式、播放器模式。主控模块选择使用STM32f103rbt6芯片,进行编程、控制、实现电子琴以及播放器功能。

2.1 整体硬件图

2.2 按键模块

​ 按键模块分为两部分:基本按键和功能按键

俩个部分按键分别接在单片机的PC0-PC6以及PC8-PC13接口上。

2.3 扬声器模块

扬声器模块接在单片机的PC07接口上。

2.4 显示模块

​ 将LCD1602的D0~D7分别连接到单片机的 PA0~7,使能端 E、 RW、 RS分别连接到单片机的 PA8、 PA11、 PA12。

2.5 主控模块

第三章 软件设计

3.1 主要工作原理

​ 设计的主要工作原理是利用STM32所内置的定时器TIM3产生一个PWM信号驱动扬声器产生特定频率的声音。通过改变定时器TIM3的分频预置数改变PWM信号的频率从而产生不同音调的声音。通过改变占空比,从而产生不同音量的声音。
​ 相关流程图如下:

3.2 PWM发生器

3.3 music播放器模块

​ music模块包含了产生声音,静音,音乐播放,音乐切换,进度条展示等相关函数,全都由本人编写
静音模块:通过调用TIM_SetTIM3Compare2()函数让占空比为0,进而达到静音效果。
void buzzerQuiet(void)//停止发声
{
TIM_SetTIM3Compare2(0);
}

发声函数:通过调用TIM_SetTIM3Autoreload设置TIM3的自动装载值实现产生特定频率PWM信号,传入的参数为声音频率和音量参数。

进度条显示函数:可以显示播放进度以及全局状态,如当前曲目、暂停状态、音量、播放速度等。

下一首函数:根据传入nextmode参数不同进行顺序,单曲,随机下一首。

音乐播放函数:传入乐谱(由结构体数组实现),调用弹奏音符函数,实现音乐自动播放。

3.4 exti外部中断

​ 本设计使用了PC8,PC9口的按键作为两个外部中断,控制全局切换模式,以及全局暂停/静音。

3.5 按键相关驱动

通过函数判断按键值,mode参数可调节是否支持连按。
3.6 LCD1602驱动
LCD初始化相关代码采用例程,只列出关键代码:
void LCD_SHOW(u8* tab0,u8* tab1)
{
if(tab0)
LCD1602_Show_Str(0, 0, tab0);
if(tab1)
LCD1602_Show_Str(0, 1, tab1);
}
定义函数LCD_SHOW,传入字符串显示,在避免直接调用LCD的显示函数,通过tab0和tab1的锁存,实现更丰富需求。

第四章 整体实现功能

单片机下载完成后,显示Mode Selection Please Press 1-3表示初始化完成等待选择模式。
按下key1,进入Piano模式,可以开始弹奏。
按下key13可进行音量调节,key12可以调节音调
按下key8切换模式,进入录音模式
录音模式下,按key0进行开始录音
录音会记录音调以及持续时间,按下key13停止录音
录音完成后按下key13放音,可以听到记录的曲子
按下key13切换模式进入播放器模式
按下key0-key7选择曲目,也可以直接按key13开始播放
播放时,按下key13下一首,key12调音量,key11调速度,key10调节下一首。 按下key9可暂停。
播放时有进度条显示。

参考文献

[1]冯建华,赵亮.单片机应用系统设计与产品开发[M].北京:人民邮电出版社 2004
[2]谭浩强.C语言程序设计[M].北京:清华大学出版社 1999
[3]吴国经等 单片机应用技术 中国电力出版社, 2004.1
[4]李全利,迟荣强编著 单片机原理及接口技术 高等教育出版社,2004.1
[5]张毅刚等, MCS-51单片机应用设计,哈工大出版社,2004年第2版
[6]霍孟友等,单片机原理与应用,机械工业出版社,2004.1
[7]霍孟友等,单片机原理与应用学习概要及题解,机械工业出版社,2005.3
[8]许泳龙等,单片机原理及应用,机械工业出版社,2005.1

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
基于STM32电子琴设计作品有着广阔的展望,以下是一些可能的展望方向: 1. AI智能化:结合STM32的计算能力和人工智能算法,可以开发出具备智能学习和演奏辅助功能的电子琴。例如,可以通过分析用户演奏的数据,提供个性化的学习建议和指导,帮助用户提升演奏技巧。 2. 手势识别和运动控制:利用STM32的传感器和算法,可以实现手势识别功能,让用户可以通过手势来控制电子琴的演奏效果或切换音色。同时,还可以实现运动控制,让用户可以通过身体的动作来控制电子琴,增加互动性和娱乐性。 3. 虚拟现实和增强现实:结合STM32和虚拟现实/增强现实技术,可以创造出身临其境的演奏体验。用户可以通过头戴式显示器或AR眼镜,看到虚拟的琴键和音符,进行交互式的演奏。 4. 云端连接和音乐社交:通过将电子琴与云端连接,可以实现音乐社交功能。用户可以通过云端平台分享自己的演奏作品、参与音乐社区的交流,与其他音乐爱好者互动和合作演奏。 5. 教育和学习应用:利用STM32的功能,可以开发出针对音乐教育和学习的应用。例如,可以设计出适合儿童学习的电子琴,提供互动的教学内容和游戏化的学习体验,帮助儿童培养音乐兴趣和技巧。 这些展望只是一些可能的方向,随着技术的不断进步和创新的推动,未来的电子琴设计作品还有很多潜在的发展空间和机会。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洲洲不是州州

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值