毕业设计(论文)-带MP3播放功能的电子琴设计.doc_第1页
毕业设计(论文)-带MP3播放功能的电子琴设计.doc_第2页
毕业设计(论文)-带MP3播放功能的电子琴设计.doc_第3页
毕业设计(论文)-带MP3播放功能的电子琴设计.doc_第4页
毕业设计(论文)-带MP3播放功能的电子琴设计.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

毕业设计(论文)-带MP3播放功能的电子琴设计.doc.doc 免费下载

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

文档简介

学科分类号:_本科生毕业设计题 目(中文):带MP3播放功能的电子琴设计 学生姓名: 学号 系 部: 专业年级: 指导教师: 职 称: 助 教 湖南人文科技学院教务处制 湖南人文科技学院毕业设计 本人郑重声明:所呈交的本科毕业设计,是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本设计不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 作者签名: 二 年 月 日带MP3播放功能的电子琴设计摘 要:现今,电子产品融入了我们生活中的各个方面,而电子琴的产生突出了科技与音乐的完美结合,它在现代音乐的世界中起到非常重要的作用,用单片机控制实现的电子琴也广受人们的喜爱。而音乐播放器在现代生活中运用也越来越广泛,不论是公共场所还是个人家庭都不乏音乐播放的电子设备。如今,音乐播放和电子琴等多功能的结合也成为一种趋势。本设计为带MP3播放功能的电子琴,不仅可以播放音乐,还能实现音乐的弹奏,实现了电子琴功能多元化。本次设计实现了电子琴和音乐播放器的结合。以STC89C52单片机为控制核心,SD卡作为外存存放音乐的数据,TLC7528数模转换器把数字信号转换为音乐信号,TDA2822实现模拟信号放大,4*4矩阵键盘控制音乐弹奏和播放,蜂鸣器电路实现音乐输出,外围还接有电源电路、晶振电路、复位电路等,基本实现了弹奏与播放的结合。从而弥补了MP3不能弹奏和电子琴不能播放音乐之间的不足,使得这一设计更具有实用性,更有实际意义。关键词:MP3播放器;SD卡 ;4*4矩阵键盘 ;电子琴Design of Electronic Organ With MP3 Playing FunctionAbstract:Nowadays, electronic products into every aspect of our life, and produce electronic organ highlights technology and the perfect combination of music, it plays a very important role in the modern music world, using single-chip microcomputer control electronic organ implementation is also widely popular. The music player in modern life is used more and more widely. Now, it is a trend to combine with music player and electronic organ function. The design for the electronic organ with MP3 playing function, not only can play music, but also realize the music play, realize the diversification of the electronic organ.This design realizes the combination of electronic organ and music player. Taking STC89C52 micro controller as the control core, SD card as storage stored music data, TLC7528 digital-to-analog converter for converting digital signals into a music signal, amplifying the realization of analog signal TDA2822, 4*4 matrix keyboard to control the music playing and playing music, buzzer circuit output, peripheral is connected with the power supply circuit, crystal circuit, reset circuit, the basic realization of the play and play with. Problems which make up the MP3 cannot play and electronic organ can not play music, makes the design more practical, more practical.Key word:MP3 Player;SD Card;4*4 Matrix Keyboard;Electronic Organ目 录第一章 绪 论11.1 研究背景11.2 研究目的21.3 研究意义2第二章 系统总体设计32.1方案的选择32.1.1外存选择32.1.2键盘选择32.2系统研究的内容32.3系统流程框架图4第三章 硬件系统设计53.1 STC89C52单片机介绍53.2 USB供电及程序下载电路设计63.2.1 USB供电电路设计63.2.2 USB下载电路设计63.3音乐输出电路设计73.4 MP3模块电路设计83.4.1 TCL7528数模转换电路设计83.4.2 TDA2822功放电路设计93.5 SD卡读取电路设计103.6键盘控制电路设计103.7硬件设计小结11第四章 软件系统设计124.1软件设计总流程图124.2 SD卡驱动及音乐播放程序设计134.3单片机产生不同脉冲的原理及程序设计174.3.1不同脉冲产生的原理174.3.2单片机产生不同脉冲的程序设计174.4键盘扫描程序设计184.5软件设计小结19第五章 总结与展望20参考文献21致 谢22附录一 程序23附录二 原理图33附录三 实物图34第一章 绪 论 1.1 研究背景现今,电子产品融入我们生活中的各个方面,电子琴突出了它与音乐的完美结合,使其它在现代音乐中扮演着重要的角色起到重要重用,用单片机控制实现的电子琴也广受人们的喜爱。而音乐播放器在现代生活中运用也越来越广泛,不论是公共场所还是个人家庭都不乏音乐播放的电子设备。利用单片机控制比较简单,对于初学者来说,尤其对识谱的人来说是很容易弹奏的。这样就更大的提高了学习者的学习兴趣,迅速地提高了电子音乐的普及率。由于本课题定为基于单片机带MP3音乐播放功能的电子琴设计,那么不仅要使单片机可以播放音乐而且还能够弹奏自己想听的乐曲,使得设计更有吸引力,实现了电子产品不同功能的结合,增添设计的用意。随着电子科技的发展,在通信设备和生活内电子产品信息终端产品中,音乐播放功能是发展一个必然趋势。如我们常见的智能手机、电子词典、PDA一般都具有MP3的功能实现。网络数字音乐的风潮是由MP3所引起的,它是MPEGLayer3的缩写,狭隘的讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式。MP3本身是一种压缩与解压缩的计算方式,用来处理高压缩比的声音信息。而且在低码率条件下基本能达到CD的音效效果,使人耳听起来,感受到的音乐效果却没有什么不同,而文件大小却只有其十二分之一。这样的MP3随身听还可以当作一个小的移动存储设备来使用。在电子行业市场推动下,各个电子公司都推出了自己的MP3产品个大厂家都提出了不同的解决方案。除了MIC方案、TI软解压单芯片方案,还有台湾创品方案、美国SigmaTel 方案和TI的DA-250解决方案。这使得MP3播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔。而随着以法国、德国、意大利为代表的欧洲电子音乐和以美国为代表的电子音乐、计算机音乐早期得到了充分发展,国际上许多国家纷纷开始引入电子音乐研究与创作。六十年代,美国物理学家研制出了小型实用的电子音乐演奏设备。从此,首先在欧美地区,电子音乐演奏作为新型的乐器被音乐家特别是流行音乐家所采用并快速的流行起来,到当今21世纪,电子音乐演奏系统的发展已经经过了很多代产品,尤其是电气琴已经非常成熟,它的功能已经比较完善了8。本设计把电子技术与生活中的音乐相结合,可以是音乐播放器也可以是电子乐器,推动着科技改变生活。利用单片机控制音乐的弹奏和播放技术已经融入我们的生活,它的灵活性和便宜的价格也受人们的青睐。论文设计的演奏与播放结合只是单片机控制多功能的一种,这对进一步研究功能多元化的结合有很大的促进作用。1.2 研究目的本设计方案是基于STC89C52单片机的带MP3播放功能的电子琴,实现音乐存储播放,并通过控制模块实现上下曲音乐切换与暂停以及电子的琴弹奏。系统主要是以低电压低功耗的STC89C52 作为核心模块,外由SD卡存储模块、键盘控制模块、MP3模块等结合而成,实现音乐播放和弹奏结合为一体。1.3 研究意义本次设计为了实现低成本、多功能,而且操作简单的带MP3播放功能的电子琴。现在一般个人随身携带使用MP3只能听音乐而不能弹奏音乐,一些电子琴却也不能弹奏音乐,所以本设计把两者的功能结合,实现新的多功能电子琴。所以此次设计的突出优势是:(1)低成本。目前大部分MP3播放器要用DSP芯片对数据进行解码,对单片机的要求比较高,还要用到解码芯片,成本就相对的提高。而本系统采用通用单片机处理,通过软件的方法把存储在SD卡内的音乐数据传到单片机,然后经过数模转换放大就可以听见音乐,相对成本就比较低。(2)多功能。这是电子琴与播放器的结合,不仅有播放音乐的功能,还可以弹奏自己喜欢的乐曲,实现了电子琴功能的创新,更受人们的青睐。第二章 系统总体设计2.1方案的选择2.1.1外存选择方案一,系统采用CH375型号的USB模块,此模块能通用USB1.0或者USB2.0的移动U盘/移动硬盘。方便使用者对本系统的存储工具的携带,但是CH375外围电路比较复杂,价格较昂贵且驱动CH375模块时涉及USB枚举等系列问题。方案二,采用SD存储音乐数据,此方法也能实现相应的功能,而且电路设计比较,也比较便宜,由于SD卡模块的主要核心SD/MMC卡体积较细,所以使用是要多注意。还有SD卡对电源输出电流的要求比较高。综合考虑,要既能实现相应功能又能体现设计价格便宜,灵活性强、性价比更高的特点,所以本设计采用方案二。2.1.2键盘选择方案一:独立式键盘。此种键盘电路配置灵活,结构和编程都简单,通过查询即可识别出每只按键的状态来。但每个按键接单片机的一条I/O线,占用单片机I/O口资源多,浪费资源。多在单片机所需按键较少,I/O口资源充足时使用。方案二:矩阵式键盘。矩阵键盘电路占用I/O口较少,节约资源,编程麻烦,但有现有的程序块。多用在使用按键较多的电路中。本设计要完成十六个音阶的按键,以及功能键,需要的按键就比较多,所以选择方案二矩阵键盘来实现电子琴功能的16个音节,用方案一独立键盘来实现播放与弹奏切换、上一曲下一曲等功能。2.2系统研究的内容(1)对 SD卡的初始化及文件读写。SD属于存储设备,但是,它却与一般存储设备不同。其与集成芯片相似,需要对其初始化才能正常工作。并且,SD卡读写与其它存储器有所不同,需要写入控制字才能实现数据传输。(2)不同频率脉冲产生原理要产生音乐的声音就要使单片机输出不同频率的脉冲,所以要知道如何得到每个按键的不同音频。这里利用单片机的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将I/O反相,就可得到中音DO(523Hz)8。2.3系统流程框架图系统主要是以STC89C52单片机作为控制核心,由数模转换放大模块和SD卡模块及键盘和蜂鸣器等组成的带MP3播放功能的电子琴,总系统框图如图:图2-1 总系统设计流程框图时钟电路:在引脚XTAL1和XTAL2外接晶振,就构成了内部振荡方式。由于单片机内部有一个高增益的反相放大器,当外接晶振后,就构成了自激振荡器,并产生振荡时钟脉冲1。复位电路:复位操作实现所有功能的重新运行,并完成初始化。当复位引脚处于复位状态,它的功能就无法实现,因此要求单片机复位后能脱离复位状态。电源电路:主要提供稳定的电源,保证个模块运行稳定。其它模块在下一章详细介绍。第三章 硬件系统设计3.1 STC89C52单片机介绍本设计所选的STC89C52是一种带8K闪存、低电压、高性能的CMOS8位微处理器,采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。此芯片是一种高效微控制器,具有很高的灵活性,是很多嵌入式控制体统优先的选择。STC89C52引脚结合电路说明如下:图3-1 STC89C52引脚图图3.1中31脚直接让其接VCC,40脚、20脚也分别按照它的功能接到VCC的5V和GND。因为需要使用片内振荡电路,所以在18脚、19脚之间串了一个12MHz的晶振,在晶振的两端分别接有一个30PF的电容,两个电容的另一端共同接地。在引脚9即复位键接有一个按键,并接有一个106PF的电容与一个10千欧的电阻串联,构成了复位按键。P2口控制键盘扫描,其中P2.0还接音乐输出电路;P1口接数模转换芯片,把音乐数据传到TLC7528。3.2 USB供电及程序下载电路设计3.2.1 USB供电电路设计设计所用的实验板采用电脑的USB供电,USB 口的电压一般都是 5V 和所用单片机设计的电压相匹配。USB 供电最大能提供 500mV 的直流电能满足开发板上绝大多数元器件的供电要求。 USB 供电电路设计如图3-2所示,USB 供电电路设计简单明了,与再设计的变压器产生5V的供电系统相比USB 具有5V的供电电压为更为安全,并且设计要比变压器 5V供电系统容易得多。图3-2 USB供电电路3.2.2 USB下载电路设计PL2303用于USB 和标准RS-232 串行端口的转换,两个独立大型缓冲是用于总线之间的连接,大型数据缓冲器实现USB数据的批量传输,所用自动握手模式可用于串行通讯,因次可达到远大于标准UART 控制器的波特率。芯片支持USB 电源管理和远程唤醒协议。当主机挂起时消耗的电能就较小,SOIC-28 封装集成了所有功能,PL2303也可以安装在电缆线中,只需简单地联在电脑主机或USB HUB 上,就可以实现与RS-232 器件的通信12。PL2303采28脚小型SOIC 封装,USB电路设计如图3-3。图3-3 USB电路在将此设计电路图中,PL2303接到单片机的串口上。单片机在通讯时还是通过串口发送接收,而PC通过USB口与2303通讯。2303的作用就是将串口和USB的数据进行了转换。串口通信设计如图:图3-4 串口通信3.3音乐输出电路设计本次设计采用蜂鸣器作为电子琴功能声音输出电路,蜂鸣器俗称喇叭,是广泛运用于各种电子产品的一种元器件,它用于提示、报警、音乐等许多运用场合。蜂鸣器工作时需要的电流比较大,单独接入无法驱动蜂鸣器工作,因此需要放大电流的电路,所以选用了一个三极管来实现电流放大,以驱动蜂鸣器正常工作。三极管PNP起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。用蜂鸣器设计的音乐输出电路包括一个PNP三极管、一个蜂鸣器及电源等,设计简单易懂13,设计如图。图3-5 蜂鸣器电路3.4 MP3模块电路设计3.4.1 TCL7528数模转换电路设计数模转换是本次设计中实现音乐播放的一个重点,单片机读取的音乐数据都是一组一组的数据,要实现音乐的播放就要把数据转为模拟信号。设计用的数模转换芯片是双路8位转换器TCL7528,它的特点是具有单独的片内数据锁存器。DB0DB7是数据脚,直接连接到DSP的数据总线。为了实现功能的方便,数据总线接高8bit或者低8bit。CS是片选信号,利用DSP的地址总线的A1引脚提供DA的片选信号。DACA和DACB都是输出通道的选择信号,如果只用一个输出,可直接将此引脚与CS连接。REFA和REFB是输出通道相应的参考输出电压。RFBA和OUTA是选择输出极性引脚,不同的接法对应单极性输出或双极性输出。TCL7528工作电源为515 V,功耗小于15 mW。通过接P1口输入数据,OUTA口输出模拟信号,设计如图:图3-6 TCL7528数模转换工作原理:芯片包含两个相同的8位乘法D/A转换器DACA和DACB。每个DAC由反相R-2R梯形网络、模拟开关及数据锁存器组成。电流在DAC输出与AGND之间切换,那么每一梯形网络分支中就要保持电流的恒定。3.4.2 TDA2822功放电路设计当把音乐数据转换成模拟信号以后,所得到的模拟信号比较小,不能正常的听取,设计要选择一种电路把模拟信号放大,达到能够播放的电压信号。功放电路选择TDA2822设计成为集成功放,次功放设计能满足电压要求,集成度较高,而且音质也比一般芯片好。所以TDA2822广泛应用于收音机、随身听、耳机放大器等小功率功放电路中。设计中通过DA接数模转换,通过RC电路再接入AIN,放到后通过耳机输出音乐。该电路适合在低电源电压下工作;静态电流小,交越失真也小;适用于单声道桥式(BTL )或立体声线路两种工作状态,具体设计如下图:图3-7 TDA2822功放电路3.5 SD卡读取电路设计在本次设计中,我们采用SD卡作为数据存储介质。因此,我们现在来分析一下其接口及数据传输模式。SD卡数据传输分为SPI模式和SD模式。SD模式适用于大文件的复杂电路数据传输,因为其下载速度较快,而此设计用SPI模式已达到要求,功能也能实现,所以就选用SPI模式。在SPI模式下,SD卡只需要接SO、SI、CS、CLK、VCC、GND这6个引脚就可以了。对于本设计的STC89C52单片机来说需要4个IO口与之连接,分别是P1.3、P1.5、P1.6和P1.7。在本次设计电路图如3-10所示。图3-8 SD卡模块电路图3.6键盘控制电路设计本设计要实现16个按键发出不同的音节,还要实现不同功能的切换,所以用到的按键数量比较多,因此选用了矩阵式键盘和独立键盘的结合,设计如图: 图3-9 矩阵键盘 矩阵键盘中按键S1到S16分别对应低1DO到高2 RE ,具体见软件设计中的频率表;独立键盘中,S18表示弹奏模式,S19表示音乐播放模式,S17表示上一曲,S20表示下一曲。矩阵键盘控制电子琴的发音,每个按键控制一个音节,通过结合就可以弹奏出自己想要的音乐了。 图3-10 独立键盘设计键盘的扫描和按键的确定很重要,要实现不同的功能转换和音乐发音的准确必须保证按键的确定性。矩阵式键由行线和列线构成,按键位于行、列线的交叉点上,目前计算机系统中使用的键盘按功能不同一般可分为编码键盘和非编码键盘两种基本类型。3.7硬件设计小结做了这个基于单片机带MP3音乐播放功能的电子琴毕业设计,也清楚知道系统硬件设计是本次设计的首先要解决的问题,经过到网上查很多相关的资料。开始设想使用U盘作为外存,但后来发现技术不够,决定采用较简单且价格也相对优惠的SD卡作为存储器件。方案确定后,我便开始采购元器件,着手焊接电路板,边焊接边测试电路的导通情况。经过自己的努力,我成功的焊接好了各个元器件,为后面的软件总体调试打下了坚实的基础。第四章 软件系统设计4.1软件设计总流程图此设计的软件部分首实现SD卡数据传输到STC89C52,所以先对SD卡初始化;其次是按键扫描,用程序实现行扫描法;最后根据按键值产生不同频率的脉冲,实现电子琴功能。综上所述,要实现设计的功能要完成三个方面的程序设计。设计要实现音乐播放功能和电子琴功能的切换,所以选用了独立键盘作为功能切换的按键,其中设置独立键盘控制功能模式,当按键S18按下时是播放功能用y表示;当S19按下时用n表示,是电子琴功能,总流程如图所示:图4-1程序设计总流程图在完成程序流程图之后,需要分别对各个部分进行程序设计,下面就分别介绍各种驱动程序的编写方法。4.2 SD卡驱动及音乐播放程序设计(1)命令时序图4-3命令时序SD卡的读取专有一套总长度为48个bit位命令集,即6个字节如图。那么,它的一个bit是如何发送的呢?在时钟线的下降沿时,单片机在MOSI线上发送命令位。在时钟线的上升沿读取SD卡在MISO线上返回的数据位。而单片机要发送完一个完整命令需要经过48个时钟周期。SD卡由统一的6字节内容组成一个完整的命令。所有的命令字节发送都是高字节先发的。并且,1个字节的8位也是高位先发的。接下来,我来慢慢分解这6个字节的内容。它的第一个字节由2个起始位(01)+6个命令位编号组成。接下来的4个字节内容是SD卡的命令参数。在读写SD卡时,4个字节是SD卡的FLASH地址。在发完“读或写SD卡”命令的一字节后,紧接着发4字节(32位)的SD卡FLASH起始地址。注意了,SD卡的地址是以扇区为单位的,它的默认大小为512字节。因此,它的地址是以512倍字节大小的形式出现。所以不能使用如: 0x00,0x00,0x00,0x01,这样的地址。接下来还有一个字节,大家猜猜会是什么用处呢?最后的一个字节是CRC校验码。SD卡上电后,它默认是关闭的。(2)常用命令套用这字节命令格式命令,我们得到如下SD卡比较常用的命令串。读SD卡0扇区的命令串:0x51,0x00,0x00,0x00,0x00,0xff;图4-4读SD卡写SD卡1扇区的命令串:0x58,0x00,0x00,0x02,0x00,0xff;图4-5 写SD卡SD卡复位的命令串:0x40,0x00,0x00,0x00,0x00,0x95;图4-6 SD卡复位SD卡进入SPI模式的命令串:0x41,0x00,0x00,0x00,0x00,0xff;图4-7 SD卡进入SPI模式(3)数据传送在发送完这些数据后,还有2个字节的CRC校验码,也是紧接着发送的。当接收到回应后,单片机就可以先发送1个字节的起始字节(0xfe)。随后,单片机再发送512字节的RAM数据。最后再加上2个字节的CRC校验码。不过,SD卡默认是不对数据进行校验的。也就是说,2字节校验码可以是任意数据,但一定要发送的。发完这515字节个数据后,SD卡会又有一个5位的回应数据(二进制:XXX00101B)。表示数据已经写入完毕。SD 卡存储了系统文件非常重要的信息,如果 SD 卡驱动出现问题,将直接导致系统崩溃,所以,SD卡的驱动对系统来说是至关重要的,只要SD卡成功地初始化了,后面的处理就相对简单,所以关键在于初始化。SD 卡有两个可选的通信协议:SD 模式和 SPI 模式。SD 模式是 SD卡标准的读/写方式,选择 SPI 模式读取SD卡。初始化SD卡时要注意时钟频率要低于400 kHz,完成初始化后可以提高。SD 卡初始化如下: 图4-8 SD初始化当完成SD驱动后就可以读取存储空间里了音乐数据,音乐播放是通过SD数据传到STC89C52单片机,再经过数模转换形成音乐信号。所以音乐都是一组一组数据的传输,设计音乐播放子流程图如图:图4-2 音乐播放流程图4.3单片机产生不同脉冲的原理及程序设计4.3.1不同脉冲产生的原理(1)要得到不同的音频脉冲,要算出所需音频的脉冲(1/频率),然后将此脉冲周期除以2,即半周期时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O口上得到此频率的脉冲10。(2)用STC89C52内部定时器改变计数器改变TH0及TL0的值以产生不同频率的方法如:例如,频率为262HZ,其周期262HZ=3816uS,因此只要令计数器计时1908uS/1us=1908,在每计数1908次时就将I/O反接,就可得到低音1DO(1908Hz)。计数脉冲值与频率的关系公式: N=Fi/2/Fr (3) 其计数值的求法:T=65536-N=65536-Fi/2/Fr4.3.2单片机产生不同脉冲的程序设计对单片机内部T0定时计数器设置中断,通过对数组查询的方式经过P2.0口对蜂鸣器发送信号,产生不同频率的脉冲,实现扬声器音乐演奏。各音频频率如下表:表4-1: 音符频率表音符频率简谱码音符频率简谱码低1DO26263628中 5 SO78464898低2RE29463835中 6 LA88064968低 3 M33064021中 7 SI98865030低 4 FA34964103高 1 DO104665058低 5 SO39264260高 2 RE117565110低 6 LA44064400高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580高 5 SO156865217中 2 RE58764684高 6 LA176065252中 3 M65964777高 7 SI196765283中 4 FA69864820通过这个表格就可以查找我们需要产生的频率,就可以给T赋初值。按键程序,根据检测得到按键值,查询音律表,给计时器赋值,发出相应频率的声音,再根据不同的按键,对定时器T0送入不同的初值,调节T0的溢出时间,这样就可以输出不同音调频率的方波8。琴键声音产生程序框图:图4-9 声音产生程序框图4.4键盘扫描程序设计键盘扫描是实现功能的关键部分,所以要非常了解它的原理。扫描一般先扫描行再扫描列,当检测到列为低电平时就可以确定行与列的交点有键按下。常用的是用行扫描法来确定那个键被按下,介绍过程如下。 (1)判断有无键按下。将行线P2.0-P2.3置低电平,然后检测列线的状态。当检测到列有低电平时,可知键盘中有键按下,而且该按键键在低电平线与4根行线相交叉的4个点。若所有列线均为高电平,则键盘中无键按下。 (2)判断按键的位置在确认有键按下后,就可以确定具体是哪个键。常用的方法有行扫描法和线反转法两种,这里实现具体方式为:依次置行线为低电平,当某根行线被置低电平时,列外的为高电平。在确定某一行线为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是按下的按键具体扫描流程如图:图4-10 键盘扫描流程图(3) 去抖动:当有按键按键在按下或松开时都会产生短时间的抖动,抖动的持续时间与键的质量相关,一般为520ms。所谓去抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解决。此设计选用软件来解决,当检测到有键按下就调用延时函数,先延时20ms再次检测,若果还是当前状态,说明有键按下,否则再次检测。流程设计如下:图4-11 去抖动程序流程图4.5软件设计小结之前自己用开发板做过一些小模块,而软件方面比较欠缺,所以今次毕业设计中软件方面对我是个不少的考验。例如:某个模块的软解设计不能单独考虑变量,每个变量要仔细排查,思路要清晰,知道每个模块的放置和调用。还有循环的跳出要先画原理框图,根据框图更容易体现。第五章 总结与展望 (1)工作总结这份毕业设计不仅温故了所学的专业知识,还改变了自己对事的思维方式,学会认真做事,在这里做好了,其他方面也一定会做好。在毕业设计刚开始的调研阶段,我学会了怎么通过各种方式查询相关的资料。通过相关资料的学习,大致了解单片机的功能和应用,知道了它的产品发展趋势和各个电子产品之间的竞争。并根据资料提出设计思路。此设计硬件和软件都有很高的要求,所以设计的时候两个方面都要加强学习。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。基本掌握了Protel2004原理图的画法和PCB图的布线,并设计了一个单片机最小系统。通过对实验板的学习和运用,我对单片机及其外围电路有了更深入的了解,对各个引脚的功能和链接注意事项也有了新的认识。因为用到的键盘比较多多,多以对键盘的控制也比较熟悉了。在软件方面,通过串行口调试工具的开发,使我加深了对累封装的理解,熟悉了51系列单片机内部的寄存器和编程规则,以及如何控制外围电路。(2)工作展望微型计算机的出现和大量使用将人类社会带入一个新的时代,单片微型计算机(简称单片机)在其中扮演着十分重要的角色。虽然它没有常见的PC那样大的体积和重量,不会在办公桌或控制台上占据一个显要的位置,但它就像小小的螺丝钉一样,镶嵌在人们工作、生活中需要计算、控制、测量等智能活动的各个角落。自单片机产生以来,对各个行业的技术和产品更新都有了很大的推动作用,对社会生活各方面也有不同程度的影响。学好单片机不仅掌握了计算机的核心知识,还是一门技术,对以后的工作都有很大的帮助,同时也为其发展贡献一份力量。参考文献1张鑫.单片机原理及运用M.第二版.北京:电子工业出版社,20102邱关源,罗先觉.电路M.第五版.北京:高等教育出版社,20063吴先用.双8为数模转换器TCL7528原理及应用J,现代电子技术,20034程磊,基于STM32的MPP3播放器设计J,内江科技,20115周坚.单片机C语言轻松入门M.北京:北京航空航天大学出版社,20066范永红.TDA2822集成小功率功放机制作J.大江周刊,20117陈杰,基于ARM平台的MP3编码器的实现及其性能优化J.上海交通大学20078周琛晖.基于AT89S51单片机的电子琴设计J.电脑知识与技术,20099肖启洋,方元.基于LPC932A1的SD卡MP3播放器J.微型机与应用,2012:(92-94)10单丹,马淑云.基于AT89C51单片机电子琴的设计J.中国高新技术企业,2010:(6-7)11尤勇.USB供电J.电子报,201212文治洪,胡文东,李晓京,王涛.基于PL2303的USB接口设计Design of USB interface based on PL2303J.电子设计工程,2010:(32-33)13 熊建云.单片机应用系统中的常用报警电路J.职业圈,2007:(178-181)14 CECA:Chain Electronic Components AssociationOL,http:/ic-ceca.Org. cn . 200715也许肯能PP./view/e27cc388d0d233d4b14e69ed.html.200916王东辉,基于单片机的音乐信号系统研究J,兰州理工大学,200917 罗钧,桂杰出.一种基于通用单片机的MP3播放器解决方案J重庆大学学报(自然科学版),2003:(98-102)18Ding , Hao , Hou , Kun-mean , Lecoq , Jacques , Bohner , Gerard , Zhou , Hai-ying , Sun , Hong.Toward a Low Cost and Single Chip Holter: SoC-HolterJ.201119 王啸东,王春燕,涂林军,汪梦迪.基于单片机智能电子琴的设计J.考试周刊,2012:(128)20 刘润.基于单片机和串口的SD卡读取平台的设计J.现代电子技术,2010:(166-168)致 谢经过几个月的努力终于写完这篇论文,在论文的写过程中虽然遇到了许多的困难和失败,但在同学和老师的帮助下都一一解决了。尤其要感谢我的论文指导老师张斌老师,他一直在指导我怎么去处理遇到的问题,并提供很多建议和意见,仔细的帮助我进行论文的修改和格式的规范。另外,在学校还有几个同学也给我提供了重要的资料和帮助,解决了我不懂的程序问题,每当有程序问题找他们时他们都能帮助找到解决的办法。在此向帮助和指导过我的各位老师同学表示最衷心的感谢!在此感谢论文中引用相关资料的作者,是你们给了我思路和设计方案,很多问题都离不开你们文档资料的帮助。也感谢我的同学和朋友,我的一些程序问题和硬件问题都在他们给出的很多意见和帮助下完成的,和他们一起解决问题的时候又从他们那里学到了很多知识,非常感谢他们的付出。由于技术有限,设计的功能没有完全实现,有不足的地方请老师指点。附录一 程序.h文件/=/定义SD卡需要的4根信号线sbit SD_CLK = P17;sbit SD_DI = P15;sbit SD_DO = P16;sbit SD_CS = P13;sbit Beep = P20;/=/=void delay(unsigned long z)unsigned long x;for(x=1;x0;x-);/for(y=1;y0;y-);/=/写一字节到SD卡,模拟SPI总线方式void SdWrite(unsigned char n)unsigned char i;for(i=8;i;i-)SD_CLK=0;SD_DI=(n&0x80);n=1;SD_CLK=1;SD_DI=1; /=/从SD卡读一字节,模拟SPI总线方式unsigned char SdRead()unsigned char n,i;for(i=8;i;i-)SD_CLK=1;SD_CLK=0;n=1;if(SD_DO) n|=1;return n;/=/检测SD卡的响应unsigned char SdResponse()uchar i=0,response=0;while(i24);SdWrite(argument16);SdWrite(argument8);SdWrite(argument);*/SdWrite(CRC);/=/初始化SD卡unsigned char SdInit(void)unsigned char i;unsigned char response=0xFF;SD_CS=1;for(i=0;i=0xfe;i+)SdWrite(0xff);SD_CS=0;SdCommand(0x00,0,0x95);response=SdResponse();if(response!=0x01)return 0; if(response=0x01) SD_CS=1; SdWrite(0xff);SD_CS=0;while(1)SdCommand(0x01,0,0xff);/SdCommand(0x01,0x00ffc000,0xff);response=0xff;for(i=0;i200;i+)/response!=0x00response=SdResponse(); /Beep=0;/if(response=0) break;if(response=0) b

温馨提示

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

评论

0/150

提交评论