1、(4)能控制播放或暂停播放固定曲目。 指导教师签名: 2014年1月3日 二、指导教师评语:指导教师签名:2014年1月3日 三、成绩 验收盖章 2014年1 月 6日 1目 录 1 设计目的12 设计思路13 硬件设计13.1 单片机控制模块23.2 按键模块33.3 数码管显示模块33.4 发声模块54 软件设计64.1 音乐相关知识64.2 音乐播放原理74.3 系统总体功能流程图74.4 4*4键盘扫描流程图85 系统调试95.1 Keil软件的使用95.2 软件调试106 电路仿真与分析106.1 仿真结果显示106.2 分析总结12参考文献13附件14简易电子琴设计1 设计目的(1
2、)熟悉Proteus仿真软件的使用,了解各元件的功能及作用。(2)熟悉AT89C52单片机的基本结构、引脚功能、存储器结构等基本知识,以及熟悉一般设计过程。(3)掌握74LS247芯片的引脚功能及使用方法,以及掌握电路的基本调试能力。(4)掌握Keil软件的使用方法,以及如何创建文件和编写程序。(5)利用Proteus仿真软件构建电路图,使用AT89C52单片机,Keil软件设计简易电子琴。2 设计思路本次设计采用Proteus单片机仿真平台对简易电子琴进行设计。本设计系统结构图如图1中所示,共有4个模块,其分别为单片机控制模块、按键模块、数码管显示模块和发声模块。在Proteus中完成硬件的
3、设计,同时采用Keil开发平台软件设计程序,最终实现简易电子琴的设计。本电子琴既可以弹奏曲子,又可播放设定的曲目。图1 系统结构图3 硬件设计单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。电子琴是现代电子技术与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。本设计是以AT89C52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、数码管等模块组成核心主控制模块。可细分为单片机控
4、制模块,按键模块,数码管显示模块和发声模块共4个模块。3.1 单片机控制模块采用AT89C52单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到8K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。由AT89C52单片机组成的控制模块如图2所示。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash
5、存储单元,AT89C52单片机在电子行业中有着广泛的应用。图2 单片机控制模块3.2 按键模块组成键盘的按键有机械式、电容式、导电式、导电橡胶式薄膜式多种,但不管什么形式,其作用都是一个使电路接通与断开的开关。目前微机系统中使用的键盘按其功能不同,通常可分为编码键盘和非编码键盘两种基本类型。编码键盘:键盘本身带有实现接口主要功能所需的硬件电路。非编码键盘:键盘只简单地提供按键开关的行列矩阵。在此我们选择非编码键盘。键盘接口必须具有去抖动、防串键、按键识别和键码产生4个基本功能。按键的闭合与否反应在行线输出电压上就是呈现高电平或低电平。为了确保单片机对一次按键动作只确认一次按键有效,必须消除键盘
6、抖动所带来的影响。在此我们采用软件延时来消除按键抖动,其基本思路是:在检测到有建按下时,该键所对应的行线为低电平,执行一段延时为10ms的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确认该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,检测该行线为高电平,说明按键确实已经松开。键盘可分为两类:非编码键盘和编码键盘。常见的非编码键盘有两种结构:独立式键盘和矩阵式键盘。在此选择非编码键盘中的矩阵式键盘。按键模块如图3所示。矩阵式键盘又称行列式键盘,用于按键数目较多的场合。它由行线和列线组成,一组为行线,另一组为列线,按键位于行、列的交叉点上。由于
7、矩阵式键盘中行、列线为多键共用,各按键所在的行、列的电平,因此各按键彼此将相互影响,所以必须将行、列线信号配合才能确定闭合键的位置。图3 按键模块3.3 数码管显示模块常见的LED数码管为“8”字型的,共计8段。每一段对应一个发光二极管。这种数码管显示器有共阳极和共阴极两种。在此选择共阳极LED数码管。LED数码管的段码为表1所示。表1 8段LED段码显示字符共阳极段码C0H880HF9H990H2A4HA88H3B0HB83H499HCC6H592HDA1H682HE86H7F8HF8EHLED数码管有静态显示和动态显示两种显示方式,在此根据需要选择静态显示方式。所谓静态显示就是指无论多少位
8、LED数码管,同时处于显示状态。LED数码管处于静态显示方式时,各位的共阳极连接在一起并接+5V;每位的段码线(adp)分别与一个8位的I/O口锁存器输出相连。静态显示方式的显示无闪烁,亮度都较高,软件控制比较容易。利用AT89C52单片机的P2端口的P2.0-P2.7连接到两个七段显示译码器74LS247上,且各译码器连接一个七段数码管,数码管的公共端接地。在数码管上可显示0-9数字。数码管显示模块如图4所示。在此用到74LS247七段显示译码器。输出端(QG)为低电平有效,可直接驱动指示灯或共阳极LED。当要求输入 015 时,消隐输入(BI)应为高电平或开路,对于输出 0 时还要求脉冲消
9、隐输入(RBI)为高电平或开路。当 BI 为低电电平,不管其它输入端状态如何,QAQG均为截止态。当RBI 和地址端(AD)均为低电平,并且灯测试(LT)为高电平时,QAQG均为截止态,脉冲消隐输出(RBO)为低电平。当 BI 为高电平开路时,L T 的低电平可使QAQG为低电平。图4 数码管显示模块3.4 发声模块了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。在本实验中,单片机工作于12MHZ时钟频率,使用其定时
10、/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如下表:表2 音符频率与计数值T的对照表音符频率(HZ)计数值(T值)低1DO26263628#4FA#74064860#1DO#27763737中5SO78464898低2RE29463835#5SO#83194934#2RE#31163928中6LA88064968低3MI33064021#6LA#93264994低4FA34964103中7SI9686503037064185104665058低SO3926426011096508541564331高2RE11756
11、5110低6LA4406440012456513446664463高3MI131865157低7SI49464524高4FA139765178中1DO5236458014906519855464633高5SO156865217中2RE58716616523562264884高6LA176065252中3MI65964732186565268中4FA69864820高7SI196765283T的值决定了TH0和TL0的值,其关系为:TH0=T/256,TL0=T%256工作原理:当矩阵键盘有键按下时,读取相应按键的键值,在音节数组中读出音节频率,定时器T0中断使得P3_7产生该该频率的音调。发声
12、模块如图5所示。图5 发声模块4 软件设计本软件设计关键是要实现一种由单片机控制的简单音乐发生器,它由16个音节组成的的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。4.1 音乐相关知识乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低声音就低,不同音商的乐音是用C、D、E、F、G、A、B表示的,这7个字母就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,这是唱曲时乐音的发音,所以叫唱名。音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同频率的组合,加以与拍数对应的延时,构成音乐。4.2 音乐播放原理要想播放出一首曲子,了音符以外,节拍也是音乐的关键组成部分。节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果1/4拍的延时是0.4秒,则1拍的延时是1.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1