当前位置:文档之家› 基于51单片机的电子琴设计

基于51单片机的电子琴设计

基于51单片机的电子琴设计
基于51单片机的电子琴设计

目录

一、设计电子琴的作用与目的 (1)

二、电子琴设计要求 (1)

三、电子琴设计所用设备及软件 (2)

四、电子琴系统设计方案 (2)

五、电子琴系统硬件设计 (3)

5.1 琴键控制电路 (3)

5.1.1 矩阵式键盘 (3)

5.1.2 独立式键盘 (4)

5.1.3 方案比较 (4)

5.2 数码管显示电路 (5)

5.2.1 LED数码管显示原理 (5)

5.2.2 LED数码管静态显示 (6)

5.2.3 LED数码管动态显示 (6)

5.2.4 方案比较 (7)

5.3 音频功放电路 (7)

5.4 时钟-复位电路 (8)

5.4.1 时钟电路 (8)

5.4.2 复位电路 (8)

5.5 电源电路 (9)

5.6 整体电路 (10)

六、电子琴系统软件设计 (10)

6.1 系统硬件接口定义 (10)

6.2 主函数 (10)

6.3 初始化函数 (11)

6.4 数码管显示函数 (11)

6.5 中断函数 (12)

6.6 键值扫描函数 (12)

6.7 音频处理函数 (13)

七、电子琴设计调试 (14)

7.1 调试工具 (14)

7.2 调试结果 (15)

7.3 电子琴设计中的问题及解决方法 (15)

八、电子琴设计总结 (16)

参考文献 (17)

附录1:电子琴系统原理图 (18)

附录2:源程序 (19)

基于51单片机的电子琴设计

在电子音乐领域,电子音调作为现代电子科技与音乐结合的产物,它在现代音乐中扮演着重要的角色。目前,由于电子音乐的普及,电子音调合成器(合成器实际上就是一台声音的频率合成仪,可以制作各种声音,改变各种音色)可以解决相当一部分的歌唱及舞厅的伴奏问题。其中,电子琴就是一种新型的键盘电子乐器。

一、设计电子琴的作用与目的

音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。

如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。

现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。

目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。二、电子琴设计要求

本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有8个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

总之,本设计的电子琴有以下要求:

(1)用键盘作出电子琴的按键,共7个,每键代表1个音符。各音符按照符合电子琴的按键顺序排列;

(2)达到电子琴的基本功能,可以用弹奏出简单的乐曲;

(3)不弹奏时,利用功能键可以播放内置音乐。

三、电子琴设计所用设备及软件

本设计除了需要计算机,还会用到三款软件:作图软件Protel99SE、仿真软件Proteus、编程软件Keil uVision4。关于这三种软件的简介如表1所示。

表1 软件简介

四、电子琴系统设计方案

本系统采用AT89C51为主控芯片,因其精度较高,操作比较灵活,输入电路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。其中,输入电路有8个独立按键,通过按键随意按下所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在扬声器中发出有效的声音。由于需要显示的信息不多,显示电路未采用液晶屏显示,而是使用数码管显示电路负责显示按下的琴键所对应的键值,这样既节省了成本

了,又降低了编程难度。

如图1所示基于单片机AT89C51的电子琴电路,它主要由琴键控制电路、数码管显示电路、音频功放电路、时钟-复

时钟

复位电路

琴键

控制电路

音频

功放电路

数码管

显示电路

51

图1 基于51单片机的电子琴电路的原理框图

位电路和电源电路五部分所构成。

五、电子琴系统硬件设计

基于单片机AT89C51的电子琴电路由琴键控制电路、数码管显示电路、音频功放电路、时钟-复位电路和电源电路五部分所构成。琴键控制电路采用了8输入与门芯片CD4068B,收集8个独立按键的开关状态信号,并触发单片机的外部中断来处理;而数码管显示电路负责显示按下的琴键所对应的键值;同时,音频功放电路也会播放琴键对应的音调;电源电路为整个电路提供能源。

5.1 琴键控制电路

琴键控制电路作为人机联系的输入部分,也是间接控制数码显示和音频功放的重要组成部分。键盘按照连接方式可以分为独立式和矩阵式键盘两类。

5.1.1 矩阵式键盘

矩阵式(也称行列式)键盘由行线和列线组成,按键位于行、列的交叉点上。由于矩阵式键盘中行、列线为多键共用,各按键彼此将相互发生影响,所以必须将行、列线信号配合,才能确定闭合键位置。相对于独立式键盘而言,软件上编程会稍微复杂些。如图2所示为4X4矩阵式键盘电路,由一个4X4的行、列结构可以构成一个16个按键键盘,再结合芯片74LS20来触发中断。在按键数目较多的场合,要节省较多的I/O口线。

矩阵中无按键按下时,行线为高电平;当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平也为高,这是识别按键是否按下的关键所在。

5.1.2 独立式键盘

独立式键盘的特点是一键一线,各键相互独立,每个键各接一条I/O 口线,通过检测I/O 输入线的电平状态,可判断出被按下的按键。

显而易见,这样电路简单,各条检测线独立,识别按下按键的软件编写简单。适用于键盘按键数目较少的场合,不适用于键盘按键数目较多的场合,因为将占用较多的I/O 口线。

独立式键盘电路如图3所示,8个独立按键分别对应一个I/O 口线,当某一按键按下时,对应的检测线就变成了低电平,与其它按键相连的检测线仍为高电平,只需读入I/O 输入线的状态,判别哪一条I/O 输入线为低电平,很容易识别哪个键被按下。同时采用了8输入与门芯片CD4068B ,收集8个独立按键的开关状态信号,并触发单片机的外部中断来处理,大大提高了单片机CPU 的利用率。

5.1.3 方案比较

对于以上两种电路的的优缺点比较如表2所示。由于此次设计的琴键控制电路需要8个按键,故单纯从I/O 口线的占用的角度比较,独立式需要占用8条I/O 口线,而矩阵式却只需6条。但是从程序编写的难易程度来看,若使用矩阵键盘电路来设计会比独立式键盘电路难一些,故选择独立式键盘电路比较合理。

表2 独立式和矩阵式的的优缺点比较

图3 独立式键盘电路

5.2 数码管显示电路

5.2.1 LED 数码管显示原理

LED (Light Emitting Diode )发光二极管缩写。LED 数码管是由发光二极管构成的。

常见的LED 数码管为“8”字型的,共计8段。它由七个条形发光二极管和一个小圆点发光二极管组成,每一段对应一个发光二极管。一般来说分共阳极和共阴极两种接法,如图4所示为八段LED 数码管结构及外形。共阳极LED 数码管的发光二极管的阳极连接在一起,公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。反之,共阴极发光二极管的阴极连在一起,通常公共阴极接地。当阳极为高电平时,发光二极管点亮。

LED 数码管的a 至g 七个发光二极管因接得电压不同而导致不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,如表3所示为八段LED 数码管的字形码表。

表3 八段LED 数码管的字形码表

图4 八段LED 数码管结构及外形

5.2.2 LED 数码管静态显示

静态显示方式即无论多少位LED 数码管,同时处于显示状态。各位的共阴极(或共阳极)连接在一起并接地(或接+5V );每位的段码线(a ~dp )分别与一个8位的I/O 口锁存器输出相连。如果送往各个LED 数码管所显示字符的段码一经确定,则相应I/O 口锁存器锁存的段码输出将维持不变,直到送入另一个字符的段码为止。

由此可知:静态显示方式的显示无闪烁,亮度都较高,软件控制比较容易。另外,在显示位数较多的情况下,所需的电流比较大,对电源的要求也就随之增高,这时一般都采用动态显示方式。如图5所示为四位七段数码管静态显示电路。

5.2.3 LED 数码管动态显示

静态显示方式就是无论在任何时刻只有一个LED 数码管处于显示状态,即单片机采用“扫描”

方式控制各个数码管轮流显示。

在多位LED 显示时,为简化硬件电路,通常将所有显示位的段码线的相应段并联在一起,由一个8位I/O 口控制,而各位的共阳极或共阴极分别由相应的I/O 线控制,形成各位的分时选通。如图6所示为四位七段数码管动态显示电路。

图5 四位七段数码管静态显示电路

动态显示的优点是硬件电路简单,显示器越多,优势越明显。缺点是显示亮度不如静态显示的亮度高。如果“扫描”速率较低,会出现闪烁现象。

5.2.4 方案比较

对于以上两种数码管驱动电路的的优缺点比较如表4所示。由于静态驱动方式的显示无闪烁,亮度较高,编程简单,加上本次设计的数码管显示电路只需要1个数码管,故选择静态驱动方式来显示数码管更为合理。如图7所示为数码管显示电路,采用静态驱动方式和共阳极接法,满足本次设计要求。

5.3 音频功放电路

如图8所示音频功放电路,它主要由音频集成功放芯片LM386和扬声器组成。其中,LM386作为一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外

表4 两种数码管驱动电路的的优缺点比较

图7 数码管显示电路

图8 音频功放电路

接元件少和谐波失真小等优点,广泛应用于录音机和收音机之中。电位器Rp 是用来调节声音的大小。

5.4 时钟-复位电路

5.4.1 时钟电路

时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。

AT89C51内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图9是AT89S51内部时钟方式的电路,C1和C2的典型值通常选择为30pF ,石英晶体常选6MHz 或12MHz 的。本设计采用内部时钟方式做时钟电路。

5.4.2 复位电路

单片机的初始化操作,给复位脚RST 加上大于2个机器周期(即24个时钟振荡周期)的高电平就使AT89C51复位。这些操作都是由复位电路来实现。

在单片机的实用系统中,一般有两种复位操作形式:上电复位和手动复位。 上电复位在单片机系统每次通电时执行。上电时,电容C 充电加给RST 引脚一个短的高电平信号,此信号随着VCC 对电容C 的充电过程而逐渐回落,即RST 引脚上的高电平持续时间取决于电容C 充电时间。为保证系统可靠复位,RST 引脚上的高电平必须维持足够长的时间。

手动复位在系统出现操作错误或程序运行出错时使用。在单片机系统运行过程中,按下复位键,高电平输入RST 引脚,单片机被强制执行复位操作,系统可以退出错误运行状态,恢复正常工作。

由于本设计的需要,同时采用这两种复位方式,

图10 复位电路

图9 时钟电路

如图10所示复位电路。

5.5 电源电路

当今社会大到超级计算机、小到袖珍计算器,所有的电子设备都必须在电源电路的支持下才能正常工作。直流稳压电源在电源技术中占有十分重要的地位。直流电源电路由降压变压器、全波整流、滤波、稳压电路构成,其组成结构如图11所示。

根据设计需要做+5V 和+12V 直流稳压电源电路,其电路图如图12和13所示。交流电压i u 通过变压器T1降压得到1i u ,然后由V7~V10四个整流二极管组成的电桥进行整流得到直流电压,再经由电解电容和非极性电容构成的滤波网络和三端稳压器LM7812和LM7805的稳压作用后,分别输出+12V 和+5V 的直流电压。

理论计算如下:

对A 点有:11.5A i V u =………(5-1)

1U 的压降为1 (1~2)u V =………(5-2)

11 A o V u u =+………(5-3)

由式(5-1)、(5-2)、(5-3)可得:

111

1.5 i i

i o u u u u u =

+………(5-4) 若要求将220V 交流电压转换成直流电压1 12o u V =,由式(5-4)可知: 变压器T1的变比为

1111.5 1.5220(23~26):1 (1~2)12

i i i o u u u u u ?==≈++。 图11 直流电源电路组成结构图

~220V 50Hz

图12 12V 转5V 电源电路图

5.6 整体电路

基于单片机AT89C51的电子琴电路由琴键控制电路、数码管显示电路、音频功放电路、时钟-复位电路和电源电路五部分所构成。琴键控制电路采用了8输入与门芯片CD4068B ,收集8个独立按键的开关状态信号,并触发单片机的外部中断来处理;而数码管显示电路负责显示按下的琴键所对应的键值;同时,音频功放电路也会播放琴键对应的音调;电源电路为整个电路提供能源。整体电路图见附录1。

六、电子琴系统软件设计

系统功能的实现一般包括硬件部分和软件部分,一旦硬件确定下来,软件要实现的功能也随之确定。而为使编程思路清晰,应先绘制程序流程图。

6.1 系统硬件接口定义

系统硬件接口定义如表5所示。

表5 系统硬件接口定义

6.2 主函数

主函数流程图如图14所示。利用模块化的思想,主函数只执行初始化函数、音频处理函数和数码管显示函数。另外,键码的识别与刷新是通过中断函数来完成。

i

u i1

u o1

u B

A

图13 220V 转12V 电源电路图

void main( ) {

Init( );

while(1)

{

Sound_Player();//音频处理函数

LED_Display();//数码管显示键值

}

}

6.3 初始化函数

初始化的流程框图如图15所示。该函数对所需的I/O口、外部中断0、定时器0以及数码管进行初始化配置。

void Init(void)

{

P0 = 0xff;//先将P0口置为1,即关闭数码管

Speaker = 0;

IT0 = 1;//外部中断0边沿触发

EX0 = 1;//外部中断0允许

TMOD = 0x01;//定时器方式1

ET0 = 1;//定时器0中断允许

TR0 = 0;//关定时器0

EA = 1;//开总中断

}

6.4 数码管显示函数

数码显示的流程框图如图16所

示。此函数根据键值扫描函数读取的

键码,结合数码管显示出来。若判断

是音调键将会显示数字1~7其中之一;

若判断是功能键将会显示字母A、b、

C其中之一。

void LED_Display(void)

{

if(Keycode>0 && Keycode<8)

P0 = ~table[Keycode];//Do~Si七个音调键分别显示1~7 else

if(Keycode == 8)

P0 = ~table[Time + 9];//特殊功能键分别显示A、b、C TR0 = 0; //关定时器0

图15 初始化流程图

图16 数码显示流程图

}

6.5 中断函数

中断函数用到了外部中断和定时器中断。键盘中断的流程框图如图17所示,当按键按下时,外部信号触发外部中断,执行键值扫描函数,读取对应的键值。定时中断的流程框图如图18所示,定时器溢出中断后,进行重装载初值,同时执行相应的音频控制操作。

6.6 键值扫描函数

由于本设计采用的是接触开关式按键,故不可避免存在机械抖动。按键被按下是,其触点电压变化过程如图19所示。这种抖动会使系统处于不稳定状态,故需要进行消抖处理。抖动时间的长短和按键的机械特性有关,一般为5~10ms 。通常手动按下键然后立即释放,这个操作中稳定闭合的时间超过20ms ,因此单片机在检测按键是否按下时都需要加上去抖动操作,有专门的去抖动电路或则芯片,但同用软件延时的方法也能轻易解决抖动问题,没必要添加多余的硬件。

本设计是用软件消抖方法编写一个消抖程序。当按键按下去后,首先对其进行连续两次取样,如果两次都为低电平,则输出低电平;如果其中有一次高电平,则输出高电平。

键盘的每一行通过一个上拉电阻接高电平,当按键按下时,对应的I/O 口线被拉低。如表6所示按键编码关系表。键值扫描函数的流程图如图20所示。

表6 按键编码关系表

图18 定时中断流程图

图17 键盘中断流程图

图19 按键被按下时电压的变化

void Key_Scan(void) { uint key; key = P1; //读取P1口状态 switch(key) //键值 { case 0xfe: //Do { Delayms(10); //消抖 if(key == 0xfe) { Keycode = 1; while(P1 != 0xFF); //等待按键释放 }break; } … } }

6.7 音频处理函数

乐曲由一些不同的音阶构成,而每个音阶对应着不同的频率,即利用单片机的定时器来产生所需要方波频率信号的组合,可构成所想要的乐曲。

本系统设计单片机配有12MHZ 晶振,利用AT89C51的内部定时器使其工作定时器模式的工作方式1下,其对应的定时器初值计算公式为:

16

6

12/(12)

102T X =-

?

式中T 为定时时间,是所需频率的倒数。如表7所示为所需频率对应的定时器初值表(简称频率-初值表)。如图21所示音频处理函数的流程图。

表7 频率-初值表

图20 键值扫描流程图

void Sound_Player(void) { if(Flag == 0) //Do~Si 七个音调键 { Flag = 1; switch(Keycode) { case 1: //Do { TH0code = 0XFB; TL0code = 0XE9; TH0 = TH0code;//置初值 TL0 = TL0code; TR0 = 1; //开定时器0 Speaker = ~Speaker; break; } … } … }}

七、电子琴系统调试

由于没有硬件设备,所以无法进行硬件调试,但这并不妨碍软件调试。利用仿真软件Proteus 和编程软件Keil uVision4进行调试程序。

7.1 调试工具

Proteus 软件是英国Labcenter Electronics 公司研发的EDA 工具软件。它是一个集模拟电路、数字电路、模/数混合电路以及多种微控制器系统为一体的系统设计和仿真平台。是目前同类软件中最先进、最完整的电子类仿真平台之一。它真正实现了在计算机上完成从原理图、电路分析与仿真、单片机代码调试与仿真、系统测试与功能验证到PCB 板生成的完整的电子产品研发过程。

最新的Keil uVision4 IDE ,旨在提高开发人员的生产力,实现更快,更有效的程序开发。Keil uVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。Keil uVision4在Keil uVision3 IDE 的基础上,增加了更多大众化的功能:多显示器和灵活的窗口管理系统;系统浏览器窗口的显示设备外设寄存器信息;调试还原

图21 音频处理流程图

视图创建并保存多个调试窗口布局;多项目工作区简化与众多的项目。

7.2 调试结果

利用Proteus 对电路进行仿真分析,电子琴电路的仿真电路图如图22所示。由于音频功放电路采用了LM386芯片,使得音频放大更加的稳定和没有杂音,进一步达到了实验效果。但也一定瑕疵,按键按下后,延迟一会才有声音。调试结果与设计的基本一致,如表8所示。

7.3 电子琴设计中的问题及解决方法

电子琴的设计并非一帆风顺,在这期间遇到了很多问题,下面谈几个关键的问题。首先是数码管显示乱码的问题,原本以为是数码管字形码表的代码有错,检查几遍发现代码

表8 调试结果

图22 电子琴电路仿真图

没错,后来结合硬件图一看,才知道硬件图中数码管是共阳极接法,软件中的数码管字形码表是共阴极的。其二是按键引入中断检测时遇到的问题,要求8个按键任意键按都触发外部中断0,结果不经思索就选用了一块8输入或门芯片,导致怎么按键盘都无法进入中断函数,于是怀疑是程序有错,浪费了很多时间,最终发现是硬件逻辑错误,应该用与门才对。其三是扬声器发出的音调不对,甚至没有声音,这个问题主要是功放模块没有与扬声器共地。

八、电子琴设计总结

在电子音乐领域,电子音调作为现代电子科技与音乐结合的产物,它在现代音乐中扮演着重要的角色。目前,由于电子音乐的普及,电子琴就是一种新型的电子乐器。

本设计基于单片机AT89C51的电子琴电路由琴键控制电路、数码管显示电路、音频功放电路、时钟-复位电路和电源电路五部分所构成。琴键控制电路采用了8输入与门芯片CD4068B,收集8个独立按键的开关状态信号,并触发单片机的外部中断来处理;而数码管显示电路负责显示按下的琴键所对应的键值;同时,音频功放电路也会播放琴键对应的音调;电源电路为整个电路提供能源。

电子琴的设计并非一帆风顺,在这期间遇到了很多问题,下面谈几个关键的问题。首先是数码管显示乱码的问题,原本以为是数码管字形码表的代码有错,检查几遍发现代码没错,后来结合硬件图一看,才知道硬件图中数码管是共阳极接法,软件中的数码管字形码表是共阴极的。其二是按键引入中断检测时遇到的问题,要求8个按键任意键按都触发外部中断0,结果不经思索就选用了一块8输入或门芯片,导致怎么按键盘都无法进入中断函数,于是怀疑是程序有错,浪费了很多时间,最终发现是硬件逻辑错误,应该用与门才对。其三是扬声器发出的音调不对,甚至没有声音,这个问题主要是功放模块没有与扬声器共地。

通过这次课程设计,感觉收获颇多。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作,基本掌握了Protel99SE原理图的方法以及怎么利用Proteus进行数字电路仿真。除此之外,对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,诸如LED数码管、键盘等等。在软件方面,通过对外部中断、定时器/计数器、I/O的使用,使得C语言编程能力也有了较大的进步。

参考文献

[1]袁东.51单片机应用开发实战手册[M].北京:电子工业出版社,2011.

[2]沈红卫.基于单片机的智能系统设计与实现[M].北京:电子工业出版社,2005.

[3]苏丽萍.电子技术基础[M].西安:西安电子科技大学出版社,2002.

[4]曾屹,彭楚武.单片机原理与应用(第2版)[M].长沙:中南大学出版社,2009.

[5]林立.单片机原理及应用——基于Proteus和Keil C[M].北京:电子工业出版社,2009.

[6]彭伟.单片机C语言程序设计实训100例[M].北京:电子工业出版社,2009.

[7]顾滨,赵伟军,诸杭.Protel99SE实用教程(第3版)[M].北京:人民邮电出版社,2013.

[8]王为青,程国刚.单片机Keil Cx51应用开发技术.[M].北京:人民邮电出版社,2007.

[9]单丹,马淑云.基于AT89C51单片机电子琴的设计[J].中国高新技术企业,2002,(10),

6-7.

[10]石鑫.基于89C51单片机简易电子琴的设计[J].农业装备技术,2010,(5),59-61.

[11]任肖丽,王骥.基于STC89C51单片机的电子琴设计[J].电子元器件应用,2010,(7),

27-31.

[12]周润景.Proteus入门实用教程[M].北京:机械工业出版社,2007.

[13] http:// https://www.doczj.com/doc/f611478902.html,.

[14] https://www.doczj.com/doc/f611478902.html,.

附录1:电子琴系统原理图

附录2:源程序

#include

#define uint unsigned int

#define uchar unsigned char

void Init(void);//初始化

void Key_Scan(void);//键值扫描

void Delayms(uint z);//延时

void LED_Display(void);//数码显示

void Sound_Player(void);//音频处理

uint Keycode;//键值

uint Time = 0;

uint Flag = 0;

uint TH0code,TL0code;

sbit Speaker = P3^0; //扬声器控制引脚

uint Num = 0;

uchar code table[]={ //数码管共阴码表

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

uchar code Music1_Tab[]={ //曲谱1码表0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e};

uint code Music2_Tab[]={ //曲谱2码表64021,64103,64260,64400,

64524,64580,64684,64777,

64820,64898,64968,65030,

65058,65110,65157,65178};

uchar code Music3_Tab[]={ //曲谱3码表0x64,0x42,0x62,0x98,0x74,0x92,0x72,0x68, 0x64,0x22,0x32,0x44,0x32,0x22,0x3c,0x64, 0x42,0x62,0x94,0x04,0x82,0x74,0x94,0x68, 0x64,0x32,0x42,0x54,0x04,0x12,0x2c,0x74, 0x94,0x98,0x84,0x72,0x82,0x98,0x72,0x82, 0x92,0x72,0x72,0x62,0x42,0x22,0x3c,0x64, 0x42,0x62,0x94,0x04,0x82,0x74,0x94,0x68, 0x64,0x32,0x42,0x54,0x04,0x12,0x2c,0x00};

基于AT89C51单片机的多音阶电子琴的设计

重庆三峡学院 单片机课程设计报告书 学院: 年级专业: 学号: 学生姓名: 指导教师: 教师职称: 成绩: 制作日期2012年11月29日

基于AT89C51单片机的多音阶电子琴的设计 重庆三峡学院 摘要 单片机是电子、计算机及机电专业的一门重要的必修课程。要求我们掌握单片机的基本组成和工作原理、会变程序的一般编写方法、常用接口电路的软硬件设计方法,具备基本的单片机系统应用与开发能力。 随着科技的快速发展,单片机的应用日益普遍。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本单片机系统设计应用单片机控制技术,用AT89C51单片机为核心控制元件根据本学期所学的单片机知识结合设计了一套单片机控制的电子琴系统。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在现代音乐扮演着重要的角色。 本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。 关键词:单片机、电子琴、AT89C51、独立键盘、

目录 第 1 章引言......................................................................................................................... 1. 1. 1 设计背景 (1) 1.2 设计任务 (1) 1.3 设计目的 (1) 1.4 设计思路 (1) 第 2 章方案论证 (1) 2.1 方案论证 (1) 第 3 章硬件系统设计 (2) 3.1时钟电路 (2) 3.2 复位电路 (3) 3.3 原理框图 (3) 3. 4 显示部分设计 (3) 3.5 按键部分设计 (4) 3.6 发音部分设计 (5) 第 4 章软件系统设计 (5) 4.1 系统分析 (5) 4.2 参数计算 (7) 4.3 程序设计 (8) 第 5 章实验结果 (10) 5.1硬件调试 (10) 5.2 软件调试 (10) 5.3 仿真结果 (10) 5.4 结果分析 (11) 第 6 章总结 (11) 附录一:系统整体电路图 (12) 附录二:元器件清单 (12) 附录三:源程序代码 (13) 参考文献 (19)

基于51单片机的电子琴设计

随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有8个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高,具有一定的实用和参考价值。 关键词:AT89C51单片机;数码管;电子琴

1 系统方案设计 (1) 1.1 设计指标 (1) 1.2 系统方案综述 (1) 1.3 系统设计思路 (1) 2 硬件设计 (2) 2.1 电路图 (2) 2.2 单片机AT89C51简介 (2) 2.3 单片机的工作过程 (4) 2.4 键盘电路 (5) 2.5 显示电路 (5) 2.6 声音电路 (7) 3 系统软件设计 (7) 3.1延时程序设计 (9) 3.2定时器初始化及其中断函数 (9) 3.3示例音乐播放程序 (10) 3.4单独按键中断处理函数 (10) 4 实验结果与分析 (10) 4.1 Proteus软件简介 (10) 4.2仿真调试 (12) 5 设计心得 (13) 6 参考文献 (14) 附录 (15) 附录A 元件清单、器件识别与检测 (15) 附录B 程序源代码 (16)

基于51单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

基于multisim的51单片机控制电子琴电路

基于multisim的51单片机控制电子琴电路 程序:#include sbit pf=P0^4; void scan_key() { if(P0==0xfe) key=1; if(P0==0xfd) key=2; if(P0==0xfb) key=3; if(P0==0xf7) key=4;

if(P0==0xef) key=5; if(P0==0xdf) key=6; if(P0==0xbf) key=7; if(P0==0x7f) key=8; } void delay(unsigned char i) {unsigned int j; for(i;i>0;i--) for(j=250;j>0;j--); } void main() { scan_key(); if(key==1) { while(1) { pf=1; delay(100); pf=0; delay(100);

} } if(key==2) { while(1) { pf=1; delay(200); pf=0; delay(200); } } if(key==3) { while(1) { pf=1; delay(300); pf=0; delay(300); } } if(key==4) { while(1) { pf=1; delay(400); pf=0; delay(400); }

} if(key==5) { while(1) { pf=1; delay(500); pf=0; delay(500); } } if(key==6) { while(1) { pf=1; delay(600); pf=0; delay(600) } } if(key==7) { while(1) { pf=1; delay(700); pf=0;delay(700) } }

(完整版)基于51单片机简易电子琴的设计

电子琴的设计 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。一. 任务要求与总体设计方案 1.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 1.2 设计方案 1.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率

基于单片机的简易电子琴正确版

//简易电子琴 #include //包含51单片机寄存器定义的头文件 sbit P14=P1^4; //将P14位定义为P1.4引脚 sbit P15=P1^5; //将P15位定义为P1.5引脚 sbit P16=P1^6; //将P16位定义为P1.6引脚 sbit P17=P1^7; //将P17位定义为P1.7引脚 unsigned char keyval; //定义变量储存按键值 sbit sound=P3^6; //将sound位定义为P3.7 unsigned int C; //全局变量,储存定时器的定时常数unsigned int f; //全局变量,储存音阶的频率 //以下是C调低音的音频宏定义 #define l_dao 262 //将“l_dao”宏定义为低音“1”的频率262Hz #define l_re 286 //将“l_re”宏定义为低音“2”的频率286Hz #define l_mi 311 //将“l_mi”宏定义为低音“3”的频率311Hz #define l_fa 349 //将“l_fa”宏定义为低音“4”的频率349Hz #define l_sao 392 //将“l_sao”宏定义为低音“5”的频率392Hz #define l_la 440 //将“l_a”宏定义为低音“6”的频率440Hz #define l_xi 494 //将“l_xi”宏定义为低音“7”的频率494Hz //以下是C调中音的音频宏定义 #define dao 523 //将“dao”宏定义为中音“1”的频率523Hz #define re 587 //将“re”宏定义为中音“2”的频率587Hz #define mi 659 //将“mi”宏定义为中音“3”的频率659Hz

51单片机电子琴

摘要 本设计对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 电子琴音色优美,音域较宽,和声丰富,表现力极其丰富。它可模仿多种音色,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。它还能够作为独奏乐器出现,具有鲜明的时代特色,深受广大音乐爱好者的喜爱,又是我国广大中小学生学习音乐的重要工具,而且电子琴容易制作,价格便宜,有很好的市场前景。随着科技的不断发展,电子产品也在不断的进步。现在的电子产品越来越接近智能化,性能也精益求精。现阶段,单片机发展日益成熟,且发展迅猛,以单片机为核心部件的电子琴将会比以555定时器为核心部件电子琴的性能更加稳定,而且依靠单片机强大的编程功能更易实现电子琴各音节所对应频率的产生。所以此次设计具有很现实的意义。 本次设计的目的主要是复习并运用我们所学的单片机知识,同时通过本次设计能够对电子电路以及作图软件等方面的知识有进一步的认识并掌握;熟悉AT89S52 单片机的内部结构和功能,合理利用其功能实现简单设计,能够完成相关软件编程设计工作;掌握一般的简单电子电路的设计方法。本次设计的主要内容是利用单片机编程设计出具有发出标准高中低的Dou,Ruai,Mi,Fa、Sou,La,Si,Dou(高音)21个音的功能并能通过9个按键控制的电子琴。它包括数码显示电路、时钟电路、复位电路、发声电路以及键盘接口电路。

目录 1 概述 ............................................................................................................... 错误!未定义书签。 电子琴功能模式介绍 ..................................................................... 错误!未定义书签。 系统设计的任务与要求.................................................................. 错误!未定义书签。 2 系统总体方案及硬件设计 ........................................................................... 错误!未定义书签。 2. 1 系统总体方案........................................................................... 错误!未定义书签。 定时/计数器的设计和状态字定义 .............................................. 错误!未定义书签。 音调数据表.................................................................................... 错误!未定义书签。 总体硬件组成框图......................................................................... 错误!未定义书签。 主要芯片简介................................................................................ 错误!未定义书签。 子系统模块一................................................................................ 错误!未定义书签。 子系统模块二................................................................................ 错误!未定义书签。 子系统模块三................................................................................ 错误!未定义书签。 AT89S52复位模块 ........................................................................ 错误!未定义书签。 AT89S52晶振模块 ........................................................................ 错误!未定义书签。 3 软件设计 ....................................................................................................... 错误!未定义书签。 系统软件设计 ................................................................................ 错误!未定义书签。 内置歌曲输出.................................................................................. 错误!未定义书签。 音阶键识别........................................................................................ 错误!未定义书签。 系统总流程图 ................................................................................ 错误!未定义书签。 4 Proteus软件仿真........................................................................................... 错误!未定义书签。 程序仿真 ....................................................................................... 错误!未定义书签。 proteus仿真 .................................................................................. 错误!未定义书签。5课程设计体会 ................................................................................................ 错误!未定义书签。参考文献............................................................................................................ 错误!未定义书签。附1 源程序代码 ............................................................................................ 错误!未定义书签。附2 系统原理图 ............................................................................................ 错误!未定义书签。

51单片机简易电子琴

基于51单片机简易电子琴设计 院系;电气信息工程学院 班级;10通信工程三班 姓名:张瑞 指导老师: 设计周数:一周

一设计题目: 设计一简易电子琴,要求能够发出1、2、3、4、5、6、7等七个音符。 使用元件:AT89C51、LM324,喇叭,按键等 二设计目的 (1)能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。 (2)熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。 (3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。 (4)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。 三设计思路 在本次课程设计中,根据复杂程序设计思想——模块化程序设计,分析和确定程序总体设计目标:电子琴基本功能及部分扩展功能后,将总体目标划分为若干模块(子程序,具体可见下)。 程序设计的思路按以下顺序进行: 1.分析与确定程序总体设计目标 2.将总体目标划分为若干模块 3.定义每个模块的具体任务,明确它与其他模块间的通信方式 4.编写源程序,进行调试 四、设计原理、思路及流程图 设计原理 (1)对于一个特定的D/A转换接口电路,CPU执行一条输出指令将数据送入D/A,即可在其输出端得到一定的电压输出。给D/A转换器输入按正弦规律变化的数据,在其输出端即可产生正弦波。对于音乐,每个音阶都有确定的频率。 各音阶标称频率值:

(2)由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 原理: 系统硬件图

单片机电子琴制作16按键

《单片机原理》课程设计 说明书 专业名称:电气工程及其自动化 班级:11-2 学号: 姓名: 指导教师: 日期:2013.6.21

《单片机原理课程设计》评阅书

摘要 本文设计了一种基于STC12C5A32S2单片机的电子琴电路。该方案利用单片机定时器产生固定频率的方波信号以驱动蜂鸣器发出一定的旋律,通过矩阵键盘中的相应的按键来输入使蜂鸣器发出相对音阶的单音。同时设计还有自动存储所输入的单音,之后再一起自动演奏出来的功能。 本设计通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经三极管放大信号后驱动蜂鸣器发出不同音节的声音。要实现7个音符的各自的高、中、低音,需要建立三个表,分别存储高音、中音和低音的频率值;默认为中音输出,当二个按键开关中某一个按下,通过软件选择相应的音频。按下弹奏键就可弹奏出不同的声音。 另外用软件延时来控制发音时间的长短,来控制节拍。通过把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中。由程序查表得到定时常数和延时常数,分别用来控制定时器产生的脉冲频率和发出该音频脉冲的持续时间,这样就可以实现乐曲的演奏。 本设计为实物电路板设计开发,报告中详细的阐述了电子琴设计的方法和过程。并经过软硬件的调试,该音乐发生器不但能通过键盘弹奏出很好的音调,而且还可以通过键盘选择播放不同的音乐。 本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:STC12C5A32S2 单片机定时器电子琴

目录 摘要 ....................................... 错误!未定义书签。第一章引言 . (2) 第二章电子琴电路硬件电路设计 .............. 错误!未定义书签。 2.1单片机的介绍与组成 (4) 2.2单片机主控电路 (4) 2.3 4×4矩阵键盘电路 (5) 2.4 蜂鸣器电路 (5) 第三章电子琴电路软件设计 .................. 错误!未定义书签。 3.1 程序设计流程图...................... 错误!未定义书签。 3.2音乐播放部分 (5) 3.3电子琴弹奏部分 (5) 3.4发音原理 (5) 第四章程序 ................................ 错误!未定义书签。心得体会 ................................... 错误!未定义书签。参考文献 (11) 附件错误!未定义书签。

基于单片机的电子琴开题报告

XXX学院毕业设计(论文)开题报告 题目名称基于51单片机的显示电子琴设计 学生姓名专业班级学号 一、选题目的和意义: 单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,他具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是箱子电子科技与音乐结合的产物。之所以受到群众们喜爱,是因为它能模拟各种乐器的音色,如笛、号、琴、颤音、和旋音等以及打击乐板音、鼓乐、沙锤等。本设计介绍一种除有普通电子琴功能外,还有不需要按琴键就能模拟电子琴自动演奏乐曲的电子琴音乐的产生和演奏电路。若与音响放大器相结合,则乐曲的音响效果会更好。 STC89C51单片机为核心控制元件,可提高开发效率,缩短研发周期,降低研发成本,且易于进行功能扩展。 电子琴系统就是以单片机为核心部件设计的一个简易的电子琴,这只是单片机应用的一个点,由点及面,希望能更好的了解和应用单片机技术。我选单片机电子琴这个选题的目的在于通过从日常生活中的细微之处着手,将所学的理论知识与实践更好的结合起来,在设计制作电子琴的过程中,更加熟练的掌握单片机的应用,在更深刻的理解理论知识的同时锻炼提高自己的动手实践能力,使理论和实际能够相得益彰。 二、研究概况及发展趋势综述 计算机技术和通信技术紧密结合,涉及到通信与计算机两个领域。计算机网络的诞生使计算机体系结构发生了巨大变化,在当今社会经济中起着非常重要的作用,它对人类社会的进步做出了巨大贡献。从某种意义上讲,计算机网络的发展水平不仅反映了一个国家的计算机科学和通信技术水平,而且已经成为衡量其国力及现代化程度的重要标志之一。 近年来,正是由于计算机技术的发展加之计算机多媒体技术及多媒体制作软件的广泛应用,使模拟电子琴技术也紧随时代的潮流加速发展,比如现在从互联网上就可以随意免费下载许多计算机软件开发出来的模拟电子琴软件,比如大名鼎鼎的悠悠电子琴,nbPiano模拟电子琴,顺风雷电子琴等,不仅以其完美的界面争得了广大电子琴爱好者地喜爱,而且其功能已经基本接近于真正的电子琴。相信计算机模拟电子琴的发展会越来越好。 最近20年内,软件模拟电子琴技术发展迅速,不论是在制作过程上、操作程序上还是在演奏技法上都有了突飞猛进的发展,这在音乐发展史上是其他任何实体乐器所不能比拟的。自从八十年代电子琴进入我国以来,电子琴以它适合中国国情、经济适用、表现力强、功能强大而受到广大的初学者、音乐爱好者、专业音乐工作者,音乐家的喜爱,可以说现在电子琴在中国的普及率是很高的。这无论是对提高人们整体的音乐素质,还是对音乐的发展都是功德无量的事。本课题就是基于电子琴的上述诸多优点而提出来的。虽然现在电子琴的价格也比较低廉,但是低端的电子琴功能还是比较单一的,它不能满足人们对多种乐器乐感的要求。而计算机模拟电子琴,功能丰

51单片机简易电子琴程序

51单片机简易电子琴程序 2009-04-16 19:59 感谢网上的诸多前辈,小弟我将这个程序写了出来。这个简易电子琴应用了4*4矩阵键盘,每一个按键赋予了不同的音调,共计有两个八度。并预存了一首乐曲《世上只有妈妈好》。(附有protues仿真图) #include #define uchar unsigned char #define uint unsigned int uint key,i,j,time,m,k; uchar temp; uchar STH0,STL0,STH1,STL1; sbit sw=P2^7; sbit speaker=P2^4; sbit P37=P3^7; sbit P36=P3^6; sbit P35=P3^5; sbit P34=P3^4; //世上只有妈妈好数据表 code unsigned char sszymmh[]={ 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1, 6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0 }; // 音阶频率表高八位 code unsigned char FREQH[]={ 0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, 0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i 0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, 0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, } ; // 音阶频率表低八位 code unsigned char FREQL[]={ 0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6, 0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i 0xEE,0x44, 0x6B,0xB4,0xF4,0x2D, 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16, };

单片机电子琴单片机课程设计

郑州科技学院 单片机课程设计 题目:基于51单片的声光电子琴设计 学生姓名:苏梦强 专业班级:电子科学与技术 学号:201131074 院系:电气工程学院 指导教师:饶美丽 完成时间:2015年1月9日 目录 一、设计任务与要求............ 错误!未定义书签。 1.1 设计任务 0 1.2 设计要求 0 1.3 设计意义 0 二、方案总体设计 (1) 2.1 方案对比 (1) 2.2总体设计 (3) 2.3 总体方案工作原理 (3)

三、软件设计 (4) 3.1 系统流程 (4) 3.2延时源代码 (5) 3.3 发音源代码 (5) 3.3单个按键源代码 (5) 3.4所有程序代码 (6) 四、系统仿真与调试........... 错误!未定义书签。 4.1 仿真软件简介 (8) 4.2软件调试 (9)

4.3 使用说明 (10) 五、设计总结 (10) 附录1:总体电路原理图 (12) 附录2:元器件清单 (14)

一、设计任务与要求 1.1 设计任务 实现电子琴发声控制系统;要求电路实现如下功能: 利用蜂鸣器作为发声部件,两个数码管作为显示部件,设置10个按键,实现高音、中音、低音的1、2、3、4、5、6、7的发音。并在存储一首歌曲的内容,可以实现自动播放。 说明:单片机的工作时钟频率为11.0592MHz。 1.2 设计要求 设计一个带有复位电路,晶振时钟,能显示音调字符的8键电子琴。 1.3 设计意义 该设计具有以下优点: 1)可以方便得知播放的音符和音调; 2)比传统电子琴功能更完善; 3)制作简单,成本低

二、方案总体设计 本次课程设计的课题是基于51单片机的电子琴的设计,所要达到的要求如下: 1)利用蜂鸣器作为发声部件。 2)一个数码管作为显示部件。 3)设置8个按键,实现高音、中音、低音的1、2、3、4、5、6、7、8的发音。 本次设计主要是要通过软硬件的配合实现电子琴的上述功能,操作人员可以通过按下键盘上任意一个键来发出相应的音符。 2.1 方案对比 AT89C51具有高速度、低电压、低功耗、且可靠性和成本都比较低的特点。因此本次课程设计采用AT89C51单片机作为整个电路核心控制器件。对于本控制系统使用一片AT89C51系列的单片机,不需要外扩展存储器,就能实现显示、预制状态、动态调节的功能,因而整体结构简单。 设计电路时运用89C51系列单片机的接口来实现各种输入、输出功能。P2.7待定部分口用作输出口,向发声电路输出信号;P1口和P0口共同实现一个键盘的功能。 方案一:采用单个的逻辑器件组合 我们知道计数器8253可以产生任意频率的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率与计数器的频率对应起来就可通过计数器产生音乐了。根据本实验要求,采用8279将键扫描得到的键值通过查表得到相应的8253的频率值,将从

#基于51单片机简易电子琴

1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块 电子琴设有8个按键,其中7个作为音符输入,另外一个作为模式转换按键,实现用户存放的自动播放歌曲。7个按键分别代表7个音符,包括中音段的全部音符,通过软硬件设计,模式转换按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴。然后通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序入口,实

单片机课设--电子琴(简单,易懂代码无误)

单片机设计报告——基于51单片机的多功能电子琴 班级:通信1111 姓名: 指导老师:刘含

摘要 随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。我们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:AT89S51单片机音色节拍器自动放音 引言 单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容

是用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器器。 本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 一.电子琴整体结构图

简易电子琴设计与实现

简易电子琴设计与实现 一、概述 1.1 课题设计目的及其意义 单片机(单片微型计算机)是大规模集成电路技术发展的产物,具有高性能、高速度、体积小、价格低廉、稳定可靠等特点。单片机的应用相当广泛,从平常的家用电器到航空航天系统和国防军事、尖端武器都能找到它的身影。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 随着社会的发展进步,人们的生活水平也逐步提高,音乐已经成为了我们生活中很重要的一部分,在工作和学习之余,欣赏音乐不仅使身心得到放松,同时也提高人们的精神品质和个人素养。当代,爱好音乐的年轻人越来越多,也有不少人自己练习弹奏乐器,作为业余爱好和一种放松的手段,鉴于一些乐器学习难度大需花费太多精力,且其价格太过于高昂,使得一部分有这种想法的人不得不放弃这种想法,而电子琴又是一种新型的键盘乐器,它是现代电子科技与音乐结合的产物,价格相对便宜,能够满足一般爱好者的需求,因此,在现代音乐中扮演着重要的角色。故简易电子琴的研制具有一定的社会意义。 1.2 课题设计的任务与主要内容 本文的主要内容是用AT89C51单片机为核心控制元件,设计一个简单的电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。定时器按设置的定时参数产生中断,由于定时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。 先根据要求设计硬件电路和编写相应的程序,然后进行仿真调试,最后细心焊接硬件电路图,将程序烤入芯片中,最终达到设计目的。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 具体实现的功能:按下音符键可以发出相应的音符。

基于AT89C51单片机的简易电子琴

摘要 随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。我们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:AT89C51;电子琴;音频功率放大器;发光二极管

Abstract With the development and progress of society,music has become an important part of life,it was said that people do not like the music to the evil.We will find time to enjoy the world music,as the baptism of the spirit.This thesis developed a simple microncontroller-based electronic key board. Electronic organ is a modern electronic music technology and the product is a new type of keyboard instruments.It played and important role in modern music.SCM has powerful control functions and flexible proguamming characteristics.It has converged with modern people’s lives, become an irreplaceable part.The main content is AT89C51 control of the core components,design of a electronic organ.SCM as a host to the core,with the keyboard,speaker and other core modules.In the main control module has 16 keys and a speaker.The system is steady,its simple hardware circuits,software functions,reliability of control system and high cost performance is its advantages.It also has certain practical and reference value. Key words:AT89C51 single-chip;electric piano;LM386;LED 第1章绪论 (1) 1.1 题目的来源与开发意义 (1) 1.2 系统功能概述 (2) 第2章总体方案提出与论证硬件 (4) 第3章硬件的设计 (5) 3.1 硬件的构成 (5) 3.1.1 AT89C51单片机 (5) 3.1.2 芯片的擦除 (8) 3.1.3 功放LM386 (10) 3.1.4 LCD硬件接口 (12)

相关主题
文本预览
相关文档 最新文档