news 2026/2/16 22:43:05

基于单片机的电子琴设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于单片机的电子琴设计

摘 要

读书、看电影、听音乐,都是最常见的丰富内心世界的良剂。听音乐,作为陶冶情操、提升境界最便捷的方式,正受到越来越多人们的欢迎。音乐可以很轻松的融入各种场合,给人们带来很轻松的氛围,只有真正的接触它,才可以真正的感受到它的魅力。
本次设计正是基于这样的一种考虑,将实现一种简易电子琴的制作,考虑到市面上的电子琴因型号各异,款式各异,所以在价格方面也会有很大的差别,而这次设计将结合电子琴的功能性以及实用性将成本降至最小化来进行制作。本次设计主要用到的芯片是STC89C51,系统里包含了几大核心模块主要有按键模块 、扬声器模块、数码管模块等。
此次设计主要能实现的功能是:键盘上有12个按键,上面8个分别代表不同的音符键,当触发到某一个按键时扬声器会发出对应的音符,这样只要有完整的乐谱,就可以弹奏出非常美妙的音乐。此外剩下的4个按键是功能键。此次系统的设计不仅涉及到硬件方面还涉及到软件方面,所以得从两方面展开巩固系统。

关键词:STC89C51单片机 电子琴 键盘

2 硬件设计及说明

2.1系统组成及总体框图
按照设计上的大体需求,首先得对机型进行合理的筛选,然后有一个清晰的电路规划对各个模块需要使用的元件有清晰的了解,便可以在此基础上对电路图进行设计来制作我们想要的功能模块。
本次选题是基于单片机的电子琴的设计,单片机是在12MHZ时钟频率下运行的,会用到单片机的定时/计数器T0,工作模式为1,若想得到不一样频率的脉冲信号可以改变TH0和TL0的计数值。本设计主要实现的功能是 键盘上分布着12个按键,上面8个分别代表不同的音符,当触发到某一个按键时扬声器会发出对应的音符,这样只要有完整的乐谱,就可以弹奏出非常美妙的音乐。此外剩下的4个按键,其中一个可以随机播放已经内置好的三首音乐,剩下3个分别能实现暂停音乐的播放、选择上一首歌曲播放、选择下一首歌曲播放的功能。但是若想弹奏出真正的音乐并不是只依靠单片机发出的音频脉冲来传递到驱动扬声器就可以实现的,我们必须要通过功率放大电路来提供给它一定的驱动能力才可以实现最终的音乐播放。

图2-1 系统模块结构图
2.2元件简介
2.2.1 STC89C51
STC89C52不但在功率损耗方面较低而且在性能方面有很高的优势,Flash闪存可以进行编程,不用将元件从电路板上拿下来就可以编程,如果原有程序不再需要也可以进行擦出,重新写入代码。
很多实用性不错的且比较有效的解决方案都用到STC89C52,是因为单芯片上拥有在系统可编程Flash以及灵活度非常高的8 位CPU。具有以下标准功能: 8k字节闪存,512字节随机存取存储器,有三个16位的定时器/计数器, 32 位输入/输出端口,看门狗定时器,内部有4KB 电可擦可编程只读存储器以及MAX810复位电路,可以同时发送和接收数据。此外可以将STC89X52 调到0Hz 静态逻辑操作,拥有2种可选择的节电模式。在闲置模式下CPU不会继续工作,但是RAM和串口以及中断定时器/计数器可以一直运作。如果是突然没电了,会对RAM的内容进行保存不用担心丢失数据,会停止振荡器的工作,微控制器的所有工作暂停,在遇到中断或者硬件复位信号时,则开始继续工作。

图2-2 STC89C51引脚图 DIP封装
2.2.3数码管
本电路系统显示部分使用的是LED数码管,根据接收到的信号编码控制七个笔画,当电流流过时会发出可见光以此来显示不同的数字。LED具有单向导通性,经常和电阻串联以此来限流起到保护电路的作用,是一种电流控制器件。
LED有共阳和共阴之分: 共阳(如图b所示)是指所有的发光二极管阳极都连在一起并连接到公共端的阳极,在接受到低电平信号后灯亮 。共阴(如图c所示)是指内部所有的发光二极管阴极都连在一起并连接到公共端的阴极,在接收到高电平信号后灯亮。八个发光二极管可组成1位显示器,有一个是控制小数点的亮和暗的,剩下的七个发光二极管a~g用来控制七个笔画的亮和暗。在设计电路图前期 一定要搞清楚LED数码管的对应引脚所在位置,这样在进行编码时才可以准确定位到想要的数字。这种LED数码管虽然在使用时能显示的字符有限 ,但是使用起来还是相当简便的。

(a)引脚分布 (b)共阳极 ©共阴极
图2-7 数码管引脚联接图
数码管使用注意:
(1)加限流电阻,防止数码管被烧坏
(2)如果现实的笔段有残缺,可能是数码管已经损坏
(3)对于引脚排列不明的数码管可以使用万用表进行检测
2.3 各功能模块原理图
2.3.1 单片机模块电路原理图
当用户按下按键后会发出相应的信号传送到单片机,单片机接收到信号之后通过定时器发出高电平、低电平信号,以此来产生各种声音信号。并将此编码传送到数码管,数码管会根据收到的编码信号来显示不同的数字。

图2-8 单片机模块电路原理图

3 软件设计

本次设计的软件设计部分主要是为了产生8个不同的音符,当按下键盘上不同的按键时通过扬声器会产生对应的音符。所以只要用户有一个完整的乐谱,就可以弹奏出完整的音乐。还会在编程里写入三首歌曲,按下对应按键后,便可以自动播放音乐。
3.1 音乐方面知识
音名:音的名称。用C、D、E、F、G、A、B表示。键盘上的8个按键一次代表它们。唱名:唱谱时使用的名称。用do、re、mi、fa、sol、la、si来唱。当按下对应按键后发出的声音分别是do、re、mi、fa、sol、la、si。这些都是基础的音乐知识,在生活中也可以很广泛的接触,所以大家应该并不陌生。
每一首音乐都有属于自己的乐谱,正是这些乐谱的不同才让每一首音乐都特殊起来,乐谱是有音符组成,不同音符都有属于自己不同的频率这样如果想弹出一首音乐,只要对不同的频率进行组合就可以了。
3.2 用单片机产生音频脉冲
单片机相当于把一个计算机系统集成在一个微小的芯片上,所以单片机的功能非常强大,本次设计主要是用单片机来产生不同频率的脉冲信号。通过单片机的I/O口来控制高电平和低电平的持续时间以此来产生不同频率的方波,再通过扬声器后就可以发出不同的音调。所以一定要清楚不同频率和不同音符之间的关系,才能准确的设定不同按键按下后发出的声音。
3.3系统总体功能流程图
系统能够实现的主要功能如下:首先打开电源键,初始化定时器,上八个按键控制8个音符,当按下后会发出对应的声音。剩下的四个按键分别是控制内置音乐的播放、暂停功能、控制上一首歌曲的播放、控制下一首歌曲的播放。系统主程序流程图如下:

图3-1系统主程序流程图

4 系统调试

电路调试是整个系统功能否实现的关键步骤,可以将整个调试过程分成两大部分:硬件调试和软件调试。
4.1硬件调试
硬件调试是针对电路方面进行检测。
首先在硬件制作完成后我们不用急于上电,最开始的电路检测恰巧是在不上电的情况下进行的,我们需要用到万用表,将万用表表盘调制蜂鸣器上对电路进行检测,可以根据电路图测试每一条线路是否正确,该连接的地方是否连接,有没有出现虚焊和开路的现象,不该连接的地方有没有出现短路问题。这些都是要在上电之前调试的内容。
如果说通过以上未上电的检测没有发现问题,那么进一步就是进行上电检测,接通电源后观察实验的最终现象,对之前计划的所有功能都进行测试,查看能否达到预期设想的结果,(按下前8个按键是否可以发出8个不同的音符,数码管是否显示相应的数字,按下播放音乐按键后是否有音乐自动播放,包括选择上一首和下一首这样的功能是否可以实现)。如果部分功能无法实现,首先可以看看是不是电路焊接错误,如果焊接无误,可能就是电路原理图出现错误,若真是这一错误更改起来会很麻烦,所以在最开始尽量确保自己的思路没有问题,设计的原理图不存在什么大问题,后期才能避免这样的麻烦。但是出现问题还是得积极面对,可以将电路进行模块划分,检测每个模块电路设计和原理是否出错,这样化繁为简更加有利于设计的调试。
4.2 软件调试
软件调试主要是针对程序编码进行测试。
如果已经确定硬件部分不存在问题,若还是达不到我们预想的功能,那么问题可能出在软件方面。根据学过的C语言知识我们可以通过设定断点的方法分模块有针对性的进行调试,或者可以通过改变数值的方法对编程进行检测,只有在调试的最开始阶段对每个子程序模块都进行调试确保所有子程序模块都能够正常运行,这样整个程序才能够进行平稳的运行。

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/16 14:34:10

快速上手Qwen2.5-7B-Instruct:基于vLLM和chainlit的完整流程

快速上手Qwen2.5-7B-Instruct:基于vLLM和Chainlit的完整流程 一、前言:为什么选择 Qwen2.5-7B-Instruct vLLM Chainlit? 随着大模型在企业级应用中的普及,如何高效部署并快速构建交互式前端界面成为开发者关注的核心问题。通义…

作者头像 李华
网站建设 2026/2/16 13:19:19

Qwen2.5-7B模型深度应用|离线生成与对话实现

Qwen2.5-7B模型深度应用|离线生成与对话实现 一、前言:为何选择Qwen2.5-7B进行离线推理? 在大语言模型(LLM)落地实践中,离线推理正成为企业级应用的关键路径。相较于实时在线服务,离线推理具备…

作者头像 李华
网站建设 2026/2/16 13:30:03

ResNet18持续学习方案:新类别增量训练+云端弹性资源

ResNet18持续学习方案:新类别增量训练云端弹性资源 1. 引言:当智能监控遇上持续学习 想象一下你家门口的监控摄像头,最初只能识别家人和快递员。随着时间推移,你需要它认识新搬来的邻居、新养的宠物,甚至区分外卖员和…

作者头像 李华
网站建设 2026/2/16 6:49:41

物体识别竞赛秘籍:ResNet18调参技巧+云端GPU无限算力

物体识别竞赛秘籍:ResNet18调参技巧云端GPU无限算力 引言:为什么你的Kaggle比赛进度比别人慢? 参加Kaggle物体识别竞赛时,很多新手都会遇到这样的困境:用笔记本训练一个ResNet18模型要3小时,而排行榜上的…

作者头像 李华
网站建设 2026/2/15 20:32:15

Rembg模型轻量化:移动端部署可行性分析

Rembg模型轻量化:移动端部署可行性分析 1. 智能万能抠图 - Rembg 在图像处理与内容创作日益普及的今天,自动去背景技术已成为AI视觉应用中的关键能力。无论是电商商品图精修、社交媒体内容制作,还是AR/VR场景合成,精准高效的背景…

作者头像 李华
网站建设 2026/2/16 22:09:35

零基础学Rembg:图像分割入门完整指南

零基础学Rembg:图像分割入门完整指南 1. 引言:智能万能抠图 - Rembg 在数字内容创作日益普及的今天,图像去背景(抠图)已成为设计师、电商运营、AI开发者等群体的高频需求。传统手动抠图耗时耗力,而基于深…

作者头像 李华