南京机电职业技术学院毕业设计(论文)题日 系 电子系 专业 应川电子技术 姓名 张培亭 学号 G0910109指导教师 吕彬森 2012 年 1 月 14随着社会的发展进步,音乐逐渐成为我们生活中很重要 的一部分,有人曾说喜欢音乐的人不会向恶我们都会抽空 欣赏世界名曲,作为对精神的洗礼本论文设计一个基于单 片机的简易电子琴我们对于电子琴如何实现其功能,如声 音强弱控制、节拍器、自动放音功能等等也很好奇电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器它在现代音乐扮演着重要的角色,单片机具有 强大的控制功能和灵活的编程实现特性,它已经溶入现代人 们的生活中,成为不可替代的一部分本文的主要内容是用STC89C52单片机为核心控制元件,设计一个电子琴以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模 块,在主控模块上设有16个按键和扬声器本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠, 性价比较高等,具有一定的实用和参考价值关键词:STC89C52单片机 音色 节拍器 自动放立目录引言 5一总体设计一 61简易电子琴的工作原理 —62简易电子琴原理图 -73 STC89C52 芯片 83.1 STC89C52 芯片简介 83.2 STC89C52芯片管脚图 83.3 STC89C52芯片主要功能特性 94 4X4行列式键盘 94.14X4行列式键盘的识别与显示 94.2 4X4行列式键盘与STC89C52芯片的连接 104.3键盘识别程序 104.4键盘识别程序框图…… —115音频放大器电路 …… 125.1音频放大器电路原理图 125.2 LM386-N芯片 125.2.1 LM386 简介 125.2.2 LM386 引脚图 125.2.3 LM386 特性 126音乐产生的方法 …… 136. 1原理 136.2音乐发声程序框图 15三 设计心得 16四 致谢 17五参考文献 17引言单片微型计算机室大规模集成电路技术发展的产物,属第四代电子计算机, 它具有高性能、高速度、体积小、价格低、稳定可靠、应用广泛的特点。
它的应 用必定导致传统的控制技术从根本上发牛变革因此,单片机的开发应用已成为 高科技和工程领域的一项重大课题电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器它在现 代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性, 它已经融入现代人的生活当中,成为不可替代的一部分本文的主要内容是用 STC89C52单片机为主要核心控制元件,设计一个电子琴以单片机为主控核心, 与键盘、扬声器的模块组成核心主控制模块,在主控制模块上设有16个按键和扬 声器本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电 子琴系统硬件组成利用单片机产生不同频率來获得我们要求的音阶,最终可随 意弹奏想要表达的音乐并且本文分别从原理图,主要芯片,各模块原理及各模 块的程序的调试来详细阐述一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我 们就可以利用不同的频率的组合,即可构成我们所想要听的音乐了,当然对于单 片机來产生不同的频率非常方便,我们可以利用单片机的定时/计数器TO來产生 这样方波频率信号,因此,我们只要把-首歌的音阶对应频率关系弄正确即可基于单片机的简易电子琴—、总体设计1、简易电子琴的工作原理大家都知道半物体振动吋,能够发出声音。
振动的频率不同,声音的音调就 不同在简易电子琴里,虽然没有振动的弦、簧、管等物体,却有许多特殊的电 装置,每个电装置一工作,就会使喇叭发出一定频率的声音半按动某个琴键时, 就会使与它对应的电装置工作,从而使喇叭发出某种音调的声音简单的说就是按键触发信号发给处理器,再由处理器调用音色库音色通过功 放电路输出或者通过数码接口进行数字输出控制面板上的按钮来选择处理器对 音色、音量、输出方式、伴奏的控制振荡器是根据需要产生一定频率的振荡信号,振荡信号通过分频器分解成不 同频率的信号输送到放大器,放大器将信号放大,推动扬声器发出声音键盘实 际上就是一些开关,如果没有键盘,许多种频率的信号一齐进到放大器里,通过 扬声器发出的声音就会乱七八糟,不成音乐按下键盘的一支键,就等于接通一 只开关,只允许某一种频率的信号通过到放大器里去,扬声器就发出一个音来 这样,按照一定的演奏规律来按键,就能奏岀美妙的音乐来电源的任务是给各 部分供电压控振荡器的输出Uo接至相位比较器的一个输入端,其输出频率 的高低由低通滤波器上建立起来的平均屯压Ud大小决定施加于相位比较器另 一个输入端的外部输入信号Ui与来自压控振荡器的输出信号Uo相比较,比较 结果产生的误差输出电压U中正比于Ui和Uo两个信号的相位差,经过低通滤 波器滤除高频分量后,得到一个平均值电B Udo这个平均值电压Ud朝着减小 Co输出频率和输入频率Z差的方向变化,直至Vco输出频率和输入信号频率获 得一致。
这时两个信号的频率相同,两札I位差保持恒定(即同步)称作相位锁定2、简易电子琴原理图|1I—-PQofe Sgcz^d勺D可―倉胃巳s 3*8PQo匕rCQoS-HI—古<3冬mb—r^ r*> r^ f—5dddddN—915S: S2•- d |VVT>P□ Al_E7Pf
片 Flash允许程序存储器在系统可 编程,亦适于常规编程器在单芯片上,拥有灵巧的8位CPU和在系统可编 程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解 决方案AT89S52具有以下标准功能:8k字节Flash, 256字节RAM, 32位 I/O 口线,看门狗定吋器,2个数据指针,三个16位 定吋器/计数器,一个6 向量2级中断结构,全双工申行口,片内晶振及吋钟电路另外,AT89S52可 降至OHz静态逻 辑操作,支持2种软件可选择节电模式空闲模式下,CPU停 止工作,允许RAM、定时器/计数器、串口、中断继续工作掉电保护方式下, RAM内容被保存,振荡器被冻结,单片机一■切工作停止,直到下一•个中断或硬件 复位为止8位微控制器8K字节在系统可编程Flash AT89S523. 2 STC89C52芯片管脚图o cPi .2 CP1.3 匚匸(MOSI) C
H前微机系统中使用的键盘按 其功能不同,通常可分为编码键盘和非编码键盘两种基本类型编码键盘:键盘本身带有实现接口主耍功能所需的硬件电路不仅能H动检 测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对应的 键码(如ascii码)送往CPU所以,编码键盘接口简单、使用方便但由于硬 件电路较复杂,因而价格较贵非编码键盘:键盘只简单地提供按键开关的行列矩阵有关按键的识别、键 码的确定与输入、去抖动等功能均由软件完成H前微机系统中,-•般为了降低 成本大多数采用非编码键盘键盘接口必须具有去抖动、防串键、按键识别和键码产生4个基本功能1) 去抖动:每个按键在按下或松开时,都会产生短时问的抖动抖动的持 续时间与键的质量相关,一•般为5—20mm所谓抖动是指在识别被按键是必须避 开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误去抖问 题可通过软件延吋或硬件电路解决2) 防申键:防串键是为了解决多个键同吋按下或者前一-按键没有释放又 有新的按键按下吋产生的问题常用的方法有双键锁定和N键轮回两种方法双 键锁定,是为有两个或两个以上的按键按下时,只把最后释放的键当作有效键并 产生相应的键码。
N键轮回,是当检测到有多个键被按下时,能根据发现它们的 顺序依次产生相应键的键码3) 被按键识别:如何识别被按键是接口解决的主要问题,一-般可通过软 硕结合的方法完成常用的方法有行扫描法和线反转法两种行扫描法的基本思 想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此, 需要设置入口、输岀口一•个,该方法在微机系统中被广泛使用线反转法的基本 思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输 入/输出端口4) 键码产生:为了从键的行列坐标编码得到反映键功能的键码,一•般在 内存区中建立一个键盘编码表,通过查表获得被按键的键码4. 2 4X4行列式键盘与STC89C52芯片的连接用STC89C52的并行口 P0接4x4矩阵键盘,以P0.0-P0.3作输入线, 以P0.4-P0.7作输出线把“单片机系统”区域中的PO.O-PO. 7端口用8 芯排线连接到“4X4行列式键盘”区域中对应的端口上(如下图)4.3键盘识别程序(1)4X4矩阵键盘识别处理,每个按键有它的行值和列值,行值和列值的 组合就是识别这个按键的编码矩阵的行线和列线分别通过两并行接口和CPU通 信。
每个按键的状态同样需变成数字量“0”和“1” ,开关的一端(列线)通过 电阻接VCC,而接地是通过程序输出数字“0”实现的2)键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的 功能是什么;还要消除按键在闭合或断开时的抖动两个并行口中,一个输出扫 描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信 号共同形成键编码而识别按键,通过软件查表,查出该键的功能4.4键盘识别程序框图键盘识别程序框图。