数码管显示音乐盒单片机课程设计

上传人:jin****ng 文档编号:176413206 上传时间:2022-12-22 格式:DOCX 页数:27 大小:133.36KB
收藏 版权申诉 举报 下载
数码管显示音乐盒单片机课程设计_第1页
第1页 / 共27页
数码管显示音乐盒单片机课程设计_第2页
第2页 / 共27页
数码管显示音乐盒单片机课程设计_第3页
第3页 / 共27页
资源描述:

《数码管显示音乐盒单片机课程设计》由会员分享,可在线阅读,更多相关《数码管显示音乐盒单片机课程设计(27页珍藏版)》请在装配图网上搜索。

1、赣南师范学院物理与电子信息学院课程设计IV设计报告书基于AT89S52单片机的数码管显示音乐盒的设计姓名:班级:09电子科学与技术学号:指导老师:时间:2012/01/03内容摘要 1关键词 1AbstractKeywords 11绪论 22 系统设计 22.1 设计任务与要求 32.2 方案的选择与论证 33 系统硬件设计 43.1 控制器模块 53.2 按键模块 63.3 D/A转换模块73.4 数码管显示模块 93.5 硬件元件清单 84软件设计与仿真 94. 1主程序设计 104.2 仿真软件简介 104.3 仿真结果 114.4 系统调试12错误!未定义书签。134.5 误差分析结束

2、语附录:程序清单 13参考文献 14内容摘要:本设计是一个基于AT89C51系列单片机的音乐盒,依据单 片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个音乐盒。 该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用四 个按键控制音乐盒,一个复位键,两个控制上一曲和下一曲键,还有一个 是作为暂停和开始播放键,本音乐盒共有六首歌曲。播放歌曲时,蜂鸣器 发出某个音调,与之对应歌曲号码以LED显示。本设计利用KEIL编程软 件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿 真调试,节约了设计时间。关键词:音乐盒;AT89C51单片机;KEIL; PROTEUS

3、;音调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 box. Mainly by the keys of the music box circuit, reset circuit, clock circuit and the buzzer composi

4、tion. 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, the buzzer sounded a tone, corresponding LED lights up. This design using KEIL programming softwa

5、re 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 绪论现如今单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化 等几个方面发展。单片机应用的重要意义还在于它从根本上改变了传统的 控制系统设

6、计思想和设计方法。从前必须由模拟电路或数字电路实现的大 部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件 的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机渗透 到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹 的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工 业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用 豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及 程控玩具、电子宠物等等,这些都离不开单片机。随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加 并且日益复杂。面对浩如烟海的信息,人们

7、已经能够利用计算机等工具高 效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人, 还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术 的结合,使信息传输交流向着智能可视化方向迅速发展。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高 的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化 享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生 产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小, 重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一 定的商业价值。2系统设计2.1设计任务与要求(1) 利用I/O

8、 口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从 而演乐曲(内存两首乐曲)。(2) 采用七段数码管显示当前播放的歌曲序号。(3) 可通过功能键选择乐曲,K1下一曲,K2上一曲,K3暂停、播放K4复 位。2.2方案的选择与论证2.2.1总体设计方案方案一:用7个按键控制音乐的播放。6个按键选择6首不同的音乐 播放,另一个按键控制音乐的停止。按下播放键,用一点简单的控制之 后,才开始播放音乐。比如,用定时器控制,亮灯倒计时10秒然后触发 音乐播放。方案二:(1)要产生音频脉冲,只要算出某一音频的周期(1/音频), 然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间, 每当计时

9、到后就将输出脉冲的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首音乐,另 一个键控制音乐播放的停止。但是我们却只能选择6首音乐,局限性太强 了。方案二中采用控制模块可避免分立元件过多易于出错、所需元件多 等

10、缺点,且采用硬、软件结合的方法优化了功能和调试的过程。综上所述,选择方案二,使用单片机实现更优。3系统硬件设计本系统由控制器模块、按键模块、LED显示模块和播放模块4个模块组成,系统硬件组成框图如图1所示。系统总体电路原理图如图2所示。图1系统组成框图C130pFIX1CRYSTALC230pFU1 -,1615147312卷91RN1RX8C312345678XTAL1P0.0/AD0XTAL2P0.1/AD1P0.2/AD2P0.3/AD3RSTP0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7PSENP2.0/A8P2.1/A9 P2.2/A10 P2.3/A11ALEEA

11、P2.4/A12P2.5/A13P1.0P2.6/A14P2.7/A15P3.0/RXDP1.1P3.1/TXDP1.2P1.3P1.4P3.2/INT0P3.3/INT1P3.4/T0P1.5P3.5/T1P1.6P3.6/WR*1:7P3.7/RDI19189AT89C5129_30311234567839託37%35甜33吃朗22羽24笳26刀羽CCVR5R10uFR3丫 10k图2系统电路原理图3.1控制器模块本系统控制器芯片采用AT89S52单片机,其管脚图如图3所示。1-1- 3-Ji ci-g o L -2 3Pl 1PQiP13 叽-Fl JPO5Pl 3POPl -6PO.5

12、Fl 7PtRSTPtk7PMKXD EAPii-INTii FSENp、护i?5TrP3.4.T&P1.5.T1 P心两.Py RX)XTA12XTAI1GND7- .& 5 4 - Il P2L:JP2.P2P2L:JP2.P2Q n- A- 岳,T 3 Q I QQ齐 6 1 * 3 3 3 3 33- 3 3 3 2 2 1T 2 2 2 2 2ATW品2:图3 AT89S52管脚图AT89S52是一种低功耗、高性能CM0S8位微控制器,具有8K在系统 可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造, 与工业80C51产品指令和引脚完全兼容。片上Flash允许程

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

14、位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及 时钟电路。另外,AT89S52可降至OHz静态逻辑操作,支持2种软件可选 择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串 口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。3.2数码管显示模块LED显示电路是由8个LED发光二极管组成,连接方式为共阳极,LED接到单片 机的 P1 口,若为低电平,可使 LED 亮起。发光二极管的亮、灭由内部程序控制,8 个 LED 发光二极管分别对应不同的音阶,所以 LED 会随着音阶的变化按规律亮、

15、灭。EngPZ.I.3I=e匚DEFC CP 12Lran-usra.iuiii niJJin nijjraFDnE miurvFUN口 rF;N1图4数码管显示电路3.3时钟震荡模块AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为 反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石 英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对 外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微 影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳 定性。如果使用石英

16、晶体,我们推荐电容使用30PF土 10PF,而如果使 用陶瓷振荡器建议选择40PF 土 10PF。用户也可以采用外部时钟。采用 外部时钟的电路如图示。这种情况下,外部时钟脉冲接到XTAL1端,即 内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一 个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比 没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合 产品技术条件的要求。振荡器电路图如下:C1XTL2XTAL2XTAL1EXTERNALOSCILLATORSIGNALXTAL1GNDGND图5单片机内部、外部振荡电路3.4播放模块播放模块是由8550 NP

17、N三极管和电磁蜂鸣器组成。AT89S52输出 高电平控制信号,启动8550 NPN三极管使信号放大,从而启动电磁蜂鸣 器。与LM386和喇叭的组合相比较,该播放模块存在一定噪声.音响效 果较差。但由于所需驱动功率较小,驱动器件要求不高,并能降低设计成 本。因此,必须选用8550 NPN三极管和电磁蜂鸣器则能满足系统要求。3.5 硬件元件清单系统元器件清单见表 2。名称数量(个)型号备注电阻6排阻 RX8(1 个)1k(2 个),5.5k(1 个),10k(1 个),15(1 个)数码管17SEG-DIGITAL开关4BUTTONK1K1K3K4单片机1AT89C51三极管12N3906扬声器1

18、SPEAKER电源2POWER5V电容3GROUND30pf(2 个),10uf(1 个)晶振1CRYSTAL4软件设计与仿真本系统程序包括主程序、键盘扫描子程序、发送键码子程序、发送数 据子程序、接收命令子程序等。主程序用于系统初始化,子程序调度等。 键盘扫描子程序用于扫描键盘状态,将被按键的位置号存入缓冲器中。发 送键码子程序用于将缓冲区键的接通码或断开码发送给单片机接口。发送 数据子程序用于将数据发给单片机接口。接收命令子程序用于接收单片机 接口发来的键盘命令。4.1主程序设计本程序可以实现课程设计的基本要求,并可以通过按键播放两首歌 曲,主程序流程图如图 6 所示。束图 6 主程序流程

19、图4.2 仿真软件简介Proteus 是英国 Labcenter 公司开发的电路分析与实物仿真软件。它运 行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成 电路,该软件的特点是:(1) 实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿 真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态 仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚 拟仪器,如示波器、逻辑分析仪、信号发生器等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有: ARM7(LPC21xx)、8051/52 系列、AVR 系列、PIC10/12/

20、16/18 系列、HC11 系列以及多种外围芯片。(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置 断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此 在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编 译和调试环境,如Keil C51 uVision2、MPLAB等软件。(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功 能极其强大。Proteus7.5是目前最好的模拟单片机外围器件的工具,可以仿真51 系列、AVR、PIC等常用的MCU及其外围电路(如LCD、RAM、ROM、键盘、 马达、LED、AD/DA、部

21、分SPI器件、部分IIC器件等)。软件编译采用KEIL C51软件,Keil C51是美国Keil Software公司 出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在 功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具, 全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码, 就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇 编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 4.3仿真结果按照上面设计

22、的电路在 proteus 软件内画图, 打开单片机软件开发系统Keil,选择89c51单片机,在其中编写程序,运行生成一个后缀名为 hex的文件,然后将该文件下载到proteus中的AT89c51单片机中进行仿 真,观察实验现象。仿真能实现播放音乐,按键选择曲目,暂停,播放功 能。仿真成功后,安装好实验板,然后将音乐程序下载到电路板内 ,观察 结果。能实现播放音乐,按键换曲等功能。4.4系统调试程序调试中出现的问题及解决的办法:(1)有时会出现程序一点错误也没有,但就是不能正常运行的现象, 最后我们发现是因为程序中有的指令书写得不规范导致的,例如有的RET 返回指令一定要按正确格式书写或在两行

23、指令间最好不要留空行。(2)程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们 就遇到过跳转指令用错程序无法正常运行的现象。当用JNZ指令时,跳转 范围比较少,这时要用一个标号中转。(3)编程时要注意,在程序开始时,要写入各定时器中断的入口地址。(4)编程过程中要注意加注释或分割线,否则,在程序过长时容易变 得很乱,不便于查找或更改。(5)编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设 计思路完全可以按着MP3的工作方式列写流程图。(6)LCD计时正常显示的解决办法: 两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器1设定在方式3,计250us,由于定时中断过于频繁

24、,使CPU负载过大,导 致音乐不能正常播放,时间不能正常显示。解决办法:将定时器1设定在工作方式1,16位计数,计50ms,效果 有很大改观。但还有问题。改进方案:若采用可以定时时间更长的单片机,可以避免所有问题。结束语本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。本设计 特点有:(1)与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和 弦音乐; (2) 电子式音乐盒动力来源是电池,制作工艺简单,可进行批量 生产,所以价格便宜; (3)基于单片机制作的电子式音乐盒,控制功能强大, 可根据需要选歌,使用方便;(4)根据存储容量的大小,可以尽可能多的存 储歌曲;(5)可以设计彩灯外观效果

25、,使音乐盒的功能更加丰富。但由 于 AT89C51 分辨率不是太高,音乐有点单调,另外,由于时间关系具体电 路还有的地方不尽完善之处。(6)因容量问题无法容纳五首歌曲Header:单片机:数码管显示音乐播放File Name: 数码管显示音乐播放Author: 戴启盛Date: 2012/01/03 #include #define uchar unsigned char#define uint unsigned int void delay(uint time)/delay 一次即延时约 20msuint i;while(time-) for(i=0;i4)=0) j=0;else if(m

26、sci4)=1) j=7;else if(msci4)=2) j=14;/音符区域if(up) j+=7;/升八度音/else if(msci+14)=1) delay(1); if(msci+14)=0) /判断是否升音标志 th=timerj+(msci&0x0f)4;tl=timer(msci&0x0f)&0x0f; else th=timerupj+(msci&0x0f)4;tl=timerup(msci&0x0f)&0x0f; TH0=th;TL0=tl;TR0=1;if(msci&0x0f)=0) TR0=0; /休止符 i+;delay(speed*(msci&0x0f);TR0

27、=0;i+;void IN_0() interrupt 0/外部中断 0delay(5);count+;stop=1;if(count=6)count=1;/* if(INT0=0)stop=1;count+; if(count=7) count=0; */void IN_1() interrupt 2delay(5);count-;stop=1;if(count=0)count=5;/* if(INT1=0)stop=1;if(count=0)count=6;count-;*/void T_1() interrupt 3/定时器 1delay(2);if(T1=0)s+;t=s%2;if(t

28、)EX0=EX1=0;elseEX0=EX1=1;void main()EA=ET0=1;EX0=1;IT0=1;EX1=1;IT1=1;while(1)P1=tablecount;switch (count)case 0:play(ting,10,0); break;case 1:play(fause,10,0); break;case 2:play(qingzang,10,0); break;case 3:play(qingzang,10,1); break;case 4:play(red,10,1);break;case 5:play(red,10,0);break;case 6:pla

29、y(xingyue,10,0); break;参考文献1 林立、张俊亮、曹旭东、刘得军.单片机原理及应用基于Proteus和Keil C.北京:电子工业出版社,2009.072 谭浩强.C程序设计(第二版)M.北京:清华大学出版社,1999.3 John Markus.电子电路大全M.北京:计量出版社,19954 阎石数字电子技术基础M.北京:高等教育出版社,1998.12,第4 版5 李广第,朱月秀,王秀山单片机基础M.北京:北京航空航天大学 出版社,2001.6 陈小忠,黄宁.单片机接口技术实用子程序M,北京:北京人民邮 电出版社, 2005.7 欧伟明,周春临,瞿遂春电子信息系统设计M,

30、西安电子科技大 学出版社,2005.9.8 贾立新,王涌电子系统设计与实践M,北京:清华大学出版社,2007.9 罗亚非凌阳16位单片机应用基础M,北京:北京航空航天大学出 版社,2003.10 雷思孝凌阳单片机原理及实用技术M,西安电子科技大学,2004.赣南师范学院迦一2012学年第二学期课程论文行政班级:09电子科学与技术学号090803005姓名: 戴启盛选课班级:09电子科学与技术 任课教师:刘小燕 成绩:课程论文题目: 基于AT89C51单片机的音乐盒的设计和分析设计要求:利用I/O 口产生一定频率的方波,驱动蜂鸣器,发出不同 的音调,从而演乐曲(内存两首乐曲)。(2) 采用七段数码管显示当前播放的歌曲序号。(3) 可通过功能键选择乐曲,K1下一曲,K2上一曲,K3暂停、播放,K4复位。教师评语:教师签字:年 月曰

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!