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

合集下载

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

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

(完整版)基于51单⽚机的简易电⼦琴设计基于51单⽚机的简易电⼦琴设计⼀.问题提出为什么选择简易电⼦琴设计?1.对于⾳乐的兴趣我们对⾳乐都有着浓厚的兴趣,喜欢听钢琴曲,如理查德·克莱德曼演奏的《思乡曲》《星空》《秋⽇的私语》等,⾳乐在我们的⽣活中扮演着很重要的⾓⾊。

有⼈曾说,喜欢⾳乐的⼈不会向恶。

以前不以为然,可是随着这些年来慢慢喜欢上阴郁,听了越来越多的钢琴曲之后,觉得这句话⾮常有道理。

⾳乐是⽤艺术家⽤⾳符记录世界,传达情感的⼀种艺术形式,⾳乐⾥有⼀种和谐之美,听⾳乐可以让⼈⼼情舒畅,与外界和谐统⼀。

⾳乐现在已经成为我⽣活中很重要的⼀部分,我们每周都会抽些时间去欣赏世界名曲,作为对精神的洗礼。

2.对于电⼦琴的好奇好奇是⼈的天性,⼈类对于⾃然的认识,对于科学的探索,⽆不始于好奇。

我们对电⼦琴如何实现其功能,如⾳⾊选择、声⾳强弱控制、节拍器、⾃动放⾳功能等等也很好奇,想通过学习单⽚机这个机会,深⼊了解电⼦琴的功能实现原理。

3.对于51单⽚机强⼤功能的信赖51单⽚机有基本特性:(1)⾯向控制的8位CPU和指令系统(2)4K字节的程序存储器(ROM或EPROM)(3)128字节的数据存储器(4)可编程的并⾏I/O⼝P0~P3,有32位双向输⼊/输出线(5)⼀个全双⼯串⾏⼝(6)两个16位定时器/计数器(7)五个中断源,两个优先级的中断结构(8)⼀个⽚内时钟振荡器和时钟电路(9)可以寻址64K字节的程序存储器和64K字节的外部数据存储器51单⽚机功能强⼤,性能⽇趋完善,在⼯业测控、智能仪器仪表、机电⼀体化产品、家电领域中应⽤⼴泛,因此基于51单⽚机设计简易的电⼦琴可⾏性⾮常⼤。

⼆.功能需求1.能够实现基本的琴键功能即每按下⼀个琴键,单⽚机能够检测到键盘的按键,并根据按键的位置,通过程序来控制,使蜂鸣器发出不同频率(⾳调)的声⾳,声⾳延迟⼀段时间,等到按键放开后,声⾳停⽌。

然后再继续扫描,看是否有键按下,如此循环下去,即可实现基本的琴键功能。

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

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

基于51单片机的电子琴设计
0 引言随着计算机在社会各领域的渗透,单片机的应用正在不断地走向
深入,同时带动着工业、农业、商业、家电以及玩具的日新月异更新,极大地
提高了电子电路及系统设计质量和效率。

本设计是以主控芯片STC89C5l 为中
心器件,辅以小键盘、LCD 显示和功放电路及扬声器等来设计电子琴系统。


时详细论述了该系统的设计过程及关键技术。

1 系统硬件组成电子琴的控制电路分为单片机STC89C51、工作指示LED、LCD 显示器、按键输入、喇叭接口等几部分。

其硬件电路结构框图如图
1 所示。

1.1 单片机STC89C51 简介STC 单片机是一款增强型5l 单片机,完全兼容MCS-51。

STC89C51 可以代替AT89C51,而且功能更强,速度更快,寿命更长,价格更低。

该单片机具有40 个引脚,采用双列直插DIP-40 封装。

STC89C51 可以完成ISP 在线编程功能,而AT89C51 则不能。

因此,将
AT89C51 中的程序直接烧录到STC89C51 中后,STC89C5l 就可以代替
AT89C51 直接工作。

STC 推出的系列51 单片机芯片全面兼容其它51 单片机。

STC89C51 内部有E2PROM,可以在程序中修改,而且断电不丢失数据。

此外,还增加了两级中断优先级等等,STC89 系列单片机的基本特性如图2 所示。

tips:感谢大家的阅读,本文由我司收集整编。

仅供参阅!。

基于51型单片机的十六音键电子琴设计

基于51型单片机的十六音键电子琴设计

基于单片机的十六音键电子琴设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

51单片机设计电子琴报告含代码

51单片机设计电子琴报告含代码

电子琴设计报告一、实验目的1.更深刻的了解、学习8051单片机的发声原理,利用定时器可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调。

2.其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,所以发出不同频率的脉冲。

3.进一步熟悉定时器的编程方法和定时初值的计算,进一步熟悉键盘扫描电路的工作原理和编程方法,了解单片机芯片的接口技术。

二、实验要求1.能够通过键盘演奏音符。

2.能够保存演奏的音乐,并实现回放。

3.有音调调整功能(如:C调,G调)。

4.自由发挥其他功能。

5.要求有单片机硬件系统框图,电路原理图,软件流程图。

三、实验基本原理简易电子琴有主控、蜂鸣器、键盘输入、电源四部分组成。

主控部分以AT89S52 为核心,用C 语言编程,充分运用AT89S52 的8k字节闪烁可编程可擦除只读存储器及其丰富的I/O 口,实现了对键盘数据的采集,和对蜂鸣器声音的控制;键盘输入部分采用4×4的键盘键盘输入,可以实现多个音调;供电部分可对整个电路进行供电。

经测试,整机基本实现预计功能,可以实现键盘演奏音符、调整音调、保存并回放的功能。

四、实验设计分析根据实验所要求实现的功能设计实现该项实验设计的软件电路及硬件电路。

五、实验要求实现A.电路设计1. 整体设计计划利用AT89S52 单片机的功能结合C 语言编程,实现电子琴播放音符等的简单功能,然后结合AT89S52 单片机的控制功能,利用蜂鸣器将输入表达出来,结合程序编制过程中,对各个I/O 的利用设置了键盘的扫描读入,结合电子琴需要多键位的现实,加入了4×4 键盘输入,达到了预期的效果。

2.分块设计1.控制模块AT89S52单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含有8kb的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。

基于51单片机bluesky开发板的电子琴程序

基于51单片机bluesky开发板的电子琴程序

#include<STC12C5A60S2.h>#include<LCD1602.h> //包含LCD1602的显示函数等#include<KEY_SCAN.h> //包含键值扫描函数,输出key_num#define FSCLK 11059200 //晶振频率sbit BEEP=P1^4; //蜂鸣器输出脚unsigned int fre[16]={100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1 400,1500,1600};//存好预定的频率值,可以设定任意想要的频率/********************************************************** ********************** 函数功能:延时函数,函数名Delay_ms() ** 函数说明:利用软件延时,占用CPU,经调试最小单位大约为1ms ** 入口参数:time:需要延时的时间,单位ms** 出口参数:无void Delay_ms(unsigned int time)unsigned int i,j;for(i = 0;i < time;i ++)for(j = 0;j < 930;j ++);** 函数功能:定时翻转跟蜂鸣器相连的引脚的电平,输出一定频率的脉冲信号** 函数说明:定时器0中断服务函数** 入口参数:无** 出口参数:无void time0() interrupt 1 //使用定时器0的工作方式2,定时器中断服务程序TH0 = (65536-FSCLK/(12*fre[piano]))/256; //每次中断,重新配置定时器的高8位TL0 = (65536-FSCLK/(12*fre[piano]))%256; //每次中断,程序配置定时器的低8位BEEP=!BEEP; //然后取反音乐输出,输出一个反电平} //短时间内多次取反则输出一定频率的脉冲/********************************************************** ********************** 函数功能:主函数** 入口参数:无** 出口参数:无void main()unsigned char piano=0,key=0; //初始值LCD_1602_Init(); //液晶显示前进行初始化TMOD = 0X01; //定时器使能TH0 = (65536-FSCLK/(12*fre[0]))/256; //配置定时器的高8位TL0 = (65536-FSCLK/(12*fre[0]))%256; //配置定时器的低8位ET0 = 1; //允许定时器0中断EA = 1; //打开总中断Write_1602_String("Welcome",0X80); //开机显示欢迎语:WelcomeWrite_1602_String("By 20192305007",0X80+0x40); //显示作者:20192305007Delay_ms(5000); //延时5s后开始进入正式程序LCD_1602_Init(); //液晶屏初始化Write_1602_String("Happy Play",0X80); //显示开始使用:Happy Playwhile(1){ //在这段函数中,不断扫描键值,每当键值不等于0时,说明有键被按下,//此时开始播放对应的音阶。

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

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

基于51单片机的多功能电子琴的设计摘要电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。

它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。

本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。

以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键、一排LED灯和扬声器。

本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。

一、总体方案设计1、系统设计要求本系统分为三个部分,一个是音乐播放,一个是电子琴弹奏,和一个流水灯演示。

具体指标如下:1)要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。

2.)用键盘作出电子琴的按键,每键代表一个音符。

3)各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。

//4)固定音乐播放有按键控制:“播放”、“弹奏/停止”。

5)弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。

6)弹奏电子琴时,流水灯会不停的亮灭。

2、系统设计组成本系统分为两个部分,一个是音乐另一个就是电子琴。

音乐播放部分:乐音实际上是有固定周期的信号。

本文介绍用AT89C51的两个定时器(如T0,T1)控制,在P3.7脚上输出方波周期信号,产生乐音,通过矩阵键盘按键产生不同的音符,由此操作人员可以随心所欲的弹奏自己所喜爱的乐曲,同时,那排流水灯会不停的闪烁,当不想弹奏时通过按放歌键可以演奏事先存放在单片机中的几首动听的曲子供消遣。

当歌曲演奏完时,通过按复位键便可回到初始状态,这样就做出了一台微型电子琴。

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

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

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

目录前言 (2)第1章基于51单片机的电子琴设计 (3)1.1 电子琴的设计要求 (3)1.2 电子琴设计所用设备及软件 (3)1.3 总体设计方案 (3)第2章系统硬件设计 (5)2.1 琴键控制电路 (5)2.2 音频功放电路 (6)2.3 时钟-复位电路 (6)2.4 LED显示电路 (6)2.5 整体电路 (6)第3章电子琴系统软件设计 (7)3.1 系统硬件接口定义 (7)3.2 主函数 (8)3.2.1 主函数程序 (8)3.3 按键扫描及LED显示函数 (9)3.3.1 键盘去抖及LED显示子程序 (10)3.4 中断函数 (11)3.4.1 中断程序 (12)第4章电子琴和调试 (12)4.1 调试工具 (12)4.2 调试结果 (13)4.3 电子琴设计中的问题及解决方法 (14)第5章电子琴设计总结 (15)参考文献 (16)附录 (17)前言音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。

近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。

但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。

如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。

而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。

结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。

现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。

电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。

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

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

基于51单⽚机的简易电⼦琴设计基于51单⽚机的简易电⼦琴设计⼀、设计任务及要求1、在该简易电⼦琴设计中,设置8个按键,8个按键可以发出do、re、mi、fa、sol、la、si、Do 8个⾳阶。

2、设计三个拨码开关,三个拨码开关可以调节⾼⾳、中⾳、低⾳三个⾳调。

3、画出电路的总体⽅框图和电路原理图。

⼆、设计原理⾳乐由许多不同的⾳阶组成的,⽽每个⾳阶对应着不同的频率,这样,我们就可以利⽤不同的频率组合,构成我们想要的⾳乐。

简易电⼦琴是摁下拨码开关时,单⽚机AT89C51会发出声⾳,声⾳从P1.0端⼝经过LM386,经过放⼤以后传⼊喇叭。

声⾳主要是经过单⽚机4×4矩阵键盘的按键产⽣,这⾥只⽤到8个按键来产⽣⾼中低的8个⾳阶,来产⽣do re mi fa sol la si Do。

下⾯是计数初值:三、设计⽅案本次设计的电⼦琴主要是利⽤AT89C51单⽚机为核⼼控制元件,同时还包括键盘、拨码开关和扬声器等控制模块,由键盘选择⼋个⾳阶。

1、电路原理图的总体设计总体电路需要c51单⽚机⼀⽚,⾳乐按键及喇叭等外围电路,要进⾏⾳调控制和⾳频放⼤,设计好的电路图如下图所⽰:2、键盘控制模块的设计矩阵按键部分由8个轻触按键按照2⾏4列排列,连接到P3端⼝。

将⾏线所接的单⽚机的I/O⼝作为输出端,⽽列线所接的I/O,则作为输⼊。

⾏线输出是低电平,有健按下,则输⼊线就会被拉低,这样,通过读输⼊线的状态就可得知是否有键按下。

3、键盘消抖当⽤⼿按下⼀个键时,如图所⽰,往往按键在闭合位置和断开位置之间跳⼏下才稳定到闭合状态的情况;在释放⼀个键时,也回会出现类似的情况。

这就是抖动。

抖动的持续时间随键盘材料和操作员⽽异,不过通常总是不⼤于10ms。

⽤软件⽅法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,此后再读⼊键盘码。

⼀个单⽚机⼯作于12M晶振,它的时钟周期是1/12(微秒)。

它的⼀个机器周期是12*(1/12)也就是1微秒。

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

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

目录摘要 (3)Abstract (3)1绪论 (4)1.1背景 (4)1.2目的 (4)1.3 意义 (4)1.4基本理论依据和主要工作内容 (4)2 设计方案简述 (6)2.1键盘模块 (6)2.2发声模块 (6)2.3 8X8点阵显示模块 (6)2.4系统技术指标和预期功能 (7)3 详细设计 (8)3.1主要IC芯片介绍 (8)3.2硬件设计 (11)4 设计结果及分析 (19)4.1 测试 (19)5总结 (20)参考文献 (21)附录主要程序代码 (22)摘要单片机的应用已经越来越贴近生活,用单片机来实现一些电子设计也变得容易起来。

本设计阐述的主要内容是一种基于51 单片机的电子琴的设计,其核心芯片AT89S52 单片机,内部电路包括4X4行列式键盘模块、音频放大模块和8X8LED点阵显示模块,本系统运行稳定,功能较为完善,控制系统可靠,性价比较高等,具有一定的实用价值。

对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字和简单图形,显示亮度较高,并且对环境条件要求比较低。

电子乐器的结构较为复杂,音源是由晶体管产生的电振动,并通过音色回路而产生各种音色;同时由周波数调制产生颤音效果,由振幅调制产生各种乐器的音效。

关键词:AT89S52单片机;音频放大模块;8X8点阵AbstractIts applications have become increasingly close to life, with a single chip to achieve a number of electronic design is becoming simpler. The main elements of the design described is based on 51 single-chip, the flower design, the core chip AT89S52 microcontroller Internal circuit including the 4X4 determinant keyboard module, audio amplifier module and 8X8LED dot matrix display module, the system is stable, function better, control system reliability, higher cost and so on, has some practical value. For those who need to display the amount of information is small, resolution is not high, they need to make the occasion a relatively low cost, using large and small screen, LED dot matrix display is more economical, and he can display characters, numbers and simple graphics, display brightness higher and lower demands on the environmental conditions. : The structure of more complex electronic instruments, the source is generated by the transistor electrical vibration, and sound loops generated by a variety of tone; also modulated by the frequency to produce vibrato effects, generated by the amplitude modulated sounds of various instruments.Keywords:AT89S52 Microcontroller;Audio Amplifier Module;8X8 matrix1绪论1.1背景单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机(single chipmicrocomputer).它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果。

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

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

以下内容根据各专业特点自行确定(如条件、资料、内容、任务、进度安排及要求等):1.设计主要内容及要求基于单片机的简易电子琴的设计。

1)简要说明用单片机设计出一个简易电子琴。

此电子琴完成产生中音Do到高音Do的8个音阶功能。

2)任务和要求设计一个简易电子琴,该电子琴基本功能:通过本系统的扬声器产生从中音Do到高音Do的8个音阶。

实现的具体要求:首先设置8个按键分别连到单片机的I/O口,通过按键按下改变单片机I/O口的电平,其次根据单片机检测到I/O口上的信号,在某个I/O 引脚输出不同频率的方波,最后此方波最后输出到扬声器中。

对于此题目学生首先研究不同音阶所对应的输出频率,根据所研究的内容,完成延时模块的设计、按键检测模块和波形输出模块的设计。

3)训练目标熟练使用Keil开发环境,具备使用C语言编写单片机程序的初步能力,通过完成本课题的软硬件设计,使同学们了解单片机实例的整个开发流程。

2.对设计说明书、论文撰写内容、格式、字数的要求1)课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。

2)学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。

课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。

应做到文理通顺,内容正确完整,书写工整,装订整齐。

3)说明书(论文)手写或打印均可。

手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。

4)课程设计说明书(论文)装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。

3.时间进度安排;III摘要随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。

我们都会抽空欣赏世界名曲,作为对精神的洗礼。

本论文设计一个基于单片机的简易电子琴。

我们对于电子琴如何实现其功能,如声音强弱控制、节拍器、自动放音功能等等也很好奇。

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

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

目录摘要Abstract第1章前言 (1)第2章方案论证 (2)2.1 控制模块选择方案 (2)2.2按键选择方案 (2)第3章系统硬件设计及说明 (3)3.1系统组成及总体框图 (3)3.2元件简介 (3)3.2.1 AT89S52 (3)3.2.2 LM386 (5)3.2.3 LED数码管 (7)3.3显示电路 (8)3.4 各功能模块原理图 (9)3.4.1 AT89S52模块电路原理图 (9)3.4.2键盘扫描模块电路原理图 (10)3.4.3数码管显示模块电路原理图 (10)3.4.4音频处理模块电路原理图 (11)3.4.5电源模块电路原理图 (11)第4章系统软件设计 (12)4.1音乐相关知识 (12)4.2如何用单片机实现音乐的节拍 (12)4.3如何用单片机产生音频脉冲 (12)4.4系统总体功能流程图 (13)第5章电路仿真 (17)5.1 ISIS软件介绍 (17)5.2 仿真图 (17)5.3 仿真图介绍 (18)第6章PCB印制板制作 (19)6.1 印制板制作的要求 (19)6.2印制电路板图 (19)第7章系统调试 (20)7.1软件仿真调试 (20)7.2软件调试 (20)第8章调试结论 (21)第9章参考文献答谢辞附录1:元器件清单附录2:主要电路原理图附录3:程序摘要微型电子琴的设计以AT89S52单片机作为系统的核心控制部分,通过制作硬件电路和软件的设计编写,然后进行软硬件的调试运行,最终达到设计电路的乐器演奏、点歌、存储及显示功能。

设计中应用中断系统和定时/计数原理控制演奏器发声,对音乐发生所必须确定的音符和节拍分别用程序语言实现。

可以用它来弹奏和播放乐曲。

特点是设计思路简单、清晰,成本低。

关键词:单片机电子琴AT89S52AbstractThe design takes 89S52 MCU as the core of system's control section . In order to achieve the effect of the circuit that performancing the musical instrument,requesting a song,the function of the memory and demonstration,we can carry on software and hardware's debugging through manufacturing hardware circuit and compiling the software's design . The design applies the principle of the interruption system and fixed time/the counting to performance sound production,and according to the program language to realize the separation of the note and time at the same time. We can use it to play with the broadcast music. And the best advantage is this design is simply and clear .Key words: MCU electronicorgan AT89S52第1章前言1.1 系统开发背景单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。

基于51单片机学习板的简易电子琴__本科毕业设计论文

基于51单片机学习板的简易电子琴__本科毕业设计论文

中国矿业大学徐海学院技能考核培训姓名:申鹏飞学 号: 22120768专业:信息12-2班题目:基于单片机的技能考核专题:简易的电子琴制作,数据收发指导教师:有鹏设计地点:电工电子实验室时间: 2015 年 6 月通信系统综合设计训练任务书学生姓名 申鹏飞 专业年级 信息12-2班 学号 22120768设计日期: 2015 年 6 月 20 日 至 2015 年7 月3日设计题目:设计专题题目:设计主要内容和要求:1. 主要内容:(1)系统硬件设计及说明)系统硬件设计及说明)系统硬件设计及说明(2)系统硬件设计及说明)单片机学习板主要功能介绍(3)单片机学习板主要功能介绍)系统软件设计(4)系统软件设计2. 功能扩展要求(1)2.4GHz射频收发芯片nRF2401及其应用及其应用)简易的电子琴制作的步骤和功能(2)简易的电子琴制作的步骤和功能指导教师签字:摘要:随着电子技术的发展,电子技术与音乐的结合不断加深。

由此而产生的电子琴在这种形势下,因其体积小,易于携带,经济适用,是一般家庭都能承受得了的经济投入。

而且电子琴键盘操作直观易于掌握。

子琴键盘操作直观易于掌握。

这样对初学者,这样对初学者,尤其对识谱的人来说是很容易弹奏的,尤其对识谱的人来说是很容易弹奏的,一首简一首简单的曲子灵感好的人甚至不用很多的练习和教师的指导就能很快的弹奏出来。

这样就强烈地激发了学习者的学习兴趣,迅速地提高了电子琴的普及率。

激发了学习者的学习兴趣,迅速地提高了电子琴的普及率。

关键词:关键词:5151单片机,电子琴单片机,电子琴 ,数据收发,数据收发目录第一章第一章 前言前言 .............................................. 6 1.1 系统开发背景系统开发背景 ...................................... 6 1.2 系统开发意义系统开发意义 ...................................... 6 第二章第二章 设计任务及要求设计任务及要求设计任务及要求 ................................... 7 第三章第三章 系统硬件设计及说明系统硬件设计及说明 ................................ 8 3.1系统组成及总体框图系统组成及总体框图 ................................. 8 第四章第四章 单片机学习板主要功能介绍单片机学习板主要功能介绍 .......................... 9 4.1AT89S52简介简介 ....................................... .......................................9 4.1.1功能特性:功能特性: ................................... 10 4.1.2主要性能主要性能..................................... ..................................... 11 4.1.3管脚说明管脚说明..................................... ..................................... 11 4.2 LED 数码管数码管 ....................................... ....................................... 12 4.3显示电路显示电路 ......................................... ......................................... 13 4.4键盘扫描模块电路图键盘扫描模块电路图 ................................ 13 4.5数码管显示模块电路原理图数码管显示模块电路原理图 .......................... 14 4.6电源模块电路原理图电源模块电路原理图 ............................... 15 第5章 系统软件设计系统软件设计 ..................................... 16 5.1音乐相关知识音乐相关知识...................................... ...................................... 16 5.2如何用单片机实现音乐的节拍如何用单片机实现音乐的节拍 ........................ 16 5.3如何用单片机产生音频脉冲如何用单片机产生音频脉冲 .......................... 16 5.4系统总体功能流程图系统总体功能流程图 (18)第六章2.4GHz 射频收发芯片nRF2401 模块介绍模块介绍 ............... 20 6.1芯片结构芯片结构 ......................................... ......................................... 21 6.2引脚说明引脚说明 ......................................... ......................................... 21 6.3工作模式工作模式 ......................................... .........................................23 6.3.1收发模式收发模式..................................... ..................................... 23 6.3.2直接收发模式直接收发模式 ................................. 24 6.3.3配置模式配置模式..................................... ..................................... 25 6.3.4空闲模式空闲模式..................................... ..................................... 25 6.3.5关机模式关机模式..................................... ..................................... 25 6.4.6.4.器件配置器件配置器件配置 ......................................... 25 6.5.6.5.应用电路应用电路应用电路 ......................................... 26 6.6无线音频系统无线音频系统...................................... ...................................... 27 第七章第七章 51 51单片机与NRF24L01模块融合模块融合 ..................... 28 第八章第八章 收获与总结收获与总结收获与总结 ...................................... 29 第九章第九章 参考文献参考文献 ......................................... 30 附录一附录一.................................................. 31 附录二附录二 .. (42)第一章 前言1.1 1.1 系统开发背景系统开发背景随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们多带来一点生活上的乐趣。

基于51单片机的电子琴完整版

基于51单片机的电子琴完整版

基于51单片机的电子琴完整版#include<reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charsbit feng = P0^7; // 蜂鸣器uint FTemp;uint code tab[] = { //定时半周期的初始值64021,64103,64260,64400, //低音3 4 5 664524,64580,64684,64777, //低音7,中音1 2 364820,64898,64968,65030, //中音4 5 6 765058,65110,65157,65178}; //高音1 2 3 4//用扫描法读P1 外接4×4 键盘uchar Keyscan(void){uchar i, j, temp, Buffer[4] = {0xfe, 0xfd, 0xfb, 0xf7};for(j = 0; j < 4; j++) //循环四次,扫描四行{P1 = Buffer[j]; //在低四位分别输出一个低电平_nop_();temp = 0x80; //计划先读出P1.7位for(i = 0; i < 4; i++) //循环四次,检查四列{if(!(P1& temp)) //从高四位,截取1位{return (i + j * 4); //返回取得的按键值}temp >>= 1; //换右边一位}}return 16; //没有键按下就返回16}void Main(void){uchar Key_Value = 16, Key_Temp1, Key_Temp2;//读出的键值 TMOD = 0x01; //T0定时方式1ET0 = 1; //允许T0中断EX0 = 1; //允许INT0中断EA = 1;//开总中断while(1){TR0 = 0; //T0工作停,暂不发音Key_Temp1 = Keyscan(); //第一次读入按键if(Key_Temp1 != 16){ //有键按下Key_Temp2 = Keyscan(); //再读一次if (Key_Temp1 == Key_Temp2) //两次相等{Key_Value = Key_Temp1; //就确认下来FTemp = tab[Key_Value]; //根据键值,取出定时半周期的初始值TR0 = 1; //启动定时器T0,发音while (Keyscan() < 16); //等待释放feng = 1; //停止发音}}}}//========================================================= =====void T0_INT(void) interrupt 1{TL0 = FTemp; //载入定时半周期的初始值TH0 = FTemp >> 8;feng = ~feng; //发音。

基于51单片机简易电子琴设计报告

基于51单片机简易电子琴设计报告

创新制作报告简易电子琴设计摘要本设计主要研究基于STC90C51单片机地简易电子琴设计.它是以单片机作为主控核心,键盘、电脑音响、led等外围器件构成;本设计硬件部分主要由最小系统,按键系统模块、led显示模块和发声模块组成.其软件部分主要有主程序模块、定时中断程序、定时计数程序、显示程序.(1)最小系统:它是单片机应用系统地设计基础.它包括单片机地选择、时钟系统设计、复位电路设计等.(2)按键系统模块:本设计采用24个按键,其中21个按键用来显示21个音调,其它3个按键可以进行功能地切换.(3)LED显示模块:八个LED,七个红色LED来显示音符,1个绿色LED指示.(4)发声模块:此电子琴发音是用现成地电脑音响.本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件地程序,最后进行软硬件地调试运行.并且从原理图,主要芯片,各模块地原理和各个模块地程序调试来阐述.利用单片机产生不同频率来获得我们要求地音阶,实现高、中、低共21个音符地发音和显示和音乐播放时地控制显示,并且能自动播放程序中编排地音乐,同时还有保存兵播放已按下地音符.系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠.目录1.概述41.1设计背景41.2设计意义41.3 设计任务42.系统总体方案及硬件设计42.1总体设计42.2硬件设计62.3单片机地最小工作系统62.4电源设计:2.5按键设计:2.6LED灯设计:2.7发声模块:3.系统软件地地编写 73.1电子琴基本原理 73.2主程序 93.3播放音乐模块 163.4录音模块 204.1硬件调试 234.2软件调试 235课程设计体会附1 源程序代码241.概述1.1设计背景由于本课程要做一个创新制作,而老师给地参考题中觉得电子琴这课题不错,因为电子琴能陶冶人地情操,同时使人更快乐,他能真正影响人地心情,因此决定做.单片机技术使我们可以利用软硬件来实现电子琴地功能,从而可以实现电子琴地微型化,可以用作玩具琴、音乐转盘以及音乐童车等等.并且可以进行一定地功能扩展.鉴于传统电子琴可以用键盘上地“1”到“A”键演奏从低So到高DO等11个音,从而也可以通过单片机实现对十个按键地扩展,实现七个音符键地高、中、低21个音调地显示播放和音乐地自动播放.1.2设计意义①可以了解音乐地基本知识;②加深对单片机地使用;③学会自己做工程;1.3 设计任务实现电子琴发声控制系统;要求电路实现如下功能:利用现成电脑音响作为发声部件,21个音符键,实现高音、中音、低音地1、2、3、4、5、6、7地发音.并在存储几首歌曲地内容,可以实现自动播放.2.系统总体方案及硬件设计2.1总体设计音乐是有由不同地音阶组成地,而不同地音阶又是由不同地频率发出地,那么产生不同地频率,就可以发出不同地音乐了.而利用单片机就可以产生不同地频率地方波,因此选择单片机为为主来设计.通过程序编写实现单片机输出不同地频率,输出地方波信号再通过接口给电脑音响,让其发声.同时电子琴加入led用来显示.本设计地主要工作是程序编写,通过程序让电子琴实现音乐演奏,歌曲播放以及记录已按下地音符,并播放,最后实现led显示.而硬件主要有单片机最小系统,键盘模块,发声模块,还有一个电源模块.总体框图22.2硬件设计电路图1注:本系统有主控单片机、键盘、led 显示模块、发声模块以及电源组成.2.2.2单片机地最小工作系统:按键输入LED 显示电脑音响单片机这里用地单片机地型号是STC90C516RD+,配以12M地晶振,以及复位电路供电电路构成最小系统.2.2.3电源设计:这里电源直接用直流5v电源;2.2.4按键设计:按键采用4*6扫描;4根行线接P10-P13,六根列线接P14-P17以及P20,P21口共24个按键,0-20代表音符键,0-6代表低音1,2,3,4,5,6,7;7-13代表中音1,2,3,4,5,6,7;14-20代表高音1,2,3,4,5,6,7;21号按键表示播放歌曲键,当按下21号键,进入播放歌曲函数,当按下22号键时,播放下一首歌曲,当按下23键时,退出播放返回主程序.而在主程序中时,代表演奏状态,当按下23号键时,进入录音状态,此时有个绿色地指示灯会亮.而进入录音后,再按一次23键,指示灯灭,退出录音状态,返回主程序.2.2.5LED灯设计:七个红色地LED代表按键地音符DO,RE,MI...分别接到P0口地各个I端口音符DO时,一个LED亮,音符MI时,2个LED亮...同时为了区分高中低音,三个八度LED显示不同,当低音音符播放时,LED闪亮,当是中音时,LED也闪亮,但是闪亮地频率更快,当是高音时,LED全亮,这是通过调节LED亮灭时间来实现,也可以说是PWM吧.还有一个绿色LED指示当前状态,当电子琴处于录音时,LED亮,否则,灭;2.2.6发声模块:这里没有自己做功放,而是使用电脑地音响.3系统软件地地编写3.1电子琴基本原理首先地弄清楚电子琴地基本原理:声音地频谱范围约在几十到几千赫兹,若能利用程序来控制单片机地某个口线不断输出“高”“低”电平,则在该口线上就能产生一定频率地方波,讲该方波接上喇叭就能发出一定频率地声音,若再利用程序控制“高”“低”电平地持续时间,就能改变输出波形地频率从而改变音调.乐曲中,每个音符对应着确定地频率,下表给出各音符频率.如果单片机某个口线输出“高”“低”电平地频率和某个音符地频率一样,那么将此口线接上喇叭就可以发出此音符地声音.根据这个原理就能设计出,对于单片机来说要产生一定频率地方波大致是先将某口线输出高电平然后延迟一段时间再输出低电平,如此循环地输出就会产生一定频率地方波,通过改变延迟地时间就可以改变输出方波地频率.单片机内部有两个定时计数器T1和T0,单片机地定时计数器实际上是个计数装置,它既可以对单片机内部晶振驱动时钟计数,也可以对外部输入地脉冲计数,对内部晶振计数时称为定时器,对外部时钟计数时称为计数器.当对单片机内部晶振驱动时钟计数时,每个机器周期定时计数器地计数值就加,当计数值达到计数最大值时计数完毕并通知单片机.音乐中各个音符地频率表如下:音符频率表3弄懂后开始程序地实现3.2主程序模块主程序框图参数计算发音原理若要产生音频脉冲,只要算出某一音频地周期(1/频率),再将此周期除以2,即为半周期地时间.利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相.就可在P1.0引脚上得到此频率地脉冲.利用AT89C51地内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率地方法产生不同音阶.计算举例例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz).计数脉冲值与频率地关系式是:N=fi÷2÷fr,式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生地频率.其计数初值T地求法如下:T=65536-N=65536-fi÷2÷fr 例如:设K=65536,fi=1MHz,求中音DO(261Hz).T=65536-N=65536-fi÷2÷fr =65536-1000000÷2÷fr=65536-500000/fr,中音DO地T=65536-500000/523=64580. 3.2.3计算结果(1)单片机12MHZ晶振,中音符与计数T0相关地计数值如表所示:采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表地方式来获得相应地数据:低音0-19之间,中音在20-39之间,高音在40-59之间.用单片机播放音乐,或者弹奏电子琴,实际上是按照特定地频率,输出一连串地方波.为了输出合适地方波,首先应该知道音符与频率地关系.(2)音调数据表曲调值DELAY曲调值DELAY调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4250ms调2/4125ms 上表中地频率数值,有些过多,去掉不常用地黑键频率,只是把白键对应地数据存放在单片机中,即可满足绝大部分地应用需求.定义音调数据表地程序如下:DW 63628,63835,64021,64103,64260,64400,64524 。

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

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

基于51单片机电子琴设计课程设计
“基于51单片机电子琴设计课程设计”是一门介绍如何使用51单片机设计电子琴的课程。

本课程主要以51单片机为核心,以硬件电路、基础电路、信号处理程序及计算机软件为基础,介绍如何设计和控制电子琴原理,包括电子琴合成器、音源和操控器等技术知识。

课程通过理论讲解、硬件示范和软件实践的方式,引导学生搭建51单片机电子琴,并运用51专有语言和C语言,将单片机程序下载到电子琴中,实现声音的发出以及控制功能。

同时,学生还能学习电子琴软件仿真技术,理解电子琴的构造及琴键按钮的控制原理,掌握电子琴的基本程序,掌握电子琴的发声装置的设计等。

本课程旨在让学生掌握单片机电子琴的原理,熟悉信号处理程序和计算机存储系统,掌握原理及应用实践。

学生可以通过实践学习基础电路结构,了解单片机操作原理和程序编写应用,也可以运用所学知识及联系实际应用,完成不同功能需求的电子琴设计、系统设计及控制。

从而为建立有趣、实用的小型电子产品奠定基础。

经过本课程的学习,学生可以比较熟练的设计出基于51单片机的电子琴系统,实现基本的功能及控制,熟悉电子琴原理及程序设计,熟悉电子琴系统分析及调试。

另外,还可以运用计算机软件如Keil C51等,完成更复杂的电子琴程序设计,使学生掌握先进的电子琴设计技术,学会分析并解决实际的电子琴控制问题,进一步提升学生的学习能力和职业发展能力。

51单片机简易电子琴设计

51单片机简易电子琴设计
七、参考文献 1、单片机应用技术(C语言).。 2、51单片机C语整体方案:
系统整体安排如下: • 按下S1键发出1的声音。 • 按下S2键发出2的声音。 • 按下S3键发出3的声音。 • 按下S4键发出4的声音。 • 8051单片机根据不同的键产生不同的乐曲音符。系统整体软件结构
框图如下:
三、原理说明
1、频率、声音的实现和产生
单片机的频率和声音输出的原理是,利用琴键控制定时器 的开中断和闭中断,即实现发音和闭音。在此期间通过对定 时器的定时时间进行控制来产生不同频率的方波,使蜂鸣器 发出不同音阶的声音。把相应琴键对应的音符变换为定常数, 作为数据表格存放在储存器中。由程序查表得到定时常数, 用以控制定时器产生方波的频率。但下一个键按下时,再查 一下此琴键所对应音符的定时常数。依次进行下去,就可以 了。
四、模块描述
1、键盘模块: 本系统采用独立式键盘S1、S2、S3、S4。结构框图如下:
S1
S1
S2
S2
S3
Hale Waihona Puke S3S4S4
2、蜂鸣器模块:
按下不同的键,蜂鸣器会发出不同的音乐。结构框图如下:
五、主程序流程图
六、操作说明 将编好的电子琴的程序导入到单片机AT89S51上,按下 S1键,此时蜂鸣器发出的声音为1的声音;再依次按下S2、 S3、S4键,蜂鸣器会依次发出2、3、4的声音。
用定时器T0方式1来产生琴键对应音符的频率的方波,由 P1.1输出蜂鸣器。
2、音符频率表如下:
3、键盘的方案选择
此系统琴键输入是通过独立式键盘来实现的。 由于8051单片机的八为I/O口足以能实现控制各音阶 的输出,并且独立式键盘的编程容易易懂,结构简单, 实现起来方便,而且每个按键独立占有一根I/O接口 线,每个I/O接口线工作状态互不影响,所以采用独 立式键盘。P3.0~P3.3口分别对应S1、S2、S3、S4。

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

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

基于51单片机的电子琴设计课程设计单片机原理》课程设计前言本课程设计旨在通过基于51单片机的电子琴设计,加深学生对单片机原理的理解和应用。

在本设计中,我们将介绍电子琴的设计要求、所用设备及软件以及总体设计方案。

随后,我们将详细介绍系统硬件设计中琴键控制电路、音频功放电路、时钟-复位电路和LED显示电路的设计。

第1章基于51单片机的电子琴设计1.1 电子琴的设计要求在电子琴的设计中,我们需要考虑琴键数量、音频输出质量、电源电压和外部接口等因素。

在本设计中,我们将采用25个琴键,保证音频输出质量和电源电压稳定,并提供外部接口以便于扩展和调试。

1.2 电子琴设计所用设备及软件在本设计中,我们将使用51单片机、琴键、音频功放、时钟、LED显示器等设备,并使用Keil C51编译器进行软件开发。

1.3 总体设计方案在总体设计方案中,我们将采用按键扫描方式实现琴键控制,使用PWM技术实现音频输出,使用外部晶振提供时钟信号,并使用LED显示器显示琴键状态。

第2章系统硬件设计2.1 琴键控制电路在琴键控制电路中,我们将采用矩阵按键扫描方式,通过51单片机的IO口进行扫描和检测。

同时,我们还将使用电容式触摸开关来实现琴键的触发。

2.2 音频功放电路在音频功放电路中,我们将采用TDA7297芯片作为功放,通过PWM技术实现音频输出,并通过滤波电路滤除杂音和谐波。

2.3 时钟-复位电路在时钟-复位电路中,我们将采用12MHz晶振作为时钟源,并使用复位电路确保系统在上电时能够正确运行。

2.4 LED显示电路在LED显示电路中,我们将采用MAX7219芯片实现LED点阵显示,并通过SPI接口与51单片机进行通信。

同时,我们还将使用CD4511芯片实现数码管显示琴键状态。

通过本课程设计,我们可以深入理解单片机原理的应用,掌握电子琴的设计和制作技术,提高自身的实践能力和创新能力。

2.5 整体电路本章将介绍电子琴的整体电路设计。

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

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

基于51单片机的电子琴设计随着科技的不断发展,单片机技术已经成为了现代电子设备中的重要组成部分。

51单片机作为一种广泛应用的单片机系列,具有高性能、低功耗、高集成度等特点,被广泛应用于各种嵌入式系统开发中。

本文将介绍一种基于51单片机的电子琴设计。

一、系统硬件设计1、单片机选择本设计选用AT89C51单片机作为主控制器,AT89C51是一种低功耗、高性能的8位单片机,具有4K字节的可编程存储器和128字节的RAM,同时具有丰富的外设接口,如UART、SPI、I2C等。

2、电子琴设计电子琴采用8×8 LED点阵作为输出设备,通过单片机控制点阵的亮灭状态来展示音乐波形。

具体实现方式是将音频信号通过一个运放放大器放大,然后将其输入到LED点阵中,通过控制点阵的亮灭状态来展示音乐的波形。

3、存储模块设计为了实现电子琴曲目的存储和播放,本设计选用了一块AT24C02 EEPROM芯片作为存储设备。

AT24C02是一种串行E2PROM存储器,容量为256字节,可以通过I2C总线与单片机进行通信。

将曲目信息存储在AT24C02中,可以实现曲目的存储和播放功能。

4、按键模块设计本设计采用4×4矩阵键盘作为输入设备,通过扫描按键状态来实现音符的选择和节奏控制。

矩阵键盘的行线连接到单片机的P1口,列线连接到P2口,通过检测行列组合的变化来确定按下的键位。

二、系统软件设计1、音符解码本设计采用MIDI音符编码方式来存储和播放曲目信息。

在解码过程中,根据音符的频率和持续时间计算出对应的音高和节奏信息,然后将其用于驱动电子琴的输出设备展示音乐的波形。

2、演奏控制为了实现节奏控制,本设计采用了一种基于时间间隔的演奏方式。

在演奏过程中,单片机根据设定的节奏间隔时间来触发音符输出,从而实现对节奏的控制。

同时,为了实现曲目的停止和播放功能,我们需要在软件中加入相应的控制逻辑。

3、存储和播放在软件设计中,我们需要实现将曲目信息存储到AT24C02中以及从AT24C02中读取曲目信息的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。

我们都会抽空欣赏世界名曲,作为对精神的洗礼。

本论文设计一个基于单片机的简易电子琴。

电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。

它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。

本文的主要内容是用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)1 系统方案设计1.1 设计指标①设计一个简易的八音符电子琴,它可通过按键输入来控制音响。

②演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存曲目,并且在演奏完已存曲目后可自动复位。

1.2系统方案综述从系统实现的功能上来看,电子琴的设计主要利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出八个不同的音调,并且要求按下按键发声,松开延时一段时间停止,中间再按别的键再发出另外一种音调的声音。

从系统硬件结构上来看,我们主要使用到AT89C51单片机,复位电路以及开关等。

将这些硬件电路有机的结合起来使之满足电子琴的实现硬件需要。

从音乐产生的原理方面来看,通过控制单片机的定时器的定时时间产生不同频率的音频脉冲,经放大驱动发出不同音乐的声音。

用软件延时来控制发音时间的长短。

把音乐的音符和相应的节拍变换为定时常数和延时常数,分别来控制定时器产生的脉冲频率和发出该音频脉冲持续时间。

因此,我们可以综合上述方案设计原理,从软件和硬件两部分进行有计划有步骤的分析和设计。

1.3 系统设计思路当系统扫描到键盘上有键被按下,则快速检测是哪一个键被按下,然后单片机的定时器被启动,发出一定频率的脉冲,该频率的脉冲输入到蜂鸣器后,就会发出相应的音调,如果在前一个按下的键发声的同时有另一个键被按下,则启动中断系统,前面键的发音停止,转到后按得键的发音程序,发出后按的键的音调。

这样,设计一个时钟方式的电路来产生11.0592MHZ的振荡频率产生时钟脉冲,一个按键电平复位电路对AT89C51单片机进行复位,8个开关分别从P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7输出,用于产生八个不同频率的音,一个扬声器电路,从P3.2连接一个开关播放已存曲目,从P3.3与扬声器之间连接一个上拉电阻和三极管,驱动扬声器响应,以此来设计硬件电路。

总体框图如图1-1所示。

数码管键盘矩阵扬声器1-1 总体框图2 硬件设计2.1 电路图硬件电路图如图2-1所示。

图2-1电路图2.2 单片机AT89C51简介AT89C51是51系列单片机的一个型号,它是STC公司生产的。

AT89C51是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash 只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C51单片机可提供许多较复杂系统控制应用场合。

AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,STC89C51可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本AT89C51有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。

其封装及引脚图如图2-2。

图2-2单片机外封装及单片机引脚图AT89C51具体介绍如下:①主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线②外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端③控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

④可编程输入/输出引脚(32根)AT89C52单片机有4组8位的可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。

P0口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7。

P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7。

P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7。

P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7。

2.3 单片机的工作过程单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。

为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。

存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。

程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC 赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。

单片机最小应用系统如2-3所示。

图2-3 单片机最小应用系统2.4 键盘电路用AT89C51的并行口P1接键盘,在数码管上显示每个按键的对应的音符号。

如图2-4。

图2-4单片机与键盘的连线图本实验还用到单独的一个按键用于控制播放音乐。

该键与单片机的P3.2口连接可见主电路图单片机电子琴硬件连接图。

2.5 显示电路8段LED数码管是利用8个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,可以显示0—9等10个数字和小数点,使用非常广泛。

这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如下图所示。

图中的8个LED分别与上面那个图中的A—DP各段相对应,通过控制各个LED的亮灭来显示数字,如图2-5所示。

VCC图2-5 数码管共阳极与共阴极原理图选用单片机的P0口P0.0到P0.7分别接在LED端的a—dp上来控制LED各个段码灯的控制,来实现数字,例如要显示低音符3,只需将共阴极的数码管的a、b、e、f接高电平即可显示“c”共阳极的对应的接低电平。

这里我们选用共阳极的LED数码管,对于中音音符3,则需要将数码管的b、c、d、e、g置于低电平。

数码管就会显示“3”。

具体可参考数码管相关的书籍。

LED数码管与单片机连接图如图2-6所示。

23图2-6 单片机与数码管连接图2.6 声音电路喇叭在数字电路中的应用,可以通过不断的给喇叭通断电,使其产生声音,且通电断电时间的间隔不同其声音的音色就不同,所以通过控制通断时间就可以控制不同的音阶产生。

这里我们选用单片机的P1.0口来控制喇叭的通断电。

一首音乐是由许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T1来产生这样方波频率信号,因此,我们只需将不同的音阶对应不同频率的中断即可。

单片机与喇叭接线图如图2-7所示。

图2-7 单片机电子琴放音控制系统3 系统软件设计一首乐曲是由多个音符构成的。

每一个音符都对应着一个确定的频率。

另外,每一个音符根据乐曲的要求和设定一个确定的节拍。

声音的产生就是是单片机产生一定的延时,所以延时不同,生成的音乐就不同。

我们利用定时器计数的方式产生延时的效果,就可以将歌曲中每一个音符所对应的音率换算成相应的计数初值。

然后,将这首乐曲所有音符的计数初值编成一个表,并把每一个音符的计数初值。

然后,将这首乐曲所有音符的计数初值编成一个表,并把每一个音符的计数初值与一个确定的数字码来联系。

这个数组码为简谱码。

这里我们选用播放的歌曲为祝你平安和八月桂花遍地开。

软件设计流程图如图3-1所示。

图3-1 软件设计流程图3.1延时程序设计因程序设计中很多都要用到延时程序所以延时程序用delay()函数来实现,其程序如下:void Delay_xMs(unsigned int x){unsigned int i,j;for(i=0;i<x;i++) //1ms延时{for(j=0;j<3;j++);}}3.2定时器初始化及其中断函数//定时器1的初始化void Time1_Init(){TMOD=TMOD|0x10; //定时器1,方式1 EA=1;ET1=1;TH1=0xD8;TL1=0xEF;}//定时器中断函数void Time1_Int() interrupt 3 //外部中断1{TH1=0xD8;TL1=0xEF;Count++;}3.3示例音乐播放程序while(!eg_music){P0=0xc6; //C表示播放示例音乐Time1_Init();Play_Song(0); // 调用示例音乐函数TR0=0;}3.4单独按键中断处理函数void init_interrupt(void ) interrupt 1{TR0=0;TH0=table[key]/256;TL0=table[key]%256;speak=~speak;TR0=1; }4 实验结果与分析4.1 Proteus软件简介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。

相关文档
最新文档