**单片机设计介绍,基于51单片机虚拟按键电子琴设计
文章目录
- 一 概要
- 二、功能设计
- 设计思路
- 三、 软件设计
- 原理图
- 五、 程序
- 六、 文章目录
一 概要
基于51单片机的虚拟按键电子琴设计概要如下:
一、设计背景与目标
随着科技的进步和人们生活水平的提高,电子琴作为一种乐器逐渐受到人们的喜爱。传统的电子琴通常采用物理按键,而基于51单片机的虚拟按键电子琴则通过软件编程实现按键功能,无需物理按键,从而降低了制造成本,提高了灵活性。本设计旨在利用51单片机实现一个简易的虚拟按键电子琴,能够发出基本音符的声音,并具备简单的音乐播放功能。
二、系统组成
51单片机控制模块:作为系统的核心控制单元,负责接收虚拟按键的输入信号,控制音调的播放以及可能的LED显示。
虚拟按键模块:通过软件编程实现虚拟按键功能,可以模拟多个音符按键。这些虚拟按键可以通过触摸屏、传感器或其他输入设备触发。
音频播放模块:通过PWM(脉宽调制)技术控制蜂鸣器或其他音频输出设备的频率,实现不同音调的播放。51单片机根据虚拟按键对应的音符值,计算出相应的PWM频率,并驱动音频输出设备发出对应的声音。
LED显示模块(可选):用于显示当前音符或音乐播放状态。可以根据需要选择是否添加此模块。
三、工作原理
当用户通过虚拟按键模块触发某个音符时,系统会接收该输入信号并将其传递给51单片机控制模块。
51单片机控制模块根据接收到的输入信号,判断触发的是哪个音符,并计算出相应的PWM频率。
51单片机控制模块将计算出的PWM频率输出给音频播放模块,驱动音频输出设备发出对应的声音。
如果系统中包含LED显示模块,51单片机控制模块还会根据输入信号控制LED显示模块显示当前音符或音乐播放状态。
四、系统特点
虚拟按键设计:通过软件编程实现虚拟按键功能,无需物理按键,降低了制造成本并提高了灵活性。
简易实现:系统采用51单片机作为控制核心,通过简单的编程即可实现基本音符的播放和音乐播放功能。
可扩展性:系统可以根据需要添加更多的虚拟按键和音频输出设备,以实现更复杂的音乐播放功能。
直观显示(可选):通过LED显示模块可以直观地显示当前音符或音乐播放状态,提高用户体验。
五、应用前景
基于51单片机的虚拟按键电子琴设计可以应用于音乐教育、音乐娱乐等领域。它不仅可以作为初学者学习音乐的辅助工具,还可以作为音乐爱好者创作和演奏音乐的平台。随着物联网和智能家居技术的发展,基于51单片机的虚拟按键电子琴还可以与其他智能设备进行联动,实现更丰富的应用场景。
二、功能设计
采用Rohm公司生产的调频发射专用集成电路BH1415F设计一个数控调频发射器,可在80.0-109.9MHz范围内任意设置发射频率,可预置11个频道,发射频率调整最小值为0.1MHz,具有单声道/立体声控制,可广泛应用于学校无线广播、电视现场导播、无线演说等场所。采用单片机STM32F103C8T6控制,矩阵按键可设置通道频率,具有以下功能。
(1)采用BH1415F
(2)在80.0-109.9MHz范围内任意设置发射频率
(3)可预置11个频道
(4)按键发射频率调节最小为 0.1MHZ
(5)具有单声道/立体声控制
(6)4*4键盘:11个频率预制键,2个键控制频率的增减,1个作为立体声控制键。
(7)声音信号源:用音频线连接手机等设备输入
(8)LCD1602显示
资料说明:
附件内容提供AD格式原理图PCB工程文件,用altiumDesigner打开。
程序采用C语言编写,通过keil软件编译,文件为工程源代码。
温馨提示:
这个设计是有实物验证的,电路图源文件和源程序都是验证成功可用的,可以说是学习单片机设计制作的好素材!希望这个分享对大家有所帮助!
设计思路
设计思路
文献研究法:搜集整理相关单片机系统相关研究资料,认真阅读文献,为研究做准备;
调查研究法:通过调查、分析、具体试用等方法,发现单片机系统的现状、存在问题和解决办法;
比较分析法:比较不同系统的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;
软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。
三、 软件设计
本系统原理图设计采用Altium Designer19,具体如图。在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次设计需求。
————————————————
仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。
Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。
————————————————
原理图
五、 程序
本设计利用KEIL5软件实现程序设计,具体如图。作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。
————————————————
六、 文章目录
目 录
摘 要 I
Abstract II
引 言 1
1 控制系统设计 2
1.1 主控系统方案设计 2
1.2 传感器方案设计 3
1.3 系统工作原理 5
2 硬件设计 6
2.1 主电路 6
2.1.1 单片机的选择 6
2.2 驱动电路 8
2.2.1 比较器的介绍 8
2.3放大电路 8
2.4最小系统 11
3 软件设计 13
3.1编程语言的选择 13
4 系统调试 16
4.1 系统硬件调试 16
4.2 系统软件调试 16
结 论 17
参考文献 18
附录1 总体原理图设计 20
附录2 源程序清单 21
致 谢 25