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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于AT89S52的玩具电子琴设计文档格式.docx

1、第4章 仿真测试 25 4.1 PROTEUS软件介绍 25 4.2 系统主要仿真图 25 4.3 测试 25致谢 59参考文献 60附录 代码 63(章的名称、结论、参考文献、致谢及附录小4号黑体,其余小4号宋体) 第1章 绪论1.1 概述 目前单片机的应用渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理、广泛使用的各种智能IC卡、民用豪华轿车的安全保障系统、录像机、摄像机、全自动洗衣机的控制、以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪

2、表、医疗器械了。我们所熟知的是单片机在测试控制领域中的广泛应用,但是除了这些之外,单片机还有一些有趣的应用。比如,使用单片机可以驱动蜂鸣器或者扬声器发出声音并且还可以控制其发出不同的声调,从而连接起来构成一个歌曲。 目前市场上有很多种音乐模块或者音乐芯片,可以直接产生各种曲子。但是这种模块价格比较昂贵,电路结构也相对比较复杂。如果系统中仅需要产生简单的音符或者简短的曲子,可以使用单片机配合简单的扬声器而产生所需要的音乐效果。 一般说来,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐波频率。单片机演奏的音乐基本都是单音频率。因此单片机演奏音乐比较简单,只需要清楚“音调”和“

3、节拍”就可以。 本文使用AT89S52单片机设计了一个音乐播放器,能够演奏八个音符跟自动演奏两首歌曲,该设计能使我们能够掌握用定时器的控制播放乐曲原理和设计方法,对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了MC-51单片机的的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅速,因此此课题对自己的就业有非常现实与积极的意义。1.2 研究内容 电子琴有着漂亮的外观,清澈洪亮的声音,它是现代电子科技与音乐的产物,在现代音乐中扮演着重要的角色,单片机对于电子琴的设计具有强大的控制功能。本文主要任务是,

4、基于AT89S52单片机设计一个能够播放八个音符跟自动播放两首歌曲的电子琴。1、利用PROTEL99 设计玩具电子琴的原理图 2、基于KEIL软件编写音乐播放器程序代码 3、制作实物4、对所做设计进行测试1.3理论基础 单片机音乐播放器是利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制蜂鸣器发音。要想产生音频脉冲信号,需要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用单片机定时器计时这个半个周期时间,每当计时到后就将输出脉冲的I/O口反相,然后

5、重复计时此半周期时间再对I/O口反相 这样就能在此I/O口上得到此频率的脉冲。 通常,利用单片机的内部定时器T0 工作在方式0下 改变计数初值TH0和TL0来产生不同频率。 对于音乐的节拍,每个音符使用1个字节,字节的高4位代表音符的高低 低4位代表音符的节拍。如果1拍为0.4S,1/4拍为0.1S,只要设定延迟时间就可求得节拍的时间。假设1/4拍为1DELAY,那么1拍应为4DELAY,以此类推,所以只要求得1/4拍的DELAY,其余的节拍就是它的倍数。 总而言之,一首乐曲是由音阶和节拍两大要素构成。一首乐曲演奏的原理是,不同音阶分别对应不同的频率,发出不同的音调,而节拍则控制发出音调时间的

6、长短,若将乐曲的音调连续发出,并使其按相应的节拍变化,即可演奏一首乐曲。根据这一特点我们采用单片机辅以相应的接口来设计音乐播放器。 第二章 硬件设计2.1 方案论证及系统设计本系统分为两个部分,一个是音乐播放,另一个就是电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在我自己定义的表中。具体要求如下:1.要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。2.用键盘作出电子琴的按键,每键代表一个音符。3.各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。4.弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。方案一:采用CPLD外接扬声器、键盘

7、、数码管等。主系统可由两个模块组成:当系统检测到有按键按下时,对应音符的频率由模块1获得,这是一个数控分频器。由其clk端输入一具有较高频率的信号,分频后输出。音符的持续时间须根据乐曲的速度及每个音符的节拍数决定,模块2的功能是为模块1提供决定所发音的分频预置值,而此数在模块1输入口停留的时间即为此音符的节拍值。方案二:采用单片机外接扬声器、键盘、数码管等。具体过程:当系统扫描到键盘上有键子被按下,则快速检测出是那一个键子,然后单片机的定时器被启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个键被按下,则启用中断系统,前面

8、键的发音停止,转到后按的键的发音程序,发出后按的键的音对比两套方案各有优缺点,方案一采用CPLD,工作速度快,系统稳定,效果好,但是其价格昂贵;而方案二在设计这样小型电子系统方面,无论是效果还是工作速度与方案一都相差不大,而且价格较为便宜。因此,选择方案二即单片机加外设的方式设计该系统较好。本系统以AT89S52单片机为主控制器,通过三极管驱动蜂鸣器发出声音。首先,一方面,通过变压、整流、滤波、稳压四部产生可供单片机使用的5v电。另一方面,单片机利用定时、计数器实时驱动喇叭演奏音乐。整个系统由单片机模块、电源模块、三极管驱动、喇叭组成。系统整体框图如图2-1所示 图2-1 系统整体框图由PRO

9、TEL设计的原理图如图2-2所示图2-2 系统整体原理图2.2 系统硬件分析2.2.1 单片机小系统 单片机是大规模集成电路结束发展的产物,常见的单片机有8051系列的单片机、8096系列的单片机、PIC系列、AVR系列、SPCE061A的凌阳单片机。他将中央处理器(CPU)、存储器(ROM/RAM)、输入输出接口、定时器/记数器等主要计算机部件集成在一片芯片上,因此单片机被称为单片机微型计算机(Single Chip Microcomputer).单片机配上适当的外围设备和软件,便可构成一个单片机应用系统。本次设计对单片机的要求:只要能够驱动蜂鸣器即可,其他并无特殊要求。故选择常见的美国In

10、ter公司生产的MCS-51系列单片机,它具有可高性高、功能强、体积小、价格低、和抗干扰能力强等特点,被广泛应用于工农业生产、国防、科研及日常生活等各个领域。而且本组同学也比较熟悉。 我们选择的ATMEL公司的AT89S52单片机,他是一种低功耗、高性能CMOS8位微控制器,具有8K ISP(在系统可编程)Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有

11、效的解决方案。AT89S52具有如下特点: 兼容MCS-51指令系统 32个双向I/O口 3个16位可编程定时/计数器 全双工UART串行中断口线 2个外部中断源 中断唤醒省电模式 看门狗(WDT)电路 灵活的ISP字节和分页编程 4.5-5.5V工作电压 时钟频率0-33MHz 2568bit内部RAM低功耗空闲和省电模式 3级加密位 软件设置空闲和省电功能 双数据寄存器指针 8k可反复擦写(1000次)ISP Flash ROM AT89S52主要引脚的主要功能: VCC:接+5V电源。 GND:接地P0口:P0口为一个8位漏极开路双向I/O口,作为输出口,每位能驱动8个TTL逻辑电平。对

12、P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0口具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.1分别作定时器/记数器2的外部记数输入(P1.0/T2)和定时器/记数器2的触发输入(

13、P1.1/T2EX)。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。在访问外部程序存储器或用16位地址读取外部数据存储器(例如MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口P2 口使用很强的内部上拉发送1。P3口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)

14、RST:复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/ PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置

15、“1”,ALE操作将无效。这一位置 “1”,ALE仅在执行MOVX 或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号。 当AT89S52从外部程序存储器执行外部代码时,PSEM在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。 为了执行内部程序指令,EA应该接VCC。 在flash编程期间,EA也接收12伏VPP电压 XTAL1:

16、振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。单片机小系统是整个数控系统的核心部分。主要包括AT89S52单片机、振荡电路、复位电路等。系统整体原理图如图2-3所示 图2-3 单片机小系统AT89S52单片机的P0口是个双向口,可以作输出输入口,在本系统中用作显示部分,用来给数码管传送位码,P1口也是个双向口,主要接DAC0832、 P3口用来接收PC来的串口数据。而P3口主要用于中断。复位电路 复位是单片机初始化操作。复位将单片机复到初始化状态,目的是使CPU及个专用寄存器处于一个确定的初始状态。如前面介绍,在单片机的复位信号RST上保持2个机器周期以上的

17、高电平,单片机就会复位。本次设计采用的是手动复位方式,利用按键闭合是单片机复位端上保持接通高电平状态两个机器周期以上。振荡电路 该电路是由内部反相放大器通过引脚XTAL1和引脚XTAL2与外接的晶体以及电容C6和C7构成,产生出晶体振荡信号。此晶振信号接至内部的时钟电路。图中的晶振频率为11.0592MHz,外接晶体时,电容C6和C7通常选30pF。虽然对外接电容没有严格要求,但电容的大小会影响振荡频率、振荡器的稳定性和起振的速度。振荡器的这些特性对弹片机的应用影响很大,因此在设计印刷电路板时,应使晶体和电容尽可能与单片机靠近,以保证稳定可靠。 2.2.2 供电模块 当今社会人们极大的享受着电

18、子设备带来的便利,但是任何电子设备都有一个共同的电路-电源电路。大到超级计算机、小到袖珍计算器,所有的电子设备都必须在电源电路的支持下才能正常工作。当然这些电源电路的样式、复杂程度千差万别。超级计算机的电源电路本身就是一套复杂的电源系统。通过这套电源系统,超级计算机各部分都能够得到持续稳定、符合各种复杂规范的电源供应。袖珍计算器则是简单多的电池电源电路。不过你可不要小看了这个电池电源电路,比较新型的电路完全具备电池能量提醒、掉电保护等高级功能。可以说电源电路是一切电子设备的基础,没有电源电路就不会有如此种类繁多的电子设备。由于电子技术的特性,电子设备对电源电路的要求就是能够提供持续稳定、满足负

19、载要求的电能,而且通常情况下都要求提供稳定的直流电能。提供这种稳定的直流电能的电源就是直流稳压电源。直流稳压电源在电源技术中占有十分重要的地位。本系统供电采用传统的变压、整流、滤波、稳压四部分组成。供电模块如图2-4所示 交流220V从插头CON2输入,经过变压器T1变压后大约将至十几伏,此时仍为交流电,经过桥式整流后变为直流,经过电容C4滤波后,进入三端稳压器7805进行稳压后输出+5V。方案二开关电源是利用现代电力电子技术 控制开关晶体管开通和关断的时间比率 维持稳定输出电压的一种电源 开关电源一般由脉冲宽度调制 PWM 控制IC和开关器件 MOSFET、BJT等 构成。开关电源和线性电源

20、相比 二者的成本都随着输出功率的增加而增长 但二者增长速率各异。线性电源成本在某一输出功率点上 反而高于开关电源。随着电力电子技术的发展和创新 使得开关电源技术在不断地创新 这一成本反转点日益向低输出电力端移动 这为开关电源提供了广泛的发展空间。 开关电源高频化是其发展的方向 高频化使开关电源小型化 并使开关电源进入更广泛的应用领域 特别是在高新技术领域的应用 推动了高新技术产品的小型化、轻便化。另外开关电源的发展与应用在节约能源、节约资源及保护环境方面都具有重要的意义。开关电源的工作过程相当容易理解,在线性电源中,让功率晶体管工作在线性模式,与线性电源不同的是,PWM开关电源是让功率晶体管工

21、作在导通和关断的状态,在这两种状态中,加在功率晶体管上的伏-安乘积是很小的,在导通时,电压低,电流大,关断时,电压高 电流小,功率器件上的伏安乘积就是功率半导体器件上所产生的损耗。与线性电源相比,PWM开关电源更为有效的工作过程是通过“斩波”,即把输入的直流电压斩成幅值等于输入电压幅值的脉冲电压来实现的。脉冲的占空比由开关电源的控制器来调节。一旦输入电压被斩成交流方波,其幅值就可以通过变压器来升高或降低。通过增加变压器的二次绕组数就可以增加输出的电压组数。最后这些交流波形经过整流滤波后就得到直流输出电压。控制器的主要目的是保持输出电压稳定,其工作过程与线性形式的控制器很类似。也就是说控制器的功

22、能块、电压参考和误差放大器,可以设计成与线性调节器相同。他们的不同之处在于,误差放大器的输出,误差电压,在驱动功率管之前要经过一个电压/脉冲宽度转换单元。 开关电源有两种主要的工作方式,正激式变换和升压式变换。尽管它们各部分的布置差别很小 但是工作过程相差很大,在特定的应用场合下各有优点。综合比较,方案一简单但是不稳定,方案二稳定但复杂,经综合考虑,我们选用方案二。 第三章 软件设计 本软件要实现的功能是:单片机实现玩具电子琴功能。要让蜂鸣器发出某音调的声音,只要给蜂鸣器输送该音调频率的电平信号就可以了。由于单片机I/O口的输出只有高电平“1”和低电平“0”两种状态,因此向蜂鸣器输送的电平信号

23、实际上就是该音频的方波。例如中音“1”的频率为532Hz,它的周期为1/532s,即1.91ms。因此,只要向蜂鸣器输送周期为1.91ms的脉冲方波电平信号就能发出532Hz的音调,该方波的半周期为1.91/2=0.955ms。为此,需要利用定时器的中断,让输送给蜂鸣器的电平信号每0.955ms取反一次即可。因为所选的单片机的晶振为11.0592MHz,它的一个机器周期为12(1/11.0592)s=1.058s,因此需要的机器周期总数为 955s/1.085s=880 即定时器的定时常数就应取为880。根据上述分析,发出频率为f的音频时,定时常数C计算公式为(106/2f)s/1.085s=

24、460 830/f=C T0工作于方式0,最大计数为8192,完全可以满足各音频定时常数设置的需要。可以证明,在已知定时常数为C的条件下,13位计数器的高8位和低5位的初值可由以下公式设定: 证明这是13位计数器TH0高8位的赋值方法 TL0=(8192-C)%32;2、节拍控制因为假设节拍为每分钟72拍,则每个节拍需时间: 100060ms/72=833ms 根据乐谱知识,选择相应的延时即可程序采用KEIL软件C语言编写 3.1 KEIL软件介绍 KEIL usioIl2软件是KEIL公司的产品。KEIL公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。KEIL C51标准C编

25、译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C5l编译器的功能不断增强,使用户可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到usion2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVisioll2 DE可为它们提供单一而灵活的开发环境。 3.2系统流程 3.2.1 系统主流程单片机上电后,首先做系统初始化,然后对定时/计数器进行初始化,在初始化后,通过定时/计数器中断输出不同的频率,然后调用不同的延时单位来实现节拍。如图3-1所示 3-1 系统整体流程图3.2.2 中断初始化流程 中断初始

26、化主要包括设置定时计数器工作方式、开中断、赋初值等一系列操作,中断初始化主要流程图如图3-2所示 图3-2 串口初始化主要流程图 第四章 仿真测试 4.1 PROTEUS 软件介绍 PROTEUS软件如图4-1所示图4-1 PROTEUS软件Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 其功能特点如下: Proteus软件具有其它工具软件(例:multisim)的功能。这些功能是:原理布图,PCB自动或人工布线,SPICE电路仿真。革命性的特点:(1)互动的电路仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。(2)仿真处理器及其外围电路,可以仿真51系列、AVR、PIC等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。具有3大功能模块:(1)个易用而又功能强大的IS

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

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