ImageVerifierCode 换一换
格式:DOC , 页数:29 ,大小:2.18MB ,
资源ID:566046      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-566046.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子琴报告.doc)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

电子琴报告.doc

1、电子琴前 言随着科学技术的发展,电子技术取得了突飞猛进的发展。从而电子产品在人们的日常生活中占据的地位也越来越重要,对人们的生活水平的提高起到了积极的作用。在此期间,以单片机为核心的嵌入式系统的设计在社会生活的各个领域中得到了广泛的应用。音乐是由不同的音符组成的,不同的音符对应着不同的频率,产生有规律的频率输出就可以得到相应的频率音乐 基于以上特点,我想在不久的将来此类电子琴在人们的日常生活中会得到很好的应用,尤其是在那些对体积和成本要求很高的嵌入式系统设计中,更能够体现出它的优越性。第一章 设计内容及要求1.1 设计主要内容该设计以单片机AT89C52和定时/计数器8253为主要元器件产生不

2、同频率的方波信号,该方波信号通过LM386功放驱动扬声器发出不同频率的声音,键盘/显示器接口芯片7279将不同的计数初值通过单片机写入到8253定时/计数器中,以产生1do,2re,3mi,4fa,5so,6la,7si,iDO八个基本音符声音并且能同步显示音符值,以及通过按键播放一首生日快乐歌曲。1.2 设计要求设计要求主要包含基本和提高要求两个层次:基本要求:利用定时/计数器8253设计并制作一个电子琴,并且可以利用键盘弹奏简单的乐曲。通过按键播放一首简单的音乐。提高要求:通过按键进行音符的录放功能,即按一个键能录入一些音符,再按一下能播放已录入的音符。第二章 系统设计方案选择2.1 方案

3、一 图2.1 方案一电子琴外部实现电路图2.2 方案二图2.2 方案二电子琴外部实现电路图2.3 方案比较 对比两个方案,基本电路相差不多,但是两个方案的电压放大倍数不同。 电路的放大倍数可由LM386内部电阻和1脚、8脚的外接元件确定。当1脚和8脚之间不接元件时,其放大倍数是 20倍,当1脚和8脚之间接C110F电容时,其放大倍数是200倍,当 1脚和8脚之间接C1=10F电容和电阻R时,如其放大倍数为20200倍.通过计算发现,方案一的增益太小只有22左右,方案二的增益有38左右,经过第一次的硬件测试发现方案一扬声器的输出电压较低,以至于声音很微弱,而且杂音很强,于是我们就换成了方案二。这

4、是的电压增益提升了,当LM386放大倍数提高的同时, 电源的纹波影响也将会增大,因此在LM386输出端加了一个电阻R2(10电阻)和一个电容C7(0.047uF),组成补偿网络,用以抵消扬声器音圈电感在高频时产生的不良影响,改善了功率放大电路的高频特性,防止产生高频自激,提高了电路的稳定性,且在LM386输出端到扬声器的隔直电容值由原来的47uf换成了220uf,更有效的祛除了直流的影响,使输出更加稳定,因此扬声器输出声音很大,且杂音很少,最终我们确定了采用方案二的硬件电路设计。 第三章 系统组成及工作原理3.1 系统组成键盘/显示器芯片7279定时/计数器825374LS373地址锁存地址A

5、T89C51单片机LM386功放扬声器6.0MHZ晶振图3.1 系统原理组成框图3.2 工作原理音乐是由不同的音阶组成的,而不同的音阶又是由不同的频率发出的,那么利用不同的频率,就可以发出不同的音乐了。定时/计数器8253内部有三个独立的计数器,每个计数器都可以产生任意频率的方波信号,因此,我们可以通过把一首歌曲基本音符的音阶所对应的频率值转换为16位二进制代码并通过AT89C52写进8253中的任意一个定时器中,这样就可以通过8253产生对应频率的方波信号,再经过LM386功放电路滤波,放大以驱动扬声器发出相应频率的音符声音。根据本课题要求,采用7279将键扫得到的键值通过查键值表得到相应的

6、键号,并通过键号来查相应音符频率对应8253的计数初值表,并将计数初值通过单片机写进8253,则产生相对应频率的方波信号,再通过功放驱动扬声器发出对应频率的音符声音,这样就实现了电子琴的基本功能。 第四章 系统硬件电路模块设计4.1 单片机AT89C52最小工作系统图4.1 最小工作系统原理图各引脚功能如下:(1)主电源引脚 Vss接地 Vcc正常操作时为+5V电源(2)外接晶振引脚XTAL1和XTAL2 XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。 XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外

7、部振荡源。(3)控制或与其它电源复用引脚RST/VPD,/ALE和/Vpp RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位。在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。 /ALE 正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的1/6)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE 端可以驱动(吸收或输出电流)八个LSTTL电路。 对于EPRO

8、M型单片机,在EPROM编程期间,此引脚接收编程脉冲的功能。 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。同样可以驱动八个LSTTL输入。/Vpp、/Vpp为内部程序存储器和外部程序存储器选择端。当/Vpp为高电平时,访问内部程序存储器,当/Vpp 为低电平时,则访问外部程序存储器。对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。(4)输入/输出引脚P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。 P0口(P0.0 - P0.7)是一个8位漏极开路型双

9、向I/O口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。 P1口(P1.0 - P1.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。 P2口(P2.0 - P2.7)是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。 P3口(P3.0 - P3.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。4.2 74LS373 地址锁存器(1) 功能简介:74LS373是一种

10、带输出三态门的8D锁存器,1D8D为8个输入端。1Q8Q为8个输出端。G为数据锁存控制端;当G为“1”时,锁存器输出端同输入端;当G由“1”变“0”时,数据输入锁存器中。三态门关闭,输出呈高阻状态。在MCS-51单片机系统中,常采用74LS373作为地址锁存器使用,其中输入端1D8D接至单片机的P0口,输出端提供的是低8位地址,G端接至单片机的地址锁存允许信号ALE。输出允许端OE接地,表示输出三态门一直打开。(2)74LS373 地址锁存器引脚图如下:图4.2 74LS373引脚图(3)74LS373 地址锁存器功能表:表4-2 74LS373真值表ZHHHLLLLLLLLHLHHHLQnD

11、nLEOE43 可编程定时/计数器82534.3.1可编程定时器/计数器8253 功能简介 8253(其引脚图如下图)内部有三个计数器,分别成为计数器0、计数器1每个计数器的输入和输出都决定于设置在控制寄存器中和计数器2,他们的机构完全相同。的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。4.3.2 可编程定时器/计数器8253引脚图及内部结构图如下:图4.3 可编程定时器/计数器825

12、3引脚图图4.4 8253内部结构框图4.3.3 8253由以下几个部分组成:(1) 数据总线缓冲器(8位、三态、双向);(2) 读/写控制逻辑;CS:片选信号,低电平有效;RD:读信号,低电平有效;WR:写信号,低电平有效A1A0:端口选择信号(3) 三个通道( 0 2);(4) 一个控制寄存器;4.3.4 8253的控制字如下:SC1SC0RW1RW2M2M1M0BCD SC1、SC0 选择计数器 RW1、 RW2 读控制字方式0 0 计数器0 0 0 计数器锁存0 1 计数器 1 0 1 只读/写低8位1 0 计数器 2 1 0 只读/写高8位1 1 非法 1 1 先读/写低8位 再读/

13、写高8位 M2 M1 M0 模式选择 BCD 数制方式0 0 0 模式0 0 BCD0 0 1 模式1 1 二进制X 1 0 模式2X 1 1 模式31 0 0 模式41 0 1 模式544 集成运算放大器LM386及功放模块电路 4.4.1 LM386芯片介绍LM386是专为低损耗电源所设计的功率放大器。它是一种音频集成功放,具有自身功耗低,电压增益可调,电源电压范围大。外接元件少等优点。它的内建增益为20,透过pin 1 和pin8脚位间电容的搭配,增益最高可达200。LM386可使用电池为供应电源,输入电压范围可由4V12V,无作动时仅消耗4mA电流,且失真低。4.4.2 LM386的引

14、脚图如下图4.5 LM386的引脚图4.4.3 LM386的主要性能指标表4-5 主要性能指标项目测试环境规格工作电压(Vs)4V5V输入电压(Vi)-0.4V +0.4V输入阻抗(Ri)50k静电流Vs=6V, Vin=0V4mA8mA电压增益pin 1、pin 8以10F连接2646dB 4.4.4 LM386放大模块电路 图 4.6 LM386功放模块电路4.4.5 功放模块电路参数分析一般 LM386的最大输出功率为1W,但因该器件散热不够理想,所以在实际应用时,其输出功率通常取05W以下 。电路的放大倍数可由内部电阻和1脚、8脚的外接元件确定。当1脚和8脚之间不接元件时,其放大倍数是

15、 20倍;当1脚和8脚之间接10F电容时,其放大倍数是200倍。当 1脚和8脚之间接10F电容和电阻Rs,时,其放大倍数为20200倍,其放大倍数的 计算公式为Au=(式4.1)式中,R是LM386集成块内部电阻,一般其值为15K。将Rs=R3=1.2K带入上式Au=38.2,在图中R2和C7组成补偿网络,以提高电路的稳定性,防止产生高频自激。C5是滤波电容,C8是隔直电容。4.5 7279扩展键盘及显示模块 4.5.1 7279芯片功能介绍 HD7279A是一片具有串行接口的,可驱动8位共阴式数码管和64只独立LED的智能显示驱动芯片,该芯片同时还可连接多大64键的键盘矩阵,单片即可完成LE

16、D显示、键盘接口的全部功能。4.5.2、7279引脚图如下图4.7 7279引脚图4.5.3 7279主要引脚及其连接说明:CS: 片选 端连接P1.0引脚 CLK: 时钟输入端连接.P1.1引脚 DATA: 串行数据输入/输出端连接P1.2引脚 KEY: 按键有效输出端连.P3.2引 RES: 复位端 连主芯片RST端 DIG0-7: 数位0-7驱动输出SG-SA: 段g段a驱动输出 DP: 小数点驱动输出 RC: RC振荡器连接端 4.5.4 7279扩展键盘及显示模块电路(见附录一图2)第五章 系统软件设计51 各音符对应于8253计数初值的计算本设计晶振频率为6MHZ,因为ALE和CL

17、K1相连,所以8253的基准频率为1MHZ,故8253的计数初值可这样得出:X=1MHZ/(需要的频率*2)。由此可计算出各音符对应于8253计数初值,见下表:表5-1 8253计数初值表音符频率(HZ)简谱码(DW值)1 DO5239502 RE5878503 M6597604 FA6987205 SO7846406 LA8805707 SI988510i DO1088470采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:TABLE:DW 950,850,760,720,640,570,510,470 ;计数初值表5.2 程序流程框图 5.2.

18、1 主程序流程图开 始 伪操作定义及相关初始化 开外部0中断等待外部0中断图5.1 主程序流程图说明:先进行7279和8253的初始化,再开放外部0中断,当扫键程序有查到7279有键按下时,就触发一次中断,进入外部中断0服务程序。 5.2.2 外部中断0服务程序流程图外部0中断03H入口 HD7279 读键盘N调用键号获取子程序是否是音键? Y调用键号处理子程序 N 录入标志是否为1 Y显示按键号 播放音乐键8? N键号保存至缓冲区按键次数+1,缓冲指针+1 Y 调用音乐播放子程序是否是录放键(9)? N显示按键号 Y置反9键处理标志位调用音键发声录入辅助标志是否为0 N Y调用播放子程序初始

19、化播放缓冲区及按键计数器中断 返回图5.2 外部中断0服务程序流程图说明:当按键为0-7号时,则播放相应的音符音,按键为8号时,则播放生日快乐歌,按键为9号时,则开始录入音符,再按下9号键则播放录入的音符。5.2.3显示子程序流程图 5.2.4 发声子程序流程图开 始开 始保存键号一位下载方式0译码值送伪标志单元键号值*2 +1调用1字节发送子程序查音频表将低位数据送8253显第一管值送伪标志单元还原键号值调用1字节发送子程序键号值*2 返 回 查音频表将高位数据送8253图5.3 显示子程序流程图GATA1置高输出方波5.2.5 键号处理子程序流程图开 始延时约0.5SA压栈内GATA1置低

20、停止输出方波返 回 键号送A 8号键?N 图5.4 发声子程序流程图调用播放歌子程序 Y A 出栈 返 回 图5.5 键号处理子程序流程图5.2.4 说明:将音符所需要的发声频率值转换为十六进制数,先把数据低八位送8253计数器1中,再把数据高八位送8253计数器1中,然后把GATE1置高,则可以从OUT1中输出相应频率的方波信号,再经LM386放大驱动扬声器发出相应音符声音。5.2.6 放歌子程序流程图开 始歌表首址送指针A置零查表音频高值送R1指针+1低值送R38253停止输出R1,R3 都为0休止符? Y NR3 ,R1,0FF?(结束标志) Y8253停止输出 N8253方式字等初始化

21、指针压栈指针压栈返 回R3,R1 送8253指针出栈并+1查表获取音值送R4调用音值延时子程序R4(音值)=0? N Y 图5.6 放歌程序流程图 说明:按顺序将音符表中的音符值读出到发声子程序中,将音符后的节拍(187ms延时的次数)写入到寄存器R4中。第六章 实验调试及测试结果与分析6.1 实验调试电路板焊接好后,先不能急着通电,先要检查硬件线路,其步骤如下:(1)检查连线是否正确 根据电路原理图连线,按一定顺序一一检查安装好线路,这样可以比较容易查出错线或少线。为了防止出错,对于已查过的线路在电路图上做出标记 。(2)元器件的安装情况检查元器件引脚之间有无短路;连接处有无接触不良,有无虚

22、焊,假焊情况;电容的极性和集成元件的引脚是否连接有误。 (3)软件调试及硬件调试这样检查无误后就开始把提前编好的电子琴程序通过软件写进AT89C52单片机中,然后接通电源,结果扬声器没一点声音,于是我用示波器检查输出波形,结果显示不是方波,而是直流信号,为了判断是否是8253出了问题,有测量8253输出端OUT1输出波形,结果显示是方波,则排除了8253出问题的可能性,用万用表检查了电路,终于发现原来是LM386的4脚没有接地,经过修正电路后,重新连好线,接上电源又出现了新的问题,发现扬声器不能发出相应的按键音符,而是一些杂音,且声音很小,通过检查电路,连接没有问题,于是检查电路图,发现我们方

23、案的功放LM386模块有问题,增益太小只有22左右,于是我们改进了方案,换了LM386增益控制端1脚和8脚间的电阻值,由原来的10K换成1.2K。这样放大倍数就变成了38左右,当LM386放大倍数较高时, 电源的纹波影响将会增大,因此在LM386输出端加了一个电阻R2(10电阻)和一个电容C7(0.047uF),组成补偿网络,以提高电路的稳定性,防止产生高频自激。特别是LM386输出端到扬声器的隔直电容值由原来的47uf换成了220uf,更有效的祛除了直流的影响,使输出更加稳定。然后再重新写了程序,这样扬声器能正常工作了,通过按键能发出相应的按键音符,在实现了基本功能的基础上,我们又改进了程序

24、的功能,使它能通过按键发出一首音乐,但在重新烧了程序后,发现按了播放键后只响了一个音符,且是一直响,这样我们又检查了程序,发现MOV DPTR,#TABLE1 ;TABLE1放的是音符表,在语音播放子程序中,由于用到了8253,需要外部寻址,即MOV DPTR,#7FFDH;改变了DPTR值,这样在调用的过程中会出错,于是我们用了PUSH DPL PUSH DPH;POP DPH POP DPL;保护了DPTR,这样程序就按照预期运行下去,即完成了播放功能。6.2 实验结果与分析通过调试以后,电子琴可以按照预定的要求实现功能。加载好程序后,按07号键,分别发出1do,2re,3mi,4fa,5

25、so,6la,7si,iDO八个基本音符声音并且能同步显示音符值,按8号键开始放生日快乐歌,按9号键开始录入音符,录入的音符可以在数码管上显示,这样可以编一首简短的歌,编好之后再按下9号键则可以按顺序播放录入的音符,通过不断的修改电路和实验程序,我们发现了很多问题,经过仔细分析,也使问题得到了解决,在硬件电路的焊接上注意温度控制好,可以先把一些敏感元件引脚留长些,这样可以方便散热,以免烧坏元件;在编制软件程序时应先画好程序流程框图,在程序首段应将经常用到的变量进行定义,划分好存储空间,这样在编程的过程中就会减少出错率。利用示波器观察扬声器输入端的方波的频率,并与理论值比较,经计算得出误差如下表:误差=(实际值-理论值)/理论值*100%表6-1 误差分析表音符理论值频率(HZ)实际值频率(HZ)误差(%)1 DO5235280.92 RE587579-1.

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2