简易电子琴1
基于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)1 系统方案设计1.1 设计指标①设计一个简易的八音符电子琴,它可通过按键输入来控制音响。
②演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存曲目,并且在演奏完已存曲目后可自动复位。
1.2系统方案综述从系统实现的功能上来看,电子琴的设计主要利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出八个不同的音调,并且要求按下按键发声,松开延时一段时间停止,中间再按别的键再发出另外一种音调的声音。
-用555制作简易电子琴

555简易电子琴电路制作一设计要求与任务1.学习调试电子电路的方法,提高实际动手能力。
2.了解由555定时器构成简易电子琴的电路及原理。
二总体框图、【模块功能】该电路包括按钮开关,定值电阻,555振荡器和扬声器三部分组成,1输入端:由八个按钮开关与各自的定值电阻串联在并联组成输入端2频率产生端:根据定值电阻的不同输入,由555产生不同的信号频率3扬声器端口: 接受信号频率发出特定的频率【设计方案】555定时器本实验采用两个555集成定时器组成简易电子琴。
整个电路由主振荡器,颤音振荡器,扬声器和琴键按钮等部分组成。
主振荡器由555定时器,七个琴键按钮S1~S7,外接电容C1、C2,外接电阻R8以及R1~R7等元件组成,颤音振荡器由555定时器,电容C5及R9、R10等元件组成,颤音振荡器振荡频率较低为64Hz,若将其输出电压U连接到主振荡器555定时器复位端4,则主振荡器输出端出现颤音。
按图接线后闭合不同开关即可令喇叭发出不同频率的声响,从而模拟出电子琴的工作。
三选择器件【实验器材】555定时器是一种中规模集成电路,外形为双列直插8脚结构,体积很小,使用起来方便。
只要在外部配上几个适当的阻容元件,就可以构成史密特触发器、单稳态触发器及自激多谐振荡器等脉冲信号产生与变换电路。
它在波形的产生与变换、测量与控制、定时电路、家用电器、电子玩具、电子乐器等方面有广泛的应用。
多谐振荡器的工作原理多谐振荡器是能产生矩形波的一种自激振荡器电路,由于矩形波中除基波外还含有丰富的高次谐波,故称为多谐振荡器。
多谐振荡器没有稳态,只有两个暂稳态,在自身因素的作用下,电路就在两个暂稳态之间来回转换,故又称它为无稳态电路。
由555定时器构成的多谐振荡器如图1所示,R1,R2和C是外接定时元件,电路中将高电平触发端(6脚)和低电平触发端(2脚)并接后接到R2和C的连接处,将放电端(7脚)接到R1,R2的连接处。
由于接通电源瞬间,电容C来不及充电,电容器两端电压uc为低电平,小于(1/3)Vcc,故高电平触发端与低电平触发端均为低电平,输出uo为高电平,放电管VT截止。
简易电子琴的设计[优秀范文五篇]
![简易电子琴的设计[优秀范文五篇]](https://img.taocdn.com/s3/m/51a3f65aa36925c52cc58bd63186bceb19e8ed12.png)
简易电子琴的设计[优秀范文五篇]第一篇:简易电子琴的设计毕-1毕业设计任务书专业:班级:学生签名:一、设计题目简易电子琴的设计二、设计内容要求和技术参数(1)要求能够发出1、2、3、4、5、6、7等七个音符。
(2)使用元件:AT89C51、LM324,喇叭,按键等三、设计应完成的技术资料(1)写出设计过程(包括原理、方案)(2)系统硬件图并描述各部分的功能(3)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高(4)写出此次设计的心得体会四、设计考核的主要知识与技能本课题是电子技术与单片机混合的综合性课题,主要考核《电子技术》与《单片机》的基本知识和应用能力。
五、设计时间:六、指导教师签名:第二篇:简易电子琴电路的设计电子综合实训任务书学生姓名:专业班级:指导老师:易迎彦工作单位:武汉理工大学理学院题目:简易电子琴电路的设计初始条件:直流可调稳压电源一台、万用表一块、面包板一块、元器件若干、剪刀、镊子等必备工具要求完成的主要任务:(包括电子综合实训工作量及其技术要求以及说明书撰写等具体要求)1、技术要求:设计一个玩具电子琴,设8个琴键,分别代表1、2、3、4、5、6、7、į八个不同音符,每按下一个琴键,扬声器发出一个音符的声音。
演奏时的音量和节拍可以调节2、主要任务:(一)设计方案(1)按照技术要求,提出自己的设计方案(多种)并进行比较;(2)以CC7555时基集成电路为主,设计一个玩具电子琴电路(实现方案);(3)依据设计方案,进行预答辩;(二)实现方案(4)根据设计的实现方案,画出电路逻辑图和装配图;(5)查阅资料,确定所需各元器件型号和参数;(6)在面包板上组装电路;(7)自拟调整测试方法,并调试电路使其达到设计指标要求;(8)撰写设计说明书,进行答辩。
3、撰写电子综合实训说明书:封面:题目,学院,专业,班级,姓名,学号,指导教师,日期任务书目录(自动生成)正文:1、技术指标;2、设计方案及其比较;3、实现方案;4、调试过程及结论;5、心得体会;6、参考文献成绩评定表时间安排:电子综合实训时间:19周-20周19周:明确任务,查阅资料,提出不同的设计方案(包括实现方案)并答辩; 20周:按照实现方案进行电路布线并调试通过;撰写电子综合实训说明书。
简易电子琴(NE555,LM386)

课程设计说明书课程设计名称:模拟电路课程设计课程设计题目:简易电子琴模拟电路课程设计任务书题目简易电子琴内容及要求①产生e调8个音阶的振荡频率,分别由1、2、3、4、5、6、7、0号数字键控制;②其频率分别为:1:261.6、2:293.6、3:329.6、4:349.2、5:392.0、6:440.0、7:439.9、0:523;③利用集成功放放大该信号,驱动扬声器;④设计一声调调节电路,改变生成声音的频率。
进度安排第7周:查阅资料,学习仿真软件,确定方案,完成原理图设计及仿真;第8周:领元器件、仪器设备,制作、焊接、调试电路,完成系统的设计;第9周:检查设计结果、撰写课设报告。
音乐在人类社会扮演着重要的角色,传统的乐器学习难度大且价格高昂,而一些简易的电子乐器价格相对便宜,能满足一般爱好者需求。
故研制电子乐器具有一定社会意义。
本次课程设计中,采用NE555和LM386功率放大器来完成设计要求。
利用555定时器构成多谐振荡器,通过8个按键控制不同的RC组合使其产生不同频率八个基本音阶的脉冲信号波,通过LM386功率放大器驱动扬声器,即可发出八个音阶的音乐。
关键词:简易电子琴、NE555、LM386、8个音阶第一章系统组成 (1)1.1系统框图 (1)1.2系统介绍 (1)第二章各模块设计 (2)2.1按键开关模块 (2)2.2振荡器模块 (2)2.3扬声器模块 (3)第三章仿真图及分析 (4)3.1仿真波形图 (4)3.2仿真结果分析 (7)第四章设计结果分析 (8)第五章实验小结 (9)参考文献 (10)附录A 元件清单 (11)附录B 焊接实物图 (12)第一章 系统组成1.1系统框图图1.1系统框图采用555集成定时器组成简易电子琴,整个电路由振荡器、LM386功放器、扬声器和按键开关等部分组成。
主振荡器是由555定时器,八个按键开关,外接电容C1、C2,外接电阻R8以及R1-R7(用8个可调电阻调成所需电阻元件)等元件组成。
电子琴入门教程(完整版)

电子琴入门教程(完整版)一、了解电子琴电子琴是一种电子乐器,它模拟了多种乐器的声音,并通过键盘进行演奏。
与传统的钢琴相比,电子琴具有更多的功能和音效,适合初学者和音乐爱好者。
二、电子琴的选购1. 音色:选择音色丰富、逼真的电子琴,能够更好地模拟各种乐器的声音。
2. 键盘:键盘的数量和触感对于演奏的舒适度和准确性有很大的影响。
一般来说,初学者可以选择61键的电子琴。
3. 功能:根据个人需求选择功能丰富的电子琴,如内置音乐库、录音功能、节拍器等。
三、电子琴的基本操作1. 开机与关机:按下电源按钮,电子琴即可开机。
使用完毕后,按下电源按钮关机。
2. 音色选择:通过音色选择按钮或旋钮,可以选择不同的音色。
3. 音量调节:通过音量旋钮或按钮,可以调节电子琴的音量。
4. 节拍器:打开节拍器功能,可以帮助初学者练习节奏感。
四、电子琴的基本演奏技巧1. 手指姿势:将手指自然弯曲,指尖轻轻放在键盘上,避免用力过猛。
2. 音阶练习:从简单的音阶开始练习,熟悉键盘的布局和手指的移动。
3. 和弦练习:学习和弦的构成和演奏方法,提高演奏的丰富性和表现力。
5. 音乐作品演奏:选择一些简单的音乐作品进行演奏,逐渐提高演奏水平。
五、电子琴的保养与维护1. 清洁:定期使用软布擦拭键盘和琴体,避免灰尘和污垢的积累。
2. 避免潮湿:将电子琴放置在干燥通风的环境中,避免潮湿和阳光直射。
3. 防止碰撞:避免将电子琴放置在容易碰撞的地方,以免造成损坏。
4. 电源管理:在不使用电子琴时,及时关闭电源,节省能源并延长使用寿命。
六、音乐理论知识的学习1. 音乐符号:了解并掌握音乐符号的含义,如音符、休止符、节奏等。
2. 音阶与和弦:学习音阶的构成和和弦的进行,提高对音乐的理解和演奏能力。
3. 调性与调号:了解调性与调号的关系,能够更好地理解和演奏不同调性的音乐作品。
4. 音乐风格:了解不同音乐风格的特点,如古典、流行、爵士等,培养自己的音乐品味。
单片机课设设计论文:基于STC89C51单片机的简易电子琴设计

单片机课程设计论文题目:基于单片机的简易电子琴设计学院:机电工程学院专业:电气工程及其自动化姓名: ### ### ###指导教师:完成日期: 2012-12-27目录摘要 (1)绪论 (2)1方案论证 (3)1.1原理图 (3)1.2主体方案 (3)1.3系统方案设计绍 (4)1.3.STC89C51简介 (5)1.3.1单片机工作原理 (8)1.3.2数码管 (13)2实现过程 (14)2.1.1 程序设计内容 (14)2.1.2 I/O并行口直接驱动LED显示 (14)2.2 音乐产生的方法 (15)2.2.1 原理 (15)2.2.2 程序框图 (16)3全文总结 (17)3.1结束语 (18)参考文献 (19)附录 (20)1.电路原理图 (20)2.程序框图 (21)3.系统流程图 (22)4.语言源程序 (23)摘要在现代各种生活中,电子琴作为一种音乐型玩具,广泛用于与人们的日常生活中。
市场上有各种各样的电子琴。
特别是日本产的,音质优美,它是有专门的音乐控制芯片制造的。
由于其价格较贵,无法大面积普及,且功能单一。
用89c51作为主控中心,研制一种简易的微型电子琴,尽可能地体现较好的音质来,是一种可做的尝试。
以单片机为核心设计的简易电子琴系统,由按键扫描电路、声音产生驱动电路、复位电路、等模块组成的,是一种比较实用、廉价的电子玩具。
本论文所设计的简易电子琴,它分为两大部分,硬件电路的设计和软件的设计。
硬件电路的设计以AT89S51单片机为控制主板,辅以外围的扩展设备蜂鸣器、矩阵键盘、共阳数码管,形成一个可被控制的显示系统。
软件设计通过控制单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音.再利用延迟来控制发音时间的长短,即可控制音调中的节拍.把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,然后作成表格存放在储存器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该频率方波的持续时间.当延迟常数到时,再查下一个音符的定时常数和延迟常数.依次进行下去,就可演奏悦耳动听的音乐.主要实现 1》能够发出1.2.3.4.5.6.7等七个音符。
基于51单片机的简单电子琴代码

基于51单⽚机的简单电⼦琴代码#include <AT89X52.h>sbit P10=P1^0;//⾼⾳阶,红灯sbit P11=P1^1;//中⾳阶,黄灯sbit P12=P1^2;//低⾳阶,绿灯sbit P13=P1^3;//蜂鸣器控制端⼝sbit P31=P3^0;//低⾳阶按键⾏sbit P32=P3^1;//中⾳阶按键⾏sbit P33=P3^2;//⾼⾳阶按键⾏sbit P35=P3^4;//播放⾳乐按键unsigned int i,j,k=0,l=0;unsigned char count1=0xff,count0=0x50;/*********************************数码管码表(P0)***********************************/unsigned char Tab[]={0XBF,0X06,0X5B,0X4F,0X66,//数码管0~40X6D,0X7D,0X07,0X7F,0X6F,//数码管5~90X77,0X7C,0X39,0X5E,0X79,0X71,0X00};//数码管A~F/************************************⾳阶控制**************************************/music_data_high[]={0xf8,0xf9,0xfa,0xfa,0xfb,0xfb,0xfc,//数组0~6 低⾳0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfe,//数组7~13 中⾳0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff};//数组14~20 ⾼⾳music_data_low[]= {0xf3,0xb8,0x15,0xb9,0x4a,0xcf,0x0c,//数组0~6 低⾳0x44,0xac,0x09,0x34,0x82,0xc8,0x05,//数组7~13 中⾳0x4c,0x6d,0x94,0xad,0xd2,0xf3,0x02};//数组14~20 ⾼⾳/******************************************************函数名:delayms*参数:n 延时毫秒数*功能:延时N毫秒*****************************************************/void delayms(unsigned char n){unsigned char a,b;for(a=100;a>0;a--)for(b=10*n;b>0;b--);}/******************************************************函数名:key_check*参数:⽆*功能:扫描按键并运⾏对应功能*****************************************************/void key_check(void){P2=0xff;P3=0xfe;if(P2!=0xff){ delayms(20);if(P2!=0xff){P10=1;P11=1;P12=0;switch(P2){case 0xfe:EA=1;count1=0xf8;count0=0xf3;P0=Tab[1];delayms(50);break; case 0xfd:EA=1;count1=0xf9;count0=0xb8;P0=Tab[2];delayms(50);break; case 0xfb:EA=1;count1=0xfa;count0=0x15;P0=Tab[3];delayms(50);break; case 0xf7:EA=1;count1=0xfa;count0=0xb9;P0=Tab[4];delayms(50);break; case 0xef:EA=1;count1=0xfb;count0=0x4a;P0=Tab[5];delayms(50);break; case 0xdf:EA=1;count1=0xfb;count0=0xcf;P0=Tab[6];delayms(50);break; case 0xbf:EA=1;count1=0xfc;count0=0x0c;P0=Tab[7];delayms(50);break;defaule:break;}}}//else {EA=0;P13=1;}P2=0xff;P3=0xfd;if(P2!=0xff){ delayms(20);if(P2!=0xff){P10=1;P11=0;P12=1;switch(P2){case 0xfe:EA=1;count1=0xfc;count0=0x79;P0=Tab[1];delayms(50);break; case 0xfd:EA=1;count1=0xfc;count0=0xbc;P0=Tab[2];delayms(50);break; case 0xfb:EA=1;count1=0xfd;count0=0x09;P0=Tab[3];delayms(50);break; case 0xf7:EA=1;count1=0xfd;count0=0x44;P0=Tab[4];delayms(50);break; case 0xef:EA=1;count1=0xfd;count0=0xa2;P0=Tab[5];delayms(50);break;case 0xdf:EA=1;count1=0xfd;count0=0xd8;P0=Tab[6];delayms(50);break; case 0xbf:EA=1;count1=0xfe;count0=0x05;P0=Tab[7];delayms(50);break; // defaule:break;}}}//else {EA=0;P13=1;}P2=0xff;P3=0xfb;if(P2!=0xff){ delayms(20);if(P2!=0xff){P10=0;P11=1;P12=1;switch(P2){case 0xfe:EA=1;count1=0xfe;count0=0x4c;P0=Tab[1];delayms(50);break; case 0xfd:EA=1;count1=0xfe;count0=0x6d;P0=Tab[2];delayms(50);break; case 0xfb:EA=1;count1=0xfe;count0=0x9f;P0=Tab[3];delayms(50);break; case 0xf7:EA=1;count1=0xfe;count0=0xad;P0=Tab[4];delayms(50);break; case 0xef:EA=1;count1=0xfe;count0=0xd2;P0=Tab[5];delayms(50);break; case 0xdf:EA=1;count1=0xfe;count0=0xf3;P0=Tab[6];delayms(50);break; case 0xbf:EA=1;count1=0xff;count0=0x02;P0=Tab[7];delayms(50);break; // defaule:break;}}}if(P2==0xff) {EA=0;P13=1;}}/******************************************************函数名:play_music*参数:⽆*功能:播放⾳乐*****************************************************/void play_music(void){count1=music_data_high[0];count0=music_data_low[0];EA=1;delayms(50);EA=0;delayms(5);}/******************************************************函数名:TIM0_init*参数:⽆*功能:定时器0初始化*****************************************************/ void TIM0_init(void){TMOD=0x01;TH0=count1;TL0=count0;EA=1;ET0=1;TR0=1;}void timer0(void) interrupt 1 using 0{TH0=count1;TL0=count0;P13=!P13;}/***************************************************** *函数名:main*参数:⽆*功能:开跑程序*****************************************************/ void main(void){ P35=1;TIM0_init();//play_music();//while(1){ if(P35==0) {delayms(20);P35=1;play_music();} key_check();}}。
电子琴演奏技巧及基本操作步骤

电子琴演奏技巧及基本操作步骤电子琴作为一种流行的乐器,不仅音色丰富多样,而且操作简便,适合各种音乐风格的演奏。
本文将介绍电子琴的演奏技巧和基本操作步骤,帮助初学者更好地掌握这一乐器。
一、正确的姿势和手势在演奏电子琴时,正确的姿势和手势非常重要。
首先,坐在琴凳上,保持身体挺直,双脚平放在地面上,双手自然放在琴键上。
手指要稍微弯曲,轻轻触碰琴键,不要用力按下。
另外,要注意手腕和手臂的放松,不要过度用力。
二、掌握基本的琴键和音符了解电子琴的琴键布局是非常重要的。
标准的电子琴通常有88个琴键,从低音到高音依次排列。
在琴键上,白色琴键代表自然音,黑色琴键代表半音。
学习电子琴时,首先要熟悉自然音的位置和音名,例如C、D、E等。
然后,再学习半音的位置和音名,例如C#、D#、F#等。
通过不断的练习,掌握琴键的位置和音名,可以更快地找到所需的音符。
三、掌握和弦的演奏技巧电子琴不仅可以演奏单音,还可以演奏和弦。
和弦是由多个音符组成的,可以增加音乐的层次感和丰富度。
在演奏和弦时,要注意按下所有组成和弦的音符,同时保持手指的协调和平衡。
可以通过练习和弦的转换,提高手指的灵活性和速度。
四、运用琴音效果和音色电子琴具有丰富多样的琴音效果和音色,可以通过调节琴音效果和音色来改变音乐的表现力。
例如,可以选择不同的音色来演奏不同的曲风,如钢琴音色适合古典音乐,合成音色适合流行音乐等。
此外,还可以通过调节音量、音调、合唱效果等参数,使音乐更加生动和丰富。
五、掌握节奏和速度的控制在演奏电子琴时,掌握节奏和速度的控制是非常重要的。
节奏是音乐的灵魂,通过合理的节奏控制,可以使音乐更加有力和饱满。
速度是指演奏的快慢程度,可以根据音乐的要求进行调整。
在练习时,可以使用节拍器或节拍器软件来帮助掌握节奏和速度的感觉。
六、练习和演奏的方法学习电子琴需要坚持不懈的练习和演奏。
可以选择一些简单的曲目作为练习和入门,逐渐提高难度。
在练习时,要注意每个音符的准确性和连贯性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1概述 (1)2方案设计 (2)2.1系统设计要求 (2)2.2电子琴系统的组成 (2)2.3电子琴系统的设计思想 (2)2.3.1 硬件设计思想 (2)2.3.2 软件设计思想 (3)3硬件电路设计 (4)3.1系统方案 (4)3.2系统功能框图 (5)3.3功能模块详细设计 (5)3.4主要芯片功能描述 (9)4 系统软件设计 (10)4.1主程序流程图 (10)4.2源程序 (12)4.3设计总结 (16)5 仿真与调试 (17)结束语 (19)参考文献 (20)1概述单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),单片机芯片常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
它最早是被用在工业控制领域。
由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。
其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列单片机系统。
因为简单可靠而性能不错获得了很大的好评。
尽管2000年以后ARM已经发展出了32位的主频超过300M的高端单片机,直到目前基于8031的单片机还在广泛的使用。
在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。
事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。
2方案设计2.1 系统设计要求本系统主要实现电子琴的基础操作。
关于声音的处理,采用使用说明中的响声音的方法,使用汇编语言,利用定时器来控制频率,而每个音符的符号只是存在我自己定义的表中。
具体要求如下:(1)要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。
(2)用键盘作出电子琴的按键,每键代表一个音符,该设计只有中音音段。
(3)各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。
(4)用汇编语言编程实现程序设计。
(5)利用查表,中断等方式实现目的。
(6)系统的各各功能模块要清楚,有序。
(7)程序运行时有友好的用户界面。
2.2 电子琴系统的组成单片机因体积小、功能强、价格低廉而得到广泛应用。
AT89C51单片机设计微型电子琴的方法,仅需AT89C51最小系统,扩展一组小键盘,再加一片LM386做音频小功放,输出到扬声器;电源由变压器,整流二极管,电容及稳压器组成;另外,再接一组发光二极管用来指示按键的按下与否。
由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,实际上就是把每个按键所对应的值经过处理后发给单片机,再在单片机内把数字当作指针指向所对应的音符。
2.3 电子琴系统的设计思想2.3.1 硬件设计思想电子琴的原理框图如图一所示。
它由以下几个部件组成:单片机AT89C51、电源、4*4的16个按钮矩阵、音频放大模块。
电源部分:电源部分有二部分组成。
一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由3V的电池供电,以保证停电时正常走时。
正常情况下电池是不提供电能的,以保证电池的寿命。
2.3.2 软件设计思想本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整或定闹设置程序三大模块。
在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。
定时中断模块我们可以用语句:MOV TMOD ,#01H 写控制数MOV TH0 ,#0XH 写定时常数SETB TR0启动TR0SETB ET0允许T0SETB EA开放CPU中断关于声音的处理,第一种方法是使用汇编语言,利用定时器来控制频率,而每个音符的符号只是存在我自己定义的表中。
音符的频率是通过查表得到的(见表2-1)。
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
现在以单片机12MHZ晶振为例,列出高中低音符与单片机计数T0相关的计数值如表2-1所示.表2-1采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:TABLE:DW 64021,64103,64260,64400DW 64524,64580,64684,64777DW 64820,64898,64968,65030DW 65058,65110,65157,651783硬件电路设计3.1 系统方案通过电子琴按键随意键入所要表达的音符,作为电平送给主体电路,中央处理器通过识别,编译,最后解码输出音符,再通过功放电路进行放大,最后在扬声电路中发出有效的声音。
通过这样可以不断的弹奏音乐。
嵌入式电路由电源电路,按键电路,LED显示电路,音频放大电路和两个功能键组成,通过功能键可以选择播放音乐。
3.2 系统功能框图该系统的主要模块由五个部分组成,具体关系如图3-1所示:单片机电子琴总体框图图3-13.3 功能模块详细设计系统主要功能模块由以下几部分组成:1、电源电路设计从图3-2可知,无论是AT89C51单片机工作电源、二极管还是数码管的驱动,都要用到+5V的直流电源,所以,一个稳定的、持续的+5V直流电源对本系统十分重要。
本系统运用桥式整流电路,将交流转换为直流,为各部分电路提供恒定的+5V直流。
模拟部分和数字部分分别采用一个独立的稳压管供电,保证电路的稳定性和抗干扰。
图3-22 . 键盘控制电路设计本系统采用独立式按键方式来实现键盘的。
独立式按键是指直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生相互影响。
如上图所示,当图中的某一个键闭合时,相应的I/O口线变为低电平。
当程序查询到为低电平的I/O口线时,就可以确定处于闭合状态的键。
图3-33、音频放大电路设计LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。
为使外围元件最少,电压增益内置为20。
但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。
输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。
LM386的封装形式有塑封8引线双列直插式和贴片式。
其追求的主要目标是在失真许可的限度内,高效率地为终端负载提供尽可能大的输出功率。
该系统中音频放大电路的设计如图3-6所示:图3-44. 复位电路设计复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。
RST引角是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期以上。
整个复位电路包括芯片内外两部分。
外部电路产生的复位信号(RST)施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样。
然后才得到内部复位操作所需要的信号。
复位电路的基本功能是系统上电时提供复位信号直至系统电源稳定后撤销复位信号为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位.复位操作有上电自动复位和按键手动复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的.这样只要电源的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化.本设计采用按键手动复位方式。
而该方式又分为电平方式和脉冲方式。
其中按键电平方式是通过使复位端经电阻与电源接通而实现的。
而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。
本设计采用按键电平复位方式,具体电路图如下:图3-5图中9端口与单片机复位信号(RST)相连。
5. 时钟电路设计时钟电路用于单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的按时序进性工作。
而时序所研究的则是指令执行中各信号之间的相互直接关系。
1)时钟信号的产生在MCS—51芯片内部有一个高增益反向放大器,其输入端为芯片引脚XTAL1,其输出端引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。
如图3-9所示。
图3-6除使用晶体振荡器外,如对时钟频率要求不高,还可以用电感或陶瓷谐振器代替。
电路中的电容C1和C2一般取30pF左右,而晶体的振荡频率范围通常是1.2MHz~12MHz,晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。
但反过来运行速度快堆存储器的速度要求就高,对印刷电路板的工艺要求也就高(线间寄生电容要小)。
MCS—51在通常应用情况下,使用振荡频率为6 MHz 的石英晶体,而12 MHz 主要是在高速串行通信的情况下才使用。
随着技术的发展,单片机的时钟频率也在逐步提高,先在高速芯片已达40 MHz 。
定时振荡器的工作可由专用寄存器PCON 的PD位进行控制,把PD 位置“1”,振荡器停止工作,系统进入低功耗状态。
2)引入外部脉冲信号在由多片单片机组成的系统中,为了个单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。
这时外部的脉XTAL2引脚注入,其连接如图3-10所示。