电子琴设计报告.doc_第1页
电子琴设计报告.doc_第2页
电子琴设计报告.doc_第3页
电子琴设计报告.doc_第4页
电子琴设计报告.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1前言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用at89s51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器t0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。4.1.1 系统板上硬件连线设计 键盘模块硬件连线如图4-1所示:(1把“单片机系统“区域中的p3.0p3.7端口用8芯排线连接到“4x4行列式键盘”区域中的c1c4r1r4端键盘接口必须具有去抖动、防串键、按键识别和键码产生4个基本功能。(1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为520mm。所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解决。 (2)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。常用的方法有双键锁定和n键轮回两种方法。双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。n键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。 (3)被按键识别:如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入/输出端口。 (4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建立一个键盘编码表,通过查表获得被按键的键码。口上;(1 44矩阵键盘识别处理 (2每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和cpu通信。每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接vcc,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。4.2 音乐产生的方法4.2.1 原理 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器t0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将p1.0反相,然后重复计时再反相。就可在p1.0引脚上得到此频率的脉冲。 利用at89c51的内部定时器使其工作计数器模式(mode1)下,改变计数值th0及tl0以产生不同频率的方法产生不同音阶,例如,频率为523hz,其周期t1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将i/o反相,就可得到中音do(523hz)。 计数脉冲值与频率的关系式(如式4-1所示)是: nfi2fr 4-1式中,n是计数值;fi是机器频率(晶体振荡器为12mhz时,其频率为1mhz);fr是想要产生的频率。其计数初值t的求法如下: t65536n65536fi2fr 例如:设k65536,fi1mhz,求低音do(261hz)、中音do(523hz)、高音do(1046hz)的计数值。 t65536n65536fi2fr6553610000002fr65536500000/fr 低音do的t65536500000/26263627 中音do的t65536500000/52364580 高音do的t65536500000/104665059 单片机12mhz晶振,高中低音符与计数t0相关的计数值如表4-2所示 表4-2 音符频率表音符频率(hz)简谱码(t值)音符频率(hz)简谱码(t值)低1do26263628# 4 fa#74064860#1do#27763731中 5 so78464898低2re29463835# 5 so#83164934#2 re#31163928中 6 la88064968低 3 m33064021# 693264994低 4 fa34964103中 7 si98865030# 4 fa#37064185高 1 do104665058低 5 so39264260# 1 do#110965085# 5 so#41564331高 2 re117565110低 6 la44064400# 2 re#124565134# 646664463高 3 m131865157低 7 si49464524高 4 fa139765178中 1 do52364580# 4 fa#148065198# 1 do#55464633高 5 so156865217中 2 re58764684# 5 so#166165235# 2 re#62264732高 6 la176065252中 3 m65964777# 6186565268中 4 fa69864820高 7 si196765283 我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据 低音019之间,中音在2039之间,高音在4059之间 table: dw 0,63628,63835,64021,64103,64260,64400,64524,0,0 dw 0,63731,63928,0,64185,64331,64463,0,0,0 dw 0,64580,64684,64777,64820,64898,64968,65030,0,0 dw 0,64633,64732,0,64860,64934,64994,0,0,0 dw 0,65058,65110,65157,65178,65217,65252,65283,0,0 dw 0,65085,65134,0,65198,65235,65268,0,0,0 dw 0 音乐的音拍,一个节拍为单位(c调)(如表4-3所示) 表4-3 曲调值表曲调值delay曲调值delay调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4250ms调2/4125ms 对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。参考文献 2 刘乐喜.微机计算机接口技术及应用.华中科技大学出版社.2005.08 7 长德,李华,李东.mcs51/98系列单片机原理与应用.机械工业出版社.19978 李群芳,张士军,黄建.单片微型计算机原理与接口技术.电子工业出版社.20029 石东海等.单片机数据通信技术从入门到精通.西安电子科技大学出版社.2002参考文献 1 张淑清,姜万录等,单片微型计算机接口技术及应用,国防工业出版社,2003 3 冯博琴,微型计算机原理与接口技术,清华大学出版社,2004 4 张毅刚,mcs-51单片机应用设计,哈尔滨工业大学出版社,2004定时器中断服务程序 键盘扫描程序主程序原理图单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路.下面给出一个51单片机的最小系统电路图.说明复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,rst脚将会出现高电平,并且,这个高电平持续的时间由电路的rc值来决定.典型的51单片机当rst脚的高电平持续两个机器周期以上就将复位,所以,适当组合rc的取值就可以保证可靠的复位.一般教科书推荐c 取10u,r取8.2k.当然也有其他取法的,原则就是要让rc组合可以在rst脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍.晶振电路:典型的晶振取11.0592mhz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12mhz(产生精确的us级时歇,方便定时操作)单片机:一片at89s51/52或其他51系列兼容单片机特别注意:对于31脚(ea/vpp),当接高电平时,单片机在复位后从内部rom的0000h开始执行;当接低电平时,复位后直接从外部rom的0000h开始执行.3.1.2 引脚功能 vcc(40):5v; gnd(20):接地; p0口(3932):p0口为8位漏极开路双向i/o口,每引脚可吸收8个ttl门电流; p1口(18):p1口是从内部提供上拉电阻器的8位双向i/o口,p1口缓冲器能接收和输出4个ttl门电流; p2口(2128):p2口为内部上拉电阻器的8位双向i/o口,p2口缓冲器可接收和输出4个ttl门电流; p3口(1017):p3口是8个带内部上拉电阻器的双向i/o口,可接收和输出4个ttl门电流,p3口也可作为at89c51的特殊功能口; rst(9):复位输入。当振荡器复位时,要保持rst引脚2个机器周期的高电平时间; ale/prog(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论