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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(数码管显示音乐盒单片机课程设计戴启盛 090803005.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数码管显示音乐盒单片机课程设计戴启盛 090803005.docx

1、数码管显示音乐盒单片机课程设计戴启盛 090803005赣 南 师 范 学 院物理与电子信息学院课程设计设计报告书基于AT89S52单片机的数码管显示音乐盒的设计* * 班级: 09电子科学与技术 学号: * * * 时间: 2012/01/03 内容摘要:本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用四个按键控制音乐盒,一个复位键,两个控制上一曲和下一曲键,还有一个是作为暂停和开始播放键,本音乐盒共有六首歌曲。播放歌曲时,蜂鸣器发出某个音调,与之对应歌曲号

2、码以LED显示。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。关键词:音乐盒;AT89C51单片机; KEIL; PROTEUS; 音调Abstract:This design is a series based on AT89C51 microcontroller Music Box, based on principles of SCM technology, through the production of hardware and software compilation, designed a music bo

3、x. Mainly by the keys of the music box circuit, reset circuit, clock circuit and the buzzer composition. Using four buttons control music box, A reset button, two control keys on the one and the next one, there is a pause and start playing as a button, the music box a total of six songs. Play a song

4、, the buzzer sounded a tone, corresponding LED lights up. This design using KEIL programming software to program the music box and debug source code, with the PROTEUS simulation software to simulate hardware, debugging, saving design time.Keywords:: Music Box ;AT89C51 SCM; KEIL; PROTEUS; TONE1绪论现如今单

5、片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像

6、机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心

7、元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。2 系统设计2.1 设计任务与要求(1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(内存两首乐曲)。(2)采用七段数码管显示当前播放的歌曲序号。(3)可通过功能键选择乐曲, K1下一曲,K2上一曲,K3暂停、播放,K4复位。2.2 方案的选择与论证2.2.1 总体设计方案 方案一:用7个按键控制音乐的播放。6个按键选择6首不同的音乐播放,另一个按键控制音乐的停止。按下播放键,用一点简单的控制之后,才开始播放音乐。比如,用定时器控制,亮灯倒计时10秒然后触发音乐播

8、放。方案二:(1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲(2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。2.2.2 方案论证 在方案一中,共用了7个按键,其中6个按键控制播放6首音乐,另

9、一个键控制音乐播放的停止。但是我们却只能选择6首音乐,局限性太强了。 方案二中采用控制模块可避免分立元件过多易于出错、所需元件多等缺点,且采用硬、软件结合的方法优化了功能和调试的过程。综上所述,选择方案二,使用单片机实现更优。3 系统硬件设计本系统由控制器模块、按键模块、LED显示模块和播放模块4个模块组成,系统硬件组成框图如图1所示。系统总体电路原理图如图2所示。图1系统组成框图图2 系统电路原理图3.1 控制器模块本系统控制器芯片采用AT89S52单片机,其管脚图如图3所示。图3 AT89S52管脚图AT89S52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash

10、存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52的主要特性是:与MCS-51单片机产品兼容;8K字节在系统可编程Flash存储器;1000次擦写周期;三级加密程序存储器;32个可编程I/O口线;三个16位定时器/计数器;8个中断源;全双工UAR串行通道;低功耗空闲和掉电模式;掉电后中断可唤醒;有看门狗定时器;双数据指针。AT89S52具有以下

11、标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.2 数码管显示模块LED显示电路是由8个LED发光二极管组成,连接方式为共阳极,LED接到单片机的P1口,若为低电平,可使LED亮起。发光二极管的亮、灭由内部程序控制,

12、8个LED发光二极管分别对应不同的音阶,所以LED会随着音阶的变化按规律亮、灭。图4 数码管显示电路3.3时钟震荡模块 AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF10PF,而如果使用陶瓷振荡器建议选择40PF

13、10PF。用户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。振荡器电路图如下: 图5 单片机内部、外部振荡电路3.4 播放模块 播放模块是由8550 NPN三极管和电磁蜂鸣器组成。AT89S52输出高电平控制信号,启动8550 NPN三极管使信号放大,从而启动电磁蜂鸣器。与LM386和喇叭的组合相比较,该播放模块存在一定噪声音响效果较差。但由于

14、所需驱动功率较小,驱动器件要求不高,并能降低设计成本。因此,必须选用8550 NPN三极管和电磁蜂鸣器则能满足系统要求。3.5硬件元件清单系统元器件清单见表2。名称数量(个)型号备注电阻6排阻RX8(1个)1k(2个),5.5k(1个),10k(1个),15(1个)数码管17SEG-DIGITAL开关4BUTTONK1K1K3K4单片机1AT89C51三极管12N3906扬声器1SPEAKER电源2POWER5V电容3GROUND30pf(2个),10uf(1个)晶振1CRYSTAL4软件设计与仿真本系统程序包括主程序、键盘扫描子程序、发送键码子程序、发送数据子程序、接收命令子程序等。主程序用

15、于系统初始化,子程序调度等。键盘扫描子程序用于扫描键盘状态,将被按键的位置号存入缓冲器中。发送键码子程序用于将缓冲区键的接通码或断开码发送给单片机接口。发送数据子程序用于将数据发给单片机接口。接收命令子程序用于接收单片机接口发来的键盘命令。4.1主程序设计本程序可以实现课程设计的基本要求,并可以通过按键播放两首歌曲,主程序流程图如图6所示。图6 主程序流程图4.2 仿真软件简介Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:(1)实现了单片机仿真和SPICE电路仿真相结

16、合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51

17、uVision2、MPLAB等软件。(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。Proteus7.5是目前最好的模拟单片机外围器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如LCD、RAM、ROM、键盘、马达、LED、AD/DA、部分SPI器件、部分IIC器件等)。软件编译采用KEIL C51软件,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会

18、更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.3 仿真结果 按照上面设计的电路在proteus软件内画图, 打开单片机软件开发系统Keil,选择89c51单片机,在其中编写程序,运行生成一个后缀名为hex的文件,然后将该文件下载到proteus中的AT89c51单片机中进行仿真,观察实验现象。仿真能实现播放音乐,按键选择曲目,暂停,播放功能。仿真成功后,安装好

19、实验板,然后将音乐程序下载到电路板内 ,观察结果。能实现播放音乐,按键换曲等功能。 4.4 系统调试程序调试中出现的问题及解决的办法: (1) 有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的指令书写得不规范导致的,例如有的RET返回指令一定要按正确格式书写或在两行指令间最好不要留空行。 (2) 程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们就遇到过跳转指令用错程序无法正常运行的现象。当用JNZ指令时,跳转范围比较少,这时要用一个标号中转。 (3) 编程时要注意,在程序开始时,要写入各定时器中断的入口地址。 (4) 编程过程中要注意加注释或分割

20、线,否则,在程序过长时容易变得很乱,不便于查找或更改。 (5) 编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设计思路完全可以按着MP3的工作方式列写流程图。 (6) LCD计时正常显示的解决办法: 两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器1设定在方式3,计250us,由于定时中断过于频繁,使CPU负载过大,导致音乐不能正常播放,时间不能正常显示。解决办法:将定时器1设定在工作方式1,16位计数,计50ms,效果有很大改观。但还有问题。改进方案:若采用可以定时时间更长的单片机,可以避免所有问题。结束语 本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。本设计特点有:

21、(1)与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐; (2) 电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜; (3)基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便;(4)根据存储容量的大小,可以尽可能多的存储歌曲;(5)可以设计彩灯外观效果,使音乐盒的功能更加丰富。但由于AT89C51分辨率不是太高,音乐有点单调,另外,由于时间关系具体电路还有的地方不尽完善之处。(6)因容量问题无法容纳五首歌曲 /* Header: 单片机:数码管显示音乐播放 File Name: 数码管显示音乐播放 Author: 戴启盛 Date: 2012/

22、01/03*/#include #define uchar unsigned char#define uint unsigned intvoid delay(uint time) /delay一次即延时约20ms uint i; while(time-) for(i=0;i2580;i+) ; /约20msuint code timer=0x0000, /各音符频率对应定时器初值/ timer为基本音符对应定时器初值, timerup为升音音符对应定时器初值。/ 1 2 3 4 5 6 7 0xf88c, 0xf95c, 0xfa15, 0xfa68, 0xfb05, 0xfb90, 0xfc

23、0c, 0xfc44, 0xfcad, 0xfd0a, 0xfd32, 0xfd83, 0xfdc8, 0xfe06, 0xfe22, 0xfe57, 0xfe85, 0xfe9b, 0xfec2, 0xfee4, 0xff02;uint code timerup=0x0000,/ timer为基本音符对应定时器初值, timerup为升音音符对应定时器初值。/ 1# 2# 3# 4# 5# 6# 7# 0xf8f3, 0xf9b9, 0xfa68, 0xfab9, 0xfb4c, 0xfbd0, 0xfc44, 0xfc7a, 0xfcdd, 0xfd32, 0xfd5d, 0xfda7,

24、0xfde8, 0xfe22, 0xfe3e, 0xfe6f, 0xfe9b, 0xfeaf, 0xfed3, 0xfef4, 0xff20;uchar th,tl;sbit out=P20;uint i=0,j=0;/* 曲子存储格式:频率,节拍;频率,节拍; 0 x 0 0 - - 0 - - - ; 0 x 0 0 - - - - - - 音域,正常为01; 频率 1 7; 是1否0升音 节拍 1 15 000203降升八度 0表示休止 是1否0顿音 若为 0 则表示停止标志*/uchar code bas=/音符0x01,0x08, 0x02,0x08, 0x03,0x08, 0x04

25、,0x08, 0x05,0x08, 0x06,0x08, 0x07,0x08,/ 0x08,0x08,0x11,0x08, 0x12,0x08, 0x13,0x08, 0x14,0x08, 0x15,0x08, 0x16,0x08, 0x17,0x08,0x21,0x08, 0x22,0x08, 0x23,0x08, 0x24,0x08, 0x25,0x08, 0x26,0x08, 0x27,0x08,0,0;uchar code red= /红河谷0x05,0x01, 0x11,0x01, 0x13,0x03, 0x13,0x01, 0x13,0x02, 0x12,0x01, 0x13,0x

26、01, 0x12,0x01, 0x11,0x03,0x05,0x01, 0x11,0x01, 0x13,0x02, 0x11,0x01, 0x13,0x01, 0x15,0x02, 0x14,0x01, 0x13,0x01, 0x12,0x04,0x15,0x01, 0x14,0x01, 0x13,0x02, 0x13,0x01, 0x12,0x01, 0x11,0x02, 0x12,0x01, 0x13,0x01, 0x15,0x01,0x14,0x03, 0x06,0x01, 0x06,0x01, 0x05,0x02, 0x07,0x01, 0x11,0x01, 0x12,0x02, 0x

27、13,0x01, 0x12,0x01, 0x11,0x04,0,0;uchar code xingyue= /星月神话0x15,0x01, 0x16,0x01, 0x15,0x01,0x14,0x01,0x15,0x02,0x14,0x01,0x13,0x01, 0x14,0x02, 0x13,0x01,0x12,0x01,0x11,0x04,0x12,0x02,0x14,0x02, 0x13,0x02,0x11,0x02, 0x06,0x04,0x14,0x01, 0x15,0x01,0x16,0x02, 0x15,0x01,0x14,0x01, 0x15,0x02,0x14,0x01, 0

28、x13,0x01,0x14,0x02, 0x13,0x01,0x12,0x01, 0x11,0x04,0x12,0x02,0x16,0x01, 0x13,0x01,0x13,0x02, 0x14,0x01,0x15,0x01, 0x14,0x04,0x12,0x03,0x14,0x01, 0x13,0x02,0x14,0x01, 0x15,0x01,0x16,0x03, 0x21,0x01,0x16,0x03, 0x00,0x01,0x12,0x03,0x14,0x01, 0x13,0x02,0x14,0x01, 0x15,0x01,0x14,0x04, 0x00,0x01,0x14,0x01

29、,0x15,0x01,0x16,0x02, 0x15,0x01,0x14,0x01,0x15,0x02,0x14,0x01,0x13,0x01, 0x14,0x02, 0x13,0x01,0x12,0x01,0x11,0x04,0x12,0x02,0x14,0x02, 0x13,0x02,0x14,0x01,0x15,0x01, 0x16,0x03,0x16,0x01,0x15,0x02,0x14,0x01, 0x15,0x01,0x16,0x02, 0x15,0x01,0x14,0x01, 0x15,0x02,0x14,0x01, 0x13,0x01,0x14,0x02, 0x13,0x01

30、,0x12,0x01, 0x11,0x04,0x12,0x02,0x16,0x01, 0x13,0x01,0x13,0x02, 0x14,0x01,0x15,0x01, 0x14,0x04,0x16,0x01,0x21,0x01, 0x22,0x03,0x22,0x01, 0x21,0x02,0x15,0x01, 0x21,0x01,0x16,0x02, 0x14,0x02,0x12,0x02,0x12,0x01,0x13,0x01, 0x14,0x02,0x15,0x01, 0x16,0x01,0x15,0x02, 0x21,0x02,0x16,0x04, 0x16,0x01,0x21,0x01, 0x22,0x03,0x22,0x01, 0x21,0x02,0x15,0x01, 0x21,0x01,0x16,0x02, 0x14,0x02,0x12,0x02,0x16,0x01,0x15,0x01, 0x14,0x02,0x15,0x01, 0x16,0x01,0x15,0x02, 0x16,0x02,0x12,0x04,0x16,0x01,0x21,0x01, 0x22,0x03,0x22,0x01, 0x21,0x02,0x15,0x

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1