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

合集下载

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

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

单片机创新实验报告--基于单片机的电子琴电路设计

单片机创新实验报告--基于单片机的电子琴电路设计

Liaoning Normal University开放实验室项目研究论文题目:基于单片机的电子琴电路设计学院:物理与电子技术学院专业:电子信息工程班级序号:学号:学生姓名:指导教师:2011年12月基于单片机的电子琴电路设计学生:指导教师:物理与电子技术学院电子信息工程专业2009级摘要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。

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

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

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

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

关键词:电子琴; AT89C51;编程;可控前言随着大规模集成电路的出现和发展,芯片生产厂家把中央处理器CPU,随机存取内存RAM,只读存储器ROM,定时器/计数器以及I/O接口电路等主要计算机部件,集成在一块集成电路芯片(硅片)上,形成芯片级计算机,称为单片微型计算机,直译为单片机。

单片机虽只是一个芯片,但从组成和功能上看,它已具有了微机系统的含义,又称微型处理部件MCU(Micro Controller Unit),单片机商品名称为微控制器单元。

虽然单片机出现的历史并不长,但发展十分迅猛,在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。

目前单片机已用于工业控制、机电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等各个领域,随着单片机性能的不断提高,它的应用将会更加广泛。

单片机技术发展非常快,所以目前的产品都致力于在功能全面、技术先进、操作简便、安全可靠、价格合理等方面进行仔细研究,精心设计;及时掌握最新的单片机技术,在条件允许的情况下,尽可能地利用最新的单片机技术来研制其应用系统,再利用单片机体积小、价格低、功能强等特点,以保证所设计的产品在未来的一段时间内仍具生命力。

基于单片机电子琴设计

基于单片机电子琴设计

基于单片机的简易电子琴设计一、设计目的本方案设计数码管显示音符的实验,使用基于AT89C51单片机,在数码管上显示按键所代表音符的数字,通过键盘可以调节低音,中音,高音的音符,按下数据蜂鸣器会发出相应音符发出的声音。

二、摘要:通过数码管显示音符的数字,按下键盘,蜂鸣器会发出声音进行提示关键词:单片机,键盘,蜂鸣器,数码管硬件电路设计1、单片机模块设计2、本次设计采用的是单片机AT89C51。

芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口,如图3.1所示。

左边那列逆时针数起,依次为1,2,3.....40,其中芯片的1脚顶上有一个凹点。

在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。

3、4、图AT89C51管脚图5、AT89C51单片机共有4组8位可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位,共32根。

每一根引脚都可以编程,比如用来控制电机、交通灯等,开发产品时就是利用这些可编程引脚来实现我们想要的功能。

6、P0口:8位双向I/O口线,名称为P0.0-P0.7;7、P1口:8位准双向I/O口线,名称为P1.0-P1.7;8、P2口:8位准双向I/O口线,名称为P2.0-P2.7;9、P3口:8位准双向I/O口线,名称为P3.0-P3.7。

10、本文单片机模块如图所示,主要是由单片机芯片与晶振和复位电路组成的。

是由单片机来控制整个系统,让我们的系统可以正常的运行。

2、数码管显示模块设计LED(Light Emitting Diode)发光二极管缩写。

LED数码管是由发光二极管构成的。

常见的LED数码管为“8”字型的,共计8段。

它由七个条形发光二极管和一个小圆点发光二极管组成,每一段对应一个发光二极管。

一般来说分共阳极和共阴极两种接法,如图4所示为八段LED数码管结构及外形。

共阳极LED数码管的发光二极管的阳极连接在一起,公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。

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

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

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

本文中所设计的具有存储功能的单片机电子琴是由STC89C51 单片机、小键盘、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 所示。

通常电子琴所输入的音阶值都先存入变量数组中,演奏时才逐一取出来播放。

基于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微秒。

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

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

22. 电子琴1 •实验任务(1 •由4X4组成16个按钮矩阵,设计成16个音 (2.可随意弹奏想要表达的音乐。

2. 电路原理图图 4.22.13. 系统板硬件连线(1.把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区 域中的SPK IN 端口上;5-IK Is s£ 52 嶺E 曾s B 9一10VLS 自rnrr空a §s ss §s 5S <區£§■& ■ss:官益CKHFC d §2R STTL CflFz i ■Air氏疽氐氐M w &氏u>'sS.WOiw-rsswo(2.把“单片机系统“区域中的 P3.0 — P3.7端口用8芯排线连接到“ 4X4行列式键盘”区域中的C1— C4 R1— R4端口上; 4.相关程序内容1 . 4X4 行列式键盘识别; 2. 音乐产生的方法;一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我 们就可以利用不同的频率的组合, 即可构成我们所想要的音乐了, 当然对于单片 机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这 样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

现在以单片机12MHZ 晶振为例,例出高中低音符与单片机计数 T0相关的计数值 如下表所示低音 0—19之间,中音在 20—39之间,高音在 40—59之间TABLE: DW 0,63628,63835,64021,64103,64260,64400,64524,0,0音符 频率(HQ 简谱码(T 值)音符 频率( HZ ) 简谱码(T 值) 低 1 DO 26263628 # 4 FA# 740 64860 #1 DO# 277 63731 中 5 SO 784 64898 低 2 RE 294 63835 # 5 SO# 831 64934 #2 RE# 311 63928 中 6 LA 880 64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 349 64103 中 7 SI 988 65030 # 4 FA# 370 64185 高 1 DO 1046 65058 低 5 SO 392 64260 # 1 DO# 1109 65085 # 5 SO# 415 64331 高 2 RE 1175 65110 低 6 LA 440 64400 # 2 RE# 1245 65134 # 6 466 64463 高 3 M 1318 65157 低 7 SI 494 64524 高 4 FA 1397 65178 中 1 DO 523 64580 # 4 FA# 1480 65198 # 1 DO# 554 64633 高 5 SO 1568 65217 中 2 RE 587 64684 # 5 SO# 1661 65235 # 2 RE# 622 64732 高 6 LA 1760 65252 中 3 M 659 64777 # 6 1865 65268 中 4 FA69864820高 7 SI196765283下面我们要为这个音符建立一个表格, 的数据有助于单片机通过查表的方式来获得相应DW 0,63731,63928,0,64185,64331,64463,0,0,0DW 0,64633,64732,0,64860,64934,64994,0,0,0DW 0,65058,65110,65157,65178,65217,65252,65283,0,0DW 0,65085,65134,0,65198,65235,65268,0,0,0DW 02、音乐的音拍,一个节拍为单位(C调)曲调值DELAY 曲调值DELAY调4/4 125ms 调4/4 62ms调3/4 187ms 调3/4 94ms调2/4 250ms 调2/4 125ms对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。

基于单片机系统的简易电子琴的设计与实现

基于单片机系统的简易电子琴的设计与实现

题目基于单片机系统的简易电子琴的设计与实现设计要求:1、能实现电子琴的基本功能,可以用弹奏出简单的乐曲。

手动演奏,且能手动演奏八度音的高低音,音色纯真。

2、演奏不同的音时,数码管有对应的显示。

3、功率不大于500mw,音质悦耳,无失真。

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

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

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

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

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

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

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

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

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

一、系统总体设计该设计要实现一种由单片机控制的电子琴,单片机工作频率为11.0592MHZ ,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号。

该设计具有16个音节的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。

由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。

如图1所示系统总体框图。

图1 系统总体框图键盘扫描AT89S52数码管显示扬声器播放音乐电源部分二、系统硬件设计(1)系统复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。

无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。

单片机课设设计论文:基于STC89C51单片机的简易电子琴设计

单片机课设设计论文:基于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等七个音符。

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

.. .单片机课程设计任务书题目: 基于单片机的简易电子琴电路设计初始条件:简易电子琴一般具有弹奏一个自然大调7声音阶的功能。

本课程设计,要求用AT89C51等系列芯片实现控制功能,利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用LM386放大电路实现低音频功率放大;最后用蜂鸣器进行播放“送别”。

要求完成的主要任务:1.设计任务根据已知条件,设计并制作一个简易电子琴。

2.设计要求(1)基本要求:①具备7个按键,能够分别较准确地弹奏出1~7八个音符。

②选择电路方案,完成对确定方案电路的设计。

计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。

用EWB或MULTISIM软件完成仿真,之后制作出相应实物,并按规定格式写出课程设计报告书。

(2)扩展要求:(在完成基本要求的前提下,学有余力的同学可完成)①能够弹奏出至少21个音符(三个音阶)。

②能够较便捷地完成音阶的升降。

(用另外三个按键开关实现正常、升8度和降8度的切换)。

时间安排:指导教师签名:年月日基于单片机的简易电子琴控制系统设计摘要目的:本设计主要研究基于AT89C52单片机的简易电子琴设计。

方法:它是以单片机作为主控核心,设置键盘、蜂鸣器等外围器件;另外还用到一些简单器件如:两位数码管,和NPN型三极管及电阻等。

利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后用蜂鸣器进行播放“送别”。

结果:本设计硬件部分主要由最小系统,按键系统模块、数码管显示模块和蜂鸣器模块组成。

其软件部分主要有主程序模块、定时中断程序、定时计数程序、显示程序。

(1)最小系统:它是单片机应用系统的设计基础。

它包括单片机的选择、时钟系统设计、复位电路设计、简单的I/O口扩展、掉电保护等。

(2)按键系统模块:本设计采用10个按键,其中7个按键用来显示7个音调,其它3个按键可以进行高低中音的切换,并自动播放已存歌曲。

(3)数码管显示模块:SM420562段选端接在单片机的P0口,两个位选端分别接在P2^0和P2^1。

(4)蜂鸣器模块:此电子琴发音电路是通过三极管驱动蜂鸣器发音,经过上拉电阻提高驱动能力。

结论:本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。

并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。

利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。

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

关键词:单片机定时中断蜂鸣器数码管c语言编程1 系统设计本项目所制作的电子琴控制系统是以51单片机为核心的系统,它主要包括模拟信号 主控芯片89C52、发音单元、显示模块、按键模块组成。

具体方案如图1-1所示:图1-1 系统模块采用AT89C52单片机作为主控芯片,设置键盘、蜂鸣器等外围器件,另外还用到一些简单器件如:两位数码管,和NPN 型三极管及电阻等。

利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用NPN 型三极管8550实现低音频功率放大;最后用蜂鸣器发音。

2 硬件电路设计2.1显示部分设计(1)数码显示方式数码显示有静态显示方式与动态显示方式两种。

工作在静态显示方式时,数码管的位线与电源一直相连,数码管中的二极管均处于通电状态,即在静态工作方式下,显示电路中数码管的位选线是同时选通,而数码管的段选线是独立输入。

工作在动态显示方式时,数码管的位线在扫描控制电路的控制下按设定顺序导通,即电路中的数码管是逐个接通电源,数码管的段选线以并联方式与译码电路联接,即在动态工作方式下,数码管不是同时导通显示而是按照设定顺序分时导通显示。

(2)八位数码管的结构本次课程设计的显示电路采用两位数码管进行显示,由于此设计采用的是共阴极的,使用时不加限流电阻为了显示字符,要为LED 显示器段码,除了组成8字形的字符的7段,另加上1个小数点位,共计8段,因此提供给LED 显示器的显示段码为1个字节。

图2-1 数码管电路2.2按键部分设计(1)操作键设计常用的按键有三种:机械触点式按键、导电橡胶式和柔性按键(又称触摸式键盘)。

机械触点式按键是利用机械弹性使键复位,手感明显,连线清晰,工艺简单,适合单件制造。

但是触点处易侵入灰尘而导致接触不良,体积相对较大。

导电橡胶按键是利用橡胶的弹性来复位,通过压制的方法把面板上所有的按键制成一块,体积小,装配方便,适合批量生产。

但是时间长了,橡胶老化而使弹力下降,同时易侵入灰尘。

柔性按键是近年来迅速发展的一种新型按键,可以分为凸球型和平面型两种。

柔性按键最大特点是防尘、防潮、耐蚀,外形美观,装嵌方便。

而且外形和面板的布局、色彩、键距可按照整机的要求来设计。

但是由于客观条件与经济能力有限,本系统采用机械触点式按键。

(2)键盘设计键盘在单片机应用系统中是一个关键的部件,它能实现向计算机输入数据,传送命令等功能,是人工干预计算机的主要手段。

键盘可以分为2类:独立连接式键盘和矩阵式键盘。

矩阵式键盘:单片机系统中,若按键较多时,通常采用矩阵式(也称行列式)键盘。

矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。

显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。

矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上.当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。

这是识别按键是否按下的关键。

独立连接式键盘:独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O 口线,每个按键的工作不会影响其它I/O口线的状态。

独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,然而,在按键较多时,I/O口线浪费较大,不宜采用。

独立式按键软件常采用查询式结构。

先逐位查询每根I/O口线的输入状态,如某一根I/O 口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。

由于本程序较为简单,为了使用方便及节省资源,选择独立式键盘。

下图为独立式键盘电路图:图2-2独立式键盘电路图(3)去抖动键盘编程中主要考虑去抖动的问题。

当测试表明有键被按下之后,紧接着就进行去抖动处理。

因为键是机械开关结构,由于机械触点的弹性及电压突跳等原因,在触点闭合或断开的瞬间会出现电压抖动。

为保证键识别的准确,在电压信号抖动的情况下不能进行行状态输入。

为此需进行去抖动处理。

去抖动有硬件和软件两种方法。

硬件方法就是加去抖动电路,从根本上避免抖动的产生。

软件消抖,在第一次检测到有键按下时,执行一段延时程序之后,再检测此按键,如果第二次检测结果仍为按下状态,CPU便确认此按键己按下,消除了抖动。

2.3发音部分设计如下图所示,发音电路是由蜂鸣器、三极管、上拉电阻构成。

由三极管来驱动扬声器发音的,同时加上拉电阻增强驱动电流,提高驱动能力。

图2-3独立式键盘电路图3 软件程序设计3.1 系统分析(1)系统软件的组成①键盘扫描程序:检测是否有按键按下,有按键按下则记录按下键的键值,并跳转至功能转移程序;无按键按下,则返回键盘扫描程序继续检测。

②功能转移程序:对检测到的按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳转至相应的功能程序,我们设计的功能程序有两种,即音色调节功能和自动播放乐曲的功能。

③琴键处理程序:根据检测到的按键值,查询音调表,给计时器赋值,使发出相应频率的声音。

④自动播放歌曲程序:检测到按键按下的是自动播放歌曲功能键后执行该程序,电子琴会自动播放事先已经存放的歌曲,歌曲播放完毕之后自动返回至键盘扫描程序,继续等待是否有按键按。

3.2 参数计算(1)发音原理若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。

利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。

就可在P1.0引脚上得到此频率的脉冲。

利用AT89C51的部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶。

(2)计算举例例如,频率为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)计算结果(1)单片机12MHZ晶振,中音符与计数T0相关的计数值如表所示:音符频率(HZ)计数值(T值)音符频率(HZ)计数值(T值)低1DO 262 63628 #4FA# 740 64860 #1DO# 277 63737 中5SO 784 64898 低2RE 294 63835 #5SO# 831 94934 #2RE# 311 63928 中6LA 880 64968 低3MI 330 64021 #6LA# 932 64994 低4FA 349 64103 中7SI 968 65030 #4FA# 370 64185 低1DO 1046 65058 低SO 392 64260 #1DO# 1109 65085 #5SO# 415 64331 高2RE 1175 65110 低6LA 440 64400 #2RE# 1245 65134 #6LA# 466 64463 高3MI 1318 65157 低7SI 494 64524 高4FA 1397 65178 中1DO 523 64580 #4FA# 1490 65198 #1DO# 554 64633 高5SO 1568 65217 中2RE 587 64633 #5SO# 1661 65235 #2RE# 622 64884 高6LA 1760 65252 中3MI 659 64732 #6LA# 1865 65268 中4FA 698 64820 高7SI 1967 65283采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:低音0-19之间,中音在20-39之间,高音在40-59之间。

相关文档
最新文档