单片机应用课程设计--简易电子琴设计
1  绪论
本论文设计一个基于单片机的简易电子琴。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴系统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
1.1  设计目的
1.1.1  现在电子科技与科技结合
单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。 本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。本系统是简易电子琴的设计,按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放器对应的音符。通过设计本系统可了解单片机的基本功能。对单片机的了解有一个小的飞跃。
1.1.2  单片机系统
MCS-51系列单片机在一块芯片上集中成了CPU,RAM.ROM.定时计数器和多种功能的I/O口等一台计算机所需要的基本功能部件,CPU处理能力和指令系统完全兼容。
MCS-51系列单片机产品有8051,8031,8751,80C51,80C31等型号,他们的结构基本相同,其主要差别在存储器的配置上有些差别。
Intel公司推出的MCS-51系列单片机:集成 8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。
1.2  设计任务和要求
(1)设置矩阵键盘中的 8 个键分别代表 12345671音(DoRe
MiFaSolLaSi、高音 Do)的琴键。
(2)琴的声音通过蜂鸣器放出。
(3)具有自动演奏和手动弹奏功能,能弹奏一首简单的歌曲
2. 简易电子琴系统总体方案
2.1  系统方案
系统框图如图下图dj 音乐所示。
2.1  设计方案论证
2.1.1  控制模块选择方案
方案一:用可控硅制作电子琴。将220V交流电经变压器降压,再经过整流、滤波,获得+13.5V直流电压。将单向可控硅SCR和电阻、电容组成驰张振荡器电路。但该设计方案制作成本高且复杂。
方案二: 采用AT89C51单片机进行控制,由于AT89C51不具备ISP功能, 因此Atmel公司已经停产在市面上已经不常见,况且其ROM只有4K在系统将来升级方面没有潜力。
方案三:采用AT89S52单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到8K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。
鉴于上述对比与分析,本设计采用方案三。
2.1.2 按键选择方案
电子琴可以用键盘上的“1”到“8”键演奏从低SO到高DO等8音。13键为自动演奏键。
2.2  简易电子琴系统电路设计
2.2.1单片机系统
STC89C52管脚描述
符号
管脚
类型
描述
P0.0~P0.7
39~32
I/O
P0口:P0口是一个8 位开漏双向I/O 口。写入“1”时P0口悬浮,可用作高阻态输入。当访问外部程序和数据存储器时,P0口复用为低位地址和数据总线。应用中P0口利用强内部上拉来发送‘1’电平。P0口可在外部主机模式编程过程中接收代码字节和在外部主机模式校验过程中发送代码字节。P0口用作程序校验或通用I/O口时均需连接一个外部上拉电阻。
P1.0~P1.7
1~8
I/O 带内部上拉
P1口:P1口是一个带内部上拉的8 位双向口。“1”时P1口被内部上拉拉高,可用作输入。用输入时,由于内部上拉的存在,P1口被外部器拉低时将吸收电流(IIL)。此外,P1.5,P1.6,P1.7有16mA 的高电流驱动能力。在外部主机模式程和校验中,P1口也可接收低位地址字节。
P1.0
1
I/O
T2:定时器/计数器2的外部计数输入或时钟输出。
P1.1
2
I
T2EX:定时器/计数器2捕获/重装触发和方向控制。
P1.2
3
I
ECI:外部时钟输入。PCA的外部时钟输入。
P1.3
4
I/O
CEX0:PCA模块0的捕获/比较外部I/O口。每个捕获/比较模块连接一个P1口用作外部I/O口。该口线不被PCA占用时仍可用作标准I/O口。
P1.4
5
I/O
:SPI从机选择输入。
CEX1:PCA模块1的捕获/比较外部I/O口。
P1.5
6
I/O
MOSI:SPI主机输出从机输入端。
CEX2:PCA模块2的捕获/比较外部I/O口。
2.3 简易电子琴系统软件设计