《基于AT89S52的玩具电子琴设计.doc》由会员分享,可在线阅读,更多相关《基于AT89S52的玩具电子琴设计.doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 基于AT89S52的玩具电子琴设计摘要:随着电子技术的发展,数字系统正朝着速度快、容量大、体积重量轻的方向发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。其中尤其单片机技术的不断发展,使得单片机在日用生活用品中的应用越来越广泛。本文利用AT89S52单片机,设计了一种玩具电子琴,该电子琴除了可以演奏1-8八个音符以外,还可以自动播放两首歌曲,是单片机的又一扩展应用。本文详细介绍了电子琴的工作原理及硬件软件设计,并制作了实物,测试结果显示,系统运行良好。关键词:单片机
2、蜂鸣器 音乐Abstract:With the development of electronic technology, digital system is moving fast, large capacity, the volume and the weight of the light direction. Under its impetus, the modern electronic products penetrated almost every field of the society, a strong impetus to the development of social
3、 productivity and the improvement of social information-based degree, simultaneously also makes the modern electronic products to further improve the performance, product upgrading are increasingly fast pace. Development especially computer technology, the microcomputer applications in daily life su
4、pplies more and more widely in the. In this paper, using AT89S52 microcontroller, design a toy electronic organ, the organ, in addition to playing eight notes, can also automatically play two songs, is an extended application of mcu. This paper introduces the working principle and hardware and softw
5、are design of the electronic organ, and create a physical, test results show that, the system runs wellKeyword: MCU buzzer music目 录第1章 绪论1 1.1 概述1 1.2 研究内容3 1.3 理论基础5第2章 硬件设计1 2.1 方案论证及系统设计1 2.2 系统硬件分析1 2.2.1 单片机小系统25 2.2.2 供电模块25第3章 软件设计1 3.1 KEIL软件介绍1 3.2 系统流程1 3.2.1 系统主流程25 3.2.2 中断初始化流程25第4章 仿真测
6、试25 4.1 PROTEUS软件介绍25 4.2 系统主要仿真图25 4.3 测试25致谢59参考文献60附录 代码63(章的名称、结论、参考文献、致谢及附录小4号黑体,其余小4号宋体) 第1章 绪论1.1 概述 目前单片机的应用渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置、飞机上各种仪表的控制、计算机的网络通讯与数据传输、工业自动化过程的实时控制和数据处理、广泛使用的各种智能IC卡、民用豪华轿车的安全保障系统、录像机、摄像机、全自动洗衣机的控制、以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。我们所熟知的
7、是单片机在测试控制领域中的广泛应用,但是除了这些之外,单片机还有一些有趣的应用。比如,使用单片机可以驱动蜂鸣器或者扬声器发出声音并且还可以控制其发出不同的声调,从而连接起来构成一个歌曲。 目前市场上有很多种音乐模块或者音乐芯片,可以直接产生各种曲子。但是这种模块价格比较昂贵,电路结构也相对比较复杂。如果系统中仅需要产生简单的音符或者简短的曲子,可以使用单片机配合简单的扬声器而产生所需要的音乐效果。 一般说来,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐波频率。单片机演奏的音乐基本都是单音频率。因此单片机演奏音乐比较简单,只需要清楚“音调”和“节拍”就可以。 本文使用AT
8、89S52单片机设计了一个音乐播放器,能够演奏八个音符跟自动演奏两首歌曲,该设计能使我们能够掌握用定时器的控制播放乐曲原理和设计方法,对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了MC-51单片机的的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅速,因此此课题对自己的就业有非常现实与积极的意义。1.2 研究内容 电子琴有着漂亮的外观,清澈洪亮的声音,它是现代电子科技与音乐的产物,在现代音乐中扮演着重要的角色,单片机对于电子琴的设计具有强大的控制功能。本文主要任务是,基于AT89S52单片机设计
9、一个能够播放八个音符跟自动播放两首歌曲的电子琴。1、利用PROTEL99 设计玩具电子琴的原理图 2、基于KEIL软件编写音乐播放器程序代码 3、制作实物4、对所做设计进行测试1.3理论基础 单片机音乐播放器是利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制蜂鸣器发音。要想产生音频脉冲信号,需要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用单片机定时器计时这个半个周期时间,每当计时到后就将输出脉冲的I/O口反相,然后重复计时此半周期时间再对I/
10、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,其余的节拍就是它的倍数。 总而言之,一首乐曲是由音阶和节拍两大要素构成。一首乐曲演奏的原理是,不同音阶分别对应不同的频率,发出不同的音调,而节拍则控制发出音调时间的长短,若将乐曲的音调连续发出,并使其
11、按相应的节拍变化,即可演奏一首乐曲。根据这一特点我们采用单片机辅以相应的接口来设计音乐播放器。 第二章 硬件设计2.1 方案论证及系统设计本系统分为两个部分,一个是音乐播放,另一个就是电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在我自己定义的表中。具体要求如下:1.要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。2.用键盘作出电子琴的按键,每键代表一个音符。3.各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。4.弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。方案一:采用CPLD外接扬声器、键盘、数码管等。主系统可由两个模块组成:
12、当系统检测到有按键按下时,对应音符的频率由模块1获得,这是一个数控分频器。由其clk端输入一具有较高频率的信号,分频后输出。音符的持续时间须根据乐曲的速度及每个音符的节拍数决定,模块2的功能是为模块1提供决定所发音的分频预置值,而此数在模块1输入口停留的时间即为此音符的节拍值。方案二:采用单片机外接扬声器、键盘、数码管等。具体过程:当系统扫描到键盘上有键子被按下,则快速检测出是那一个键子,然后单片机的定时器被启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个键被按下,则启用中断系统,前面键的发音停止,转到后按的键的发音程序
13、,发出后按的键的音对比两套方案各有优缺点,方案一采用CPLD,工作速度快,系统稳定,效果好,但是其价格昂贵;而方案二在设计这样小型电子系统方面,无论是效果还是工作速度与方案一都相差不大,而且价格较为便宜。因此,选择方案二即单片机加外设的方式设计该系统较好。本系统以AT89S52单片机为主控制器,通过三极管驱动蜂鸣器发出声音。首先,一方面,通过变压、整流、滤波、稳压四部产生可供单片机使用的5v电。另一方面,单片机利用定时、计数器实时驱动喇叭演奏音乐。整个系统由单片机模块、电源模块、三极管驱动、喇叭组成。系统整体框图如图2-1所示 单片机复位电路喇叭晶振复位键盘 图2-1 系统整体框图由PROTE
14、L设计的原理图如图2-2所示 图2-2 系统整体原理图2.2 系统硬件分析2.2.1 单片机小系统 单片机是大规模集成电路结束发展的产物,常见的单片机有8051系列的单片机、8096系列的单片机、PIC系列、AVR系列、SPCE061A的凌阳单片机。他将中央处理器(CPU)、存储器(ROM/RAM)、输入输出接口、定时器/记数器等主要计算机部件集成在一片芯片上,因此单片机被称为单片机微型计算机(Single Chip Microcomputer).单片机配上适当的外围设备和软件,便可构成一个单片机应用系统。本次设计对单片机的要求:只要能够驱动蜂鸣器即可,其他并无特殊要求。故选择常见的美国Int
15、er公司生产的MCS-51系列单片机,它具有可高性高、功能强、体积小、价格低、和抗干扰能力强等特点,被广泛应用于工农业生产、国防、科研及日常生活等各个领域。而且本组同学也比较熟悉。 我们选择的ATMEL公司的AT89S52单片机,他是一种低功耗、高性能CMOS8位微控制器,具有8K ISP(在系统可编程)Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效
16、的解决方案。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逻辑电平。对P
17、0端口写“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的触发输入(P
18、1.1/T2EX)。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口P2 口使用很强的内部上拉发送1。P3口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作
19、为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) RST:复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/ PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器
20、时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE仅在执行MOVX 或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号。 当AT89S52从外部程序存储器执行外部代码时,PSEM在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。 为了执行内部程序指令,EA应该接
21、VCC。 在flash编程期间,EA也接收12伏VPP电压 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。单片机小系统是整个数控系统的核心部分。主要包括AT89S52单片机、振荡电路、复位电路等。系统整体原理图如图2-3所示 图2-3 单片机小系统AT89S52单片机的P0口是个双向口,可以作输出输入口,在本系统中用作显示部分,用来给数码管传送位码,P1口也是个双向口,主要接DAC0832、 P3口用来接收PC来的串口数据。而P3口主要用于中断。复位电路 复位是单片机初始化操作。复位将单片机复到初始化状态,目的是使CPU及个专用寄存器处于一个确
22、定的初始状态。如前面介绍,在单片机的复位信号RST上保持2个机器周期以上的高电平,单片机就会复位。本次设计采用的是手动复位方式,利用按键闭合是单片机复位端上保持接通高电平状态两个机器周期以上。 振荡电路 该电路是由内部反相放大器通过引脚XTAL1和引脚XTAL2与外接的晶体以及电容C6和C7构成,产生出晶体振荡信号。此晶振信号接至内部的时钟电路。图中的晶振频率为11.0592MHz,外接晶体时,电容C6和C7通常选30pF。虽然对外接电容没有严格要求,但电容的大小会影响振荡频率、振荡器的稳定性和起振的速度。振荡器的这些特性对弹片机的应用影响很大,因此在设计印刷电路板时,应使晶体和电容尽可能与单
23、片机靠近,以保证稳定可靠。 2.2.2 供电模块 当今社会人们极大的享受着电子设备带来的便利,但是任何电子设备都有一个共同的电路-电源电路。大到超级计算机、小到袖珍计算器,所有的电子设备都必须在电源电路的支持下才能正常工作。当然这些电源电路的样式、复杂程度千差万别。超级计算机的电源电路本身就是一套复杂的电源系统。通过这套电源系统,超级计算机各部分都能够得到持续稳定、符合各种复杂规范的电源供应。袖珍计算器则是简单多的电池电源电路。不过你可不要小看了这个电池电源电路,比较新型的电路完全具备电池能量提醒、掉电保护等高级功能。可以说电源电路是一切电子设备的基础,没有电源电路就不会有如此种类繁多的电子设
24、备。由于电子技术的特性,电子设备对电源电路的要求就是能够提供持续稳定、满足负载要求的电能,而且通常情况下都要求提供稳定的直流电能。提供这种稳定的直流电能的电源就是直流稳压电源。直流稳压电源在电源技术中占有十分重要的地位。方案一:本系统供电采用传统的变压、整流、滤波、稳压四部分组成。供电模块如图2-4所示 交流220V从插头CON2输入,经过变压器T1变压后大约将至十几伏,此时仍为交流电,经过桥式整流后变为直流,经过电容C4滤波后,进入三端稳压器7805进行稳压后输出+5V。方案二开关电源是利用现代电力电子技术控制开关晶体管开通和关断的时间比率维持稳定输出电压的一种电源开关电源一般由脉冲宽度调制
25、PWM控制IC和开关器件MOSFET、BJT等构成。开关电源和线性电源相比二者的成本都随着输出功率的增加而增长但二者增长速率各异。线性电源成本在某一输出功率点上反而高于开关电源。随着电力电子技术的发展和创新使得开关电源技术在不断地创新这一成本反转点日益向低输出电力端移动这为开关电源提供了广泛的发展空间。 开关电源高频化是其发展的方向高频化使开关电源小型化并使开关电源进入更广泛的应用领域特别是在高新技术领域的应用推动了高新技术产品的小型化、轻便化。另外开关电源的发展与应用在节约能源、节约资源及保护环境方面都具有重要的意义。开关电源的工作过程相当容易理解,在线性电源中,让功率晶体管工作在线性模式,
26、与线性电源不同的是,PWM开关电源是让功率晶体管工作在导通和关断的状态,在这两种状态中,加在功率晶体管上的伏-安乘积是很小的,在导通时,电压低,电流大,关断时,电压高电流小,功率器件上的伏安乘积就是功率半导体器件上所产生的损耗。与线性电源相比,PWM开关电源更为有效的工作过程是通过“斩波”,即把输入的直流电压斩成幅值等于输入电压幅值的脉冲电压来实现的。脉冲的占空比由开关电源的控制器来调节。一旦输入电压被斩成交流方波,其幅值就可以通过变压器来升高或降低。通过增加变压器的二次绕组数就可以增加输出的电压组数。最后这些交流波形经过整流滤波后就得到直流输出电压。控制器的主要目的是保持输出电压稳定,其工作
27、过程与线性形式的控制器很类似。也就是说控制器的功能块、电压参考和误差放大器,可以设计成与线性调节器相同。他们的不同之处在于,误差放大器的输出,误差电压,在驱动功率管之前要经过一个电压/脉冲宽度转换单元。 开关电源有两种主要的工作方式,正激式变换和升压式变换。尽管它们各部分的布置差别很小但是工作过程相差很大,在特定的应用场合下各有优点。 综合比较,方案一简单但是不稳定,方案二稳定但复杂,经综合考虑,我们选用方案二。 第三章 软件设计 本软件要实现的功能是:单片机实现玩具电子琴功能。要让蜂鸣器发出某音调的声音,只要给蜂鸣器输送该音调频率的电平信号就可以了。由于单片机I/O口的输出只有高电平“1”和
28、低电平“0”两种状态,因此向蜂鸣器输送的电平信号实际上就是该音频的方波。例如中音“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的音频时,定时常
29、数C计算公式为(106/2f)s/1.085s=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)
30、软件开发工具的独立供应商。KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C5l编译器的功能不断增强,使用户可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到usion2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVisioll2 DE可为它们提供单一而灵活的开发环境。 3.2系统流程 3.2.1 系统主流程单片机上电后,首先做系统初始化,然后对定时/计数器进行初始化,在初始化后,通过定时/计数器中断输出不同的频率,然后调用不同的延时单位来实现节拍。如图3-1所示开 始中断
31、初始化扫描按键是否按下否判断是播放歌曲播放音调 3-1 系统整体流程图3.2.2 中断初始化流程 中断初始化主要包括设置定时计数器工作方式、开中断、赋初值等一系列操作,中断初始化主要流程图如图3-2所示 开 始设置定时器工作方式设置初值开中断 图3-2 串口初始化主要流程图 第四章 仿真测试 4.1 PROTEUS 软件介绍 PROTEUS软件如图4-1所示图4-1 PROTEUS软件Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内
32、推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 其功能特点如下: Proteus软件具有其它工具软件(例:multisim)的功能。这些功能是:原理布图,PCB自动或人工布线,SPICE电路仿真。革命性的特点:(1)互动的电路仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。(2)仿真处理器及其外围电路,可以仿真51系列、AVR、PIC等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建
33、立了完备的电子设计开发环境。 具有3大功能模块:(1)个易用而又功能强大的ISIS原理布图工具;(2)PROSPICE混合模型SPICE仿真;(3) ARES PCB设计. Protues提供了丰富的资源: (1)Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。(2)Proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。(3)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号
34、,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。 (4)Proteus可提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。 软件仿真:支持当前的主流单片机,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。(1)提供软件调试功能(2)提供丰富的外围接口器件及其仿真RAM,ROM,键盘,马达,LED,LCD,AD/,部分SPI器件,部分IIC器件。这样
35、很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。(3) 提供丰富的虚拟仪器利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。(4) 具有强大的原理图绘制功能电路功能仿真:在PROTUES绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。 PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机
36、实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 软件缺点:器件库溃乏,库中缺少很多重要芯片,严重影响电路仿真软件出错或乱码,此时仿真效果不及硬件仿真。4.2 系统主要仿真图系统主要仿真图如图4-2所示 图4-2 PROTEUS系统仿真4.3 测试 本文在仿真的基础上制作了实物,并进行了测试 测试步骤: 1、接通电源 2、选择不同的按键 3、听单片机的演奏实物图测试图测试结果:系统运转正常基于单片机的音玩具电子琴能够正确播放音乐。本文完成了基于单片机的玩具电子琴的设计与模拟。包括方案设计,系统的硬件开发、软件编程与调试等。在论文完成过程中,主要做的工作有:(
37、1)基于PORTEL画了原理图。(2)利用了PROTEUS做了仿真(3)撰写了毕业论文 本文所用的单片机为AT89S52,未来在不考虑性价比的情况下,可采用STC或者430低功耗单片机。 第五章 致谢毕业设计时间虽说不是很长,但却获益良多。这要归功*老师及我院老师的辅导。在此特别感谢*老师在百忙中抽出时间为我们辅导,从选题到内容章节的安排都倾注了他大量的心血,如果没有他的耐心指导和精心点拨,是不可能顺利完成这篇论文的。在此,谨祝*老师身体健康,万事顺意!同时,我还要感谢我校论文辅导老师,他在论文写作期间给予我许多的建议和帮助。此外,在学习和论文写作期间,以及我周围的同学、朋友,都给予我许多的关
38、心与帮助、理解与支持,在此一并致谢!经过了两个多月的学习和工作,我终于完成了.的论文。从开始接到论文题目,到论文文章的完成,每走一步对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间里,我学到了很多知识也有很多感受,从对恒流源一无所知的状态,我开始了独立的学习,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。虽然我的论文作品不是很成熟,还有很多不足之处,但我可以自豪的说,这里面的每一内容,都有我的劳动。当看着自己的论文,真是莫大的幸福和欣慰。我相信其中的酸甜苦
39、辣最终都会化为甜美的甘泉。这次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。希望这次的经历能让我在以后学习中激励我继续进步。 参考文献1 常斗南. 可编程序控制器原理应用实验M. 北京:机械工业出版社,1998.7 2 何立民单片机技术的现状与未来J中国计算机报1995 3 曹明扬单片机发展动向及市场预测J计算机世界1996 4 宋浩,田丰单片机原理及应用M清华大学出版社 5 张洪润,易涛单片机应用技术教程M清华大学出版社 6 王宗和,童一帆单片机实
40、验与综合训练M高等教育出版社2005.12 7 陈文辉单片机在音乐喷泉中的应用职教与成教J福建省侨兴轻工学校2007.2 8 丛福建,吴军辉,田梦倩用MCS51单片机制作的音乐喷泉控制器J南京农专学报(第17卷第4期)2001.2 9 袁启昌,王宏宇单片机应用实训教程M科学出版社2006.210 张筱云 单片机原理及应用MSIPIVT课本教材2009.8 11 胡键,刘玉宾,朱焕立单片机原理及接口技术实践教程M机械工业出版社 12 Intel Corporation MCS-51 MICROCONTROLLER FAMILY USERS MANULMUSA1994.2 23 Atmel AT8
41、9C51 MICROCONTROLLER FAMILY USERS MANULMUSA1995.4 附录 程序/* 文件名 : 蜂鸣器唱歌.c* 描述 : 该程序实现控制蜂鸣器演奏音乐。 * 版本号 : 2.0*/#include#define uchar unsigned char#define uint unsigned intuchar Count;uchar zzz;sbit Speak =P30; /蜂鸣器器控制脚sbit Key1=P20;sbit Key2=P21;sbit Key3=P22;sbit Key4=P23;sbit Key5=P24;sbit Key6=P25;sb
42、it Key7=P26;sbit Key8=P27;sbit Key9=P36;sbit Key10=P37;sbit P1_0=P10;sbit P1_1=P11;sbit P1_2=P12;sbit P1_3=P13;uchar code table16 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char code SONG = /祝你平安0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x
43、80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x
44、10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,