基于STM32单片机的简易电子琴设计(1)

发布时间:2023-09-04  

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可暂停。

播放时有进度条显示。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    基于STM32单片机的简易电子琴设计(2);摘要: 本次设计是课程设计,利用单片机设计简易电子琴。 其主要功能为:按下不同按键,发出不同1 、2 、3、4 、5 、6 、7 七个音符并且用LED 或......
    基于51单片机的简易电子琴设计;一.系统概述 系统使用的模块有AT89C51单片机+8位共阳数码管+矩阵键盘+小灯+按键+蜂鸣器。 本次设计的电子琴系统以AT89C51单片机为控制核心,使用......
    。如果你没有PCB 板设计经验,可以尝试制作如图3 所示的简易版本,使用现成的ESP32_Dev_Kit 开发板配合鼠标按键,在一款较大的洞洞板上简单焊接就完成了。 注意,使用......
    基于STM32单片机的简易电子琴设计(1);1.1 系统功能 按照设计要求,本系统具有以下功能: 共有三个基本模式:电子琴模式、录音模式、播放器模式 电子琴模式:7个基本按键控制产生7种音调,功能......
    ),并且支持最多4组乐器音色,每组有128种乐器加一组打击乐的音色;在电子琴的产品应用中,最多可以实现128个琴键。此外,内含UART/SPI/I²C等标准通信接口,增加......
    果它在低端听起来平坦,则增加R97。 印刷电路板设计 零件清单 简单的3晶体管电子琴电路 如果你觉得上面的电子琴电路太令人生畏或困难,那么你也许可以选择这个简单的设计。 它是一个简单的2晶体......
    PCB板的设计与制作-279页(2024-12-16 16:31:07)
    PCB板的设计与制作-279页......
    《印制电路板的设计与制作》-158页.pptx......
    、仿真与PCB设计-539页 3、 电子产品印制电路板设计与制作 -387页......
    补偿的晶体谐振器“XRCGA_F_A”系列的商品化,并已开始批量生产。 在汽车发动机室周围的恶劣环境中,要求部件能在125℃以上的高温下稳定工作,为了应对高温,部件需具备优异的耐焊接裂纹的性能。为此,村田追求更加优化的设计与制......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>