基于51单片机的电子琴设计课程设计
基于51单片机的16键电子琴课程设计报告.docx

基于51单片机的16键电子琴课程设计报告.docx
本课程设计旨在设计一款基于51单片机的16键电子琴,利用该电子琴进行乐器演奏
练习。
课程设计的目标是通过51单片机的控制,使乐器的按键实现发声功能,即在按下按
键后,将发出相应的音调,且声音质量较为清晰、拒绝杂音;同时,设计外设及程序使乐
器美观并能在一定程度上体现主人的个性操作习惯,体现出一定程度上的可定制性和稳定性。
课程设计使用MCS-51单片机作为核心芯片,搭建计算机与电子琴模块之间的桥梁,
通过控制要求,配备8位延时定时器、8位计数器/比较器和定时/计数器模块的硬件模块,通过定时/计数器去控制音色的发声数量,再加以PCB板设计,完成各模块的焊接、网络
接线,通过连接各功能模块,实现51单片机控制芯片,实现程序控制电子琴的具体功能。
最后,课程设计尝试完成女声、爵士电子琴等曲目,通过实验,充分验证设计的可行性,并发现一些在设计过程中的不足,如欠缺外设模块,无法实现一些特殊功能等,给出
相应的改善思路,以供设计实现。
在设计过程中,综合运用硬件电路设计、程序设计思维,构建整个系统的总体构架,
实现相应的电子琴演奏功能,使得本次课程设计取得了一定的成果。
基于单片机的电子琴课程设计报告

课程设计报告课程名称单片机原理及应用设计题目电子琴的设计专业班级自动化1041姓名赵伟学号1004421112指导教师蔡长青起止时间2013.6.24-2011.7.12成绩评定电气与信息学院12/13学年第二学期《单片机控制系统设计与调试》课程设计任务书指导教师:蔡长青班级:自动化1041、2班地点:机房、单片机实验室(实训中心415)课程设计题目:基于51单片机原理的电子琴的设计一、课程设计目的1.灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计,到PCB制版,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。
2.能够上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。
3.独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问题的能力,为日后的毕业设计及科研工作奠定良好的基础。
二、课程设计内容(包括技术指标)本设计主要任务是设计一简易电子琴,利用所给键盘的1,2,3,4,5,6,7七个键,能够发出1,2,3,4,5,6,7等7个音符,具有一般演奏功能,同时利用第八个键具有自动播放已存曲目功能。
1. 电子琴及串口原理图的设计、PCB板的制作、焊接。
特别在焊接过程中认真、仔细,避免缺焊、漏焊。
2. 频率初值的计算。
会计算脉冲值与频率的关系。
正确计算出各音阶所对应的频率的初值。
3. 电子琴的工作过程分析。
(1)初始化过程启动时,首先是对定时器T0 进行初始化,设定它的工作状态,对于本系统将T0 设定为工作方式1;(2)按键检测过程初始化完成后,是判断是否有键按下,如果没有按键按下,则继续判断,如果有按键按下,延时一段时间在判断是否有键按下,若无按键按下返回继续判断,若确实有键按下则判断是哪个键按下;(3)声音播放过程根据按键的功能将计数初值装入定时器T0 、T1中中并启动T0 、T1,当T0定时完毕后,重新装入计数初值继续定时并将P3.3取反,再次定时完毕后再一次的装入计数初值继续定时并将P3.3取反,一直循环此操作直到按键释放为止,按键释放后停止T0工作并再次判断是否又有按键按下,并继续执行以前的过程。
基于51单片机的多功能电子琴的设计

基于51单片机的多功能电子琴的设计摘要电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键、一排LED灯和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
一、总体方案设计1、系统设计要求本系统分为三个部分,一个是音乐播放,一个是电子琴弹奏,和一个流水灯演示。
具体指标如下:1)要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。
2.)用键盘作出电子琴的按键,每键代表一个音符。
3)各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。
//4)固定音乐播放有按键控制:“播放”、“弹奏/停止”。
5)弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。
6)弹奏电子琴时,流水灯会不停的亮灭。
2、系统设计组成本系统分为两个部分,一个是音乐另一个就是电子琴。
音乐播放部分:乐音实际上是有固定周期的信号。
本文介绍用AT89C51的两个定时器(如T0,T1)控制,在P3.7脚上输出方波周期信号,产生乐音,通过矩阵键盘按键产生不同的音符,由此操作人员可以随心所欲的弹奏自己所喜爱的乐曲,同时,那排流水灯会不停的闪烁,当不想弹奏时通过按放歌键可以演奏事先存放在单片机中的几首动听的曲子供消遣。
当歌曲演奏完时,通过按复位键便可回到初始状态,这样就做出了一台微型电子琴。
由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
单片机应用课程设计--简易电子琴设计

delay(5);
if (key1 == 0)
{
key_in_flag = 0;
key_value = 4;
}
}
else
{
key_in_flag = 1;
}
key8 = 1;
key7 = 0;
if (key4 == 0)
{
delay(5);
if (key4 == 0)
{
key_in_flag = 0;
参考文献
[1] 赵鑫,蒋亮,齐兆群.数字电路设计[M].北京机械工业出版社,2005年6月第一版
[2] 苏家健,曹柏荣,汪志锋.单片机原理及应用技术[M].高等教育出版社
[3] 李朝青.单片机原理及接口技术[M].北京:北京航天航空大学出版色,2001
[4] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004
{
key_in_flag = 0;
key_value = 2;
}
}
else
{
key_in_flag = 1;
}
if (key2 == 0)
{
delay(5);
if (key2 == 0)
{
key_in_flag = 0;
key_value = 3;
}
}
else
{
key_in_flag = 1;
}
if (key1 == 0)
方案二: 采用AT89C51单片机进行控制,由于AT89C51不具备ISP功能, 因此Atmel公司已经停产在市面上已经不常见,况且其ROM只有4K在系统将来升级方面没有潜力。
方案三:采用AT89S52单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到8K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。
基于51单片机的复音电子琴课程设计报告

基于51单片机的复音电子琴课程设计X汇鹏课程组1班指导老师:宋荣摘要:本设计是基于数字电路为基础,以单片机技术为核心,软件设计采用模块化结构,采用C语言编程,通过按键控制,可以发出两个不同的声音,并实现音乐盒的功能。
内容上首先描述系统硬件工作原理,介绍各个接口模块的功能,而后介绍软件上的各个功能模块。
关键字:单片机,电子琴,STC90C51一绪论随着科学技术的迅速发展,尤其是在电子领域上的发展,让电器走进千家万户,越来越多的物件可以用电器用品代替,电子乐器渐渐代替传统乐器出现在众人眼前,电子乐器相比于传统乐器更轻便,也更加便宜,让乐器走进千家万户,这次制作的核心在于单片机,单片机体积小,性能好,造价便宜。
并且能实现强大的功能。
复音电子琴不仅能够实现复音效果,还能成为一个音乐盒,这也是得益于单片机的强大功能。
二设计要求与方案(一)设计要求1.能够实现电子琴的复音功能。
2.能够实现音乐盒的功能(二)设计方案1.关于电子琴的发声原理本作品采用了用单片机模块产生的频率进行输出,蜂鸣器作为输入,蜂鸣器收到来自单片机控制端口的不同频率的信号,会发出对应的声音频率,这就完成了从电信号转换成声音信号的过程。
2.关于电子琴的复音功能复音是指由许多纯音组成的声音。
复音的频率用组成这个复音的基音的频率来表示。
一般乐器发出的声音都是复音。
由于单片机程序执行是按照顺序执行,所以本作品利用两个单片机模块,一个单片机模块控制一个蜂鸣器,再用8个独立按键作为键盘,当两个不同按键被按下的时候,两个蜂鸣器能几乎同时发出这两个声音。
在空间中产生和弦效果。
使之相比于单音电子琴能使旋律变得更加丰富。
3.关于音乐盒功能按下按键后能够播放音乐。
利用单片机片内存储功能,通过软件编程的方式,将一些曲目编写在片内ROM里,通过按下控制键加普通按键,实现8个独立按键的功能转换。
4.关于单片机芯片的选择方案一:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM存储空间,能于3V 的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
基于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单片机的电子琴设计

以下内容根据各专业特点自行确定(如条件、资料、内容、任务、进度安排及要求等):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摘要随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。
我们都会抽空欣赏世界名曲,作为对精神的洗礼。
本论文设计一个基于单片机的简易电子琴。
我们对于电子琴如何实现其功能,如声音强弱控制、节拍器、自动放音功能等等也很好奇。
基于AT89C51的简易电子琴单片机课程设计

单片机课程设计题目名称:基于单片机的可演奏电子琴设计专业班级:学生姓名:学号:指导教师:成绩:评语:指导老师签名:日期:摘要电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89c51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
AbstractElectronic organ is a modern electronic music technology and the product is a new type of keyboard instruments. It played an important role in modern music. SCM has powerful control functions and flexible programming 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.目录摘要 (1)Abstract (1)1 系统概述 (3)1.1 课程设计的目的和意义 (3)1.2 本系统主要研究内容 (3)1.3 本系统主要研究目标 (4)1.4主要芯片简介 (4)2 方案论证 (4)2.1 控制模块选择方案 (4)2.2 按键模块选择方案 (5)3 方案的实现 (5)3.1系统实现的具体措施 (5)3.2系统硬件设计 (6)3.2.1 系统硬件总体设计 (6)3.2.2子系统(模块)一 (6)3.2.3子系统(模块)二 (7)3.2.4 子系统(模块)三 (8)3.3系统软件设计 (9)3.3.1系统软件总体设计 (9)3.3.2子程序(模块)一:LED显示 (9)3.3.3子程序(模块)二:扬声器 (10)3.3.4子程序(模块)三:矩阵键盘 (12)4 系统调试 (13)4.1 Proteus 简介 (13)4.2 keil 简介 (13)4.3 Proteus和Keil的联调 (14)5 设计心得 (15)参考文献 (16)附录1: (17)1 系统概述1.1课程设计的目的和意义单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录前言 (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 整体电路 (7)第3章电子琴系统软件设计 (9)3.1 系统硬件接口定义 (9)3.2 主函数 (10)3.2.1 主函数程序 (10)3.3 按键扫描及LED显示函数 (11)3.3.1 键盘去抖及LED显示子程序 (12)3.4 中断函数 (13)3.4.1 中断程序 (14)第4章电子琴和调试 (14)4.1 调试工具 (14)4.2 调试结果 (15)4.3 电子琴设计中的问题及解决方法 (16)第5章电子琴设计总结 (17)参考文献 (18)附录 (19)前言音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。
近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。
但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。
如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。
而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。
结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。
现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。
电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。
电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。
目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。
以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。
这就为电子琴的普及提供了方便。
二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。
本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。
关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。
第1章基于51单片机的电子琴设计1.1 电子琴的设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。
本系统主要是完成的功能:电子琴弹奏。
关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。
本设计的电子琴有以下要求:1.用键盘作出电子琴的按键,共7个,每键代表1个音符。
各音符按照符合电子琴的按键顺序排列;2.利用五彩小灯显示有按键按下及相对应的位置。
3.达到电子琴的基本功能,可以用弹奏出简单的乐曲;1.2 电子琴设计所用设备及软件本设计除了需要计算机,还会用到两款软件:仿真软件Proteus、编程软件Keil uVision4。
1.仿真软件Proteus的简介Proteus软件具有其它EDA工具软件的功能,诸如:原理布图、PCB自动或人工布线、SPICE电路仿真。
除此之外还有一些革命性的特点:互动的电路仿真、仿真处理器及其外围电路。
所实现的功能:数字电路仿真2.Keil uVision4的简介uVision4在uVision3 IDE的基础上,增加了更多大众化的功能:多显示器和灵活的窗口管理系统;系统浏览器窗口的显示设备外设寄存器信息;调试还原视图创建并保存多个调试窗口布局;多项目工作区简化与众多的项目。
所实现的功能:编写程序1.3 总体设计方案本系统采用AT89C51为主控芯片,因其精度较高,操作比较灵活,输入电路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。
其中,输入电路有7个独立按键,通过按键随意按下所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在扬声器中发出有效的声音。
由于需要显示的信息不多,显示电路未采用液晶屏显示,而是使用LED 管显示电路负责显示按下的琴键所对应的键值,这样既节省了成本了,又降低了编程难度。
如图1-1所示基于单片机AT89C51的电子琴电路,它主要由琴键控制电路、LED 显示电路、音频功放电路、时钟-复时钟复位电路和电源电路五部分所构成。
图1-1 电路的原理框图AT89C51 放大电路 按键模块 声音模块 LED 显示系统时间第2章系统硬件设计基于单片机AT89C51的电子琴电路由琴键控制电路、数码管显示电路、音频功放电路、时钟-复位电路和电源电路五部分所构成。
琴键控制电路采用了8输入与门芯片CD4068B,收集7个独立按键的开关状态信号,并触发单片机的外部中断来处理;而数码管显示电路负责显示按下的琴键所对应的键值;同时,音频功放电路也会播放琴键对应的音调;电源电路为整个电路提供能源。
2.1 琴键控制电路琴键控制电路作为人机联系的输入部分,也是间接控制数码显示和音频功放的重要组成部分。
键盘按照连接方式可以分为独立式和矩阵式键盘两类。
此次设计采用的是独立键盘。
独立式键盘的特点是一键一线,各键相互独立,每个键各接一条I/O口线,通过检测I/O输入线的电平状态,可判断出被按下的按键。
显而易见,这样电路简单,各条检测线独立,识别按下按键的软件编写简单。
适用于键盘按键数目较少的场合,不适用于键盘按键数目较多的场合,因为将占用较多的I/O口线。
独立式键盘电路如图3所示,8个独立按键分别对应一个I/O口线,当某一按键按下时,对应的检测线就变成了低电平,与其它按键相连的检测线仍为高电平,只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,很容易识别哪个键被按下。
图2-1 独立按键电路图2.2 音频功放电路如图2-2所示音频功放电路,它主要由三极管放大器和扬声器组成。
其中,扬声器具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和谐波失真小等优点,广泛应用于录音机和收音机之中。
电位器Rv1是用来调节声音的大小。
图2-2 音频电路2.3 时钟-复位电路时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。
AT89C51内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图2-3是AT89S51内部时钟方式的电路,C1和C2的典型值通常选择为30pF,石英晶体常选6MHz或12MHz的。
本设计采用内部时钟方式做时钟电路。
图2-3复位电路图2.4 LED显示电路本文设计中采用的是LED,LED(Light Emitting Diode)发光二极管缩写,它是半导体二极管的一种,可以把电能转化成光能。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
LED具有体积小,电压低,使用寿命长,价格低,亮度高,低热量等优点。
但是显示内容单一。
本文中采用它显示按键的键位。
如图2-4所示。
图2-4 LED显示电路图2.5 整体电路基于单片机AT89C51的电子琴电路由琴键控制电路、LED显示电路、音频功放电路、时钟-复位电路和电源电路五部分所构成。
琴键控制电路采用了7输入,收集7个独立按键的开关状态信号,并触发单片机的外部中断来处理;而LED显示电路负责显示按下的琴键所对应的键值;同时,音频功放电路也会播放琴键对应的音调;电源电路为整个电路提供能源。
如图2-5所示。
图2-5整体电路第3章电子琴系统软件设计系统功能的实现一般包括硬件部分和软件部分,一旦硬件确定下来,软件要实现的功能也随之确定。
而为使编程思路清晰,应先绘制程序流程图。
图3-1 电子琴系统流程图3.1 系统硬件接口定义系统硬件接口定义如表1所示表1 系统硬件接口定义3.2 主函数主函数流程图如图所示。
利用模块化的思想,主函数只执行初始化函数,对所需的I/O口、外部中断1、定时器0进行初始化配置。
音频处理函数和LED显示函数。
另外,键码的识别与刷新是通过中断函数来完成。
图3-2 函数流程图3.2.1 主函数程序void main(void){TMOD=0x01; //tmod 方式1ET0=1;EA=1;LED=0xff;KEY =0xff;while(1){if(KEY != 0xff){delay();key_scan();STH0=tab[MUSIC]/256; //设初始值STL0=tab[MUSIC]%256;TR0=1;}else{SPEAKER = 1;TR0=0;}}}3.3 按键扫描及LED显示函数由于本设计采用的是接触开关式按键,故不可避免存在机械抖动。
按键被按下是,其触点电压变化过程如图19所示。
这种抖动会使系统处于不稳定状态,故需要进行消抖处理。
抖动时间的长短和按键的机械特性有关,一般为5~10ms。
通常手动按下键然后立即释放,这个操作中稳定闭合的时间超过20ms,因此单片机在检测按键是否按下时都需要加上去抖动操作,有专门的去抖动电路或则芯片,但同用软件延时的方法也能轻易解决抖动问题,没必要添加多余的硬件。
本设计是用软件消抖方法编写一个消抖程序。
当按键按下去后,首先对其进行连续两次取样,如果两次都为低电平,则输出低电平;如果其中有一次高电平,则输出高电平。
本文所设计的显示为LED显示,当键盘得到低电平时,输出P1口的LED常亮。
以表示所指向的键盘动作。
3.3.1 键盘去抖及LED显示子程序void key_scan(void){if(KEY != 0xff){switch (~KEY)//显示的列位置{case 0x01:{MUSIC = 0;P0=0xfe;break;}case 0x02:{MUSIC = 1;P0=0xfd;break;}case 0x04:{MUSIC = 2;P0=0xfb;break;}case 0x08:{MUSIC = 3;P0=0xf7;break;}case 0x10:{MUSIC = 4;P0=0xef;break;}case 0x20:{MUSIC = 5;P0=0xdf;break;}case 0x40:{MUSIC = 6;P0=0xbf;break;}}}}3.4 中断函数中断函数用到了定时器中断。