基于单片机的音乐播放器毕业论文内容摘要:

几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS化、低功耗、小体 积、大容量、高性能、低价格和外围电路内装化等几个方面发展。 单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。 从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。 这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。 导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统 ,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。 随 着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。 面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。 单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。 音乐播放器是一种用于播放各种音乐文件的 多媒体 播放软件。 它涵盖了各种 音乐格式 的播放工具,比如: MP3 播放器 , WMA 播放器, MP4 播放器 等 , 它们不仅界面美观,而且操作简单 ,成为人们追捧的新宠儿。 西北工业大学明德学院毕业设计论文 2 研究内容 随着科技的发展市场上出现了许许多多的音乐播放器。 人们对播放器的要求也越来越广泛,要求也越来越广泛,越来越高。 本文设计的音乐 播放器 ,是基于单片机 AT89C51 作为硬件核心控制部分、结合三极管作为放大器、数码管构成典型的显示器的显示电路 设计制作的电子式音乐 播放器。 通过控制定时器的定时时间来产生不同频率的方波,驱动喇叭发出不同音阶的声音,再利 用延迟来控制发音时间的长短,即可控制音调中的节拍。 把乐谱中的音符和相应的节拍变换为定常数和延迟数,作为数据表格存放在存储器中。 由程序查表得到定时常数和延迟常数,分别用于控制定时产生器产生波的频率和发出该频率方波的持续时间。 当延迟时间到时。 再查下一个音符的定时常数和延迟常数。 依次下去,就可以自动演奏乐曲。 本毕业设计的主要目的是提高实践 能力,包括提高汇编等语言的编程能力及对接口等硬件的理解分析能力和设计接口电路 的能力,在进行毕业设计的过程中,可以让学生体验分析问题、提出解决方案、通过编 程等手段实现解决方案、不断调试最终达到设计要求的全过程,从而帮助学生系统地掌 握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。 本文结构安排 第一章 绪论 介绍本文研究背景、意义及内容。 第二章 系统总体设计 介绍 AT89C51 单片机基本知识, 音乐播放器系统的总体方案、功能结构图以及主要设计软件。 第三章 硬件设计 介绍音乐播放器系统硬件设计原理及电路设计。 第四章 软件设计 介绍系统的软件编程实现。 第五章 结论 西北工业大学明德学院毕业设计论文 3 总结本文所做工作并指出所存在的问题。 西北工业大学明德学院毕业设计论文 4 第二章 系统总体介绍 AT89C51 单片 机基础知识 AT89C51 包括:一个 8 位的 80C51 微处理器,片内 256 字节数据存储器 RAM/SFR,用以存放可以读写的数据,如运算的中间结果,最终结果以及欲显示的数据;片内 4kb 程序存储器 Flash ROM,用以存放程序,一些原始数据和表格; 4 个 8 位并行 I/O 口 P0~P3,每个端口既可用作输入,也可用作输出;两个 16 位的定时器 /计数器,每个定时器 /计数器都可设置 成计数方式,用以对外部事件进行计数,也可设置成定时方式,并可以根据计数或者定 时的结果实现计算机控制;具有 5 个中断源,两个中断 优先级的中断控制系统;一个全双工 UART(通用异步接受发送器)的串行 I/O 口,用于实现单片机之间或者单片机与 PC 机之间的串行通信;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接, 最高允许震荡频率 24MHz; AT89C51 与 AT80C51 相比具有节电工作方式,即休闲方式及掉电方式。 AT 89C51 单片机引脚及其功能 西北工业大学明德学院毕业设计论文 5 图 AT89C51 单片机示意图 图 为 AT89C51 单片机的引脚示意图。 ( 1) 电源引脚 Vcc( 40 脚): 典型值+ 5V。 Vss/GND( 20 脚): 接低电平。 ( 2) 外部晶振 X X2 分别与晶体两端相连接。 当使用外部振荡器时,外部振荡信号应直接加到XTAL1,而 XTAL2 悬空。 ( 3) 输入输出口引脚 P0 口: I/O 双向口。 在 CPU 访问片外存贮器时, P0 口为分时复用的低 8位地址总线和数据总线。 P1 口: I/O 双向口。 带内部上拉电阻的 8 位准方向 I/O 端口,每位能驱动 4个 LS 型 TTL 负载。 P2 口: I/O 双向口。 带内部上拉电阻的 8 位准方向 I/O 端口,每位能驱动 4个 LS 型 TTL 负载。 在 CPU 访问片外存储器时,它输出高 8 位地址。 P3 口: I/O 双向口。 带内部上拉电阻的 8 位 准方向 I/O 端口,每位能驱动 4个 LS 型 TTL 负载。 P3 口除了作为一般 I/O 口外,每个引脚都有第二功能,如表 所示。 表 P3 端口引脚与复用功能表 口线 第二功能 RXD(串行口输入 ) TXD(串行口输出 ) 0INT (外部中断 0 输入 ) 1INT (外部中断 1 输入 ) T0 定时器 0 的外部输入 T1(定时器 1 的外部输入 WR (写选通控制输入) /RD (读选通控制输入 ) 西北工业大学明德学院毕业设计论文 6 ( 4) 控制引脚 RST/Vpd、 ALE/PROG、 PSEN、 EA/Vpp 组成了 MSC51 的控制总线。 RST/Vpd( 9 脚):复位信号输入端(高电平有效)。 第二功能:加 +5V 备用电源,可以实现掉电保护 RAM 信息不丢失。 ALE/PROG(30 脚):地址锁存信号输出端。 第二功能:编程脉冲输入。 PSEN( 29 脚):外部程序存储器读选通信号。 EA/Vpp(31 脚):外部程序存储器使能端。 第二功能:编程电压输入端( +21V)。 中央处理器( CPU) CPU 是单片机内部的核心部件, 是一个 8 位二进制数的中央处理单元, 主要由运算器、控制器和寄存器阵列构成。 运算器 用来完成算术运算和逻辑运算功能,它是 AT89C51 内部处理各种信息的主要部件。 运算器主要由算术逻辑单元 (ALU)、累加器 (ACC)、暂存寄存器(TMP TMP2)和状态寄存器 (PSW)组成。 控制器是单片机内部按一定时序协调工作的控制核心,是分析和执行指令的部件。 控制器主 要由程序计数器 PC、指令寄存器 IR、指令译码器 ID 和定时控制逻辑电路等构成。 程序计数器 PC 是专门用于存放现行指令的 16 位地址的。 CPU 就是根据 PC 中的地址 到 ROM 中去读取程序指令码和数据,并送给指令寄存器 IR 进行分析。 指令寄存器 IR用于存放 CPU根据 PC地址从 ROM 中读出的指令操作码。 指令译码器 ID 是用于分析指令操 作的部件,指令操作码经译码后产生相应于某一特定操作的信号。 定时控制逻辑中定时 部件用来产生脉冲序列和多种节拍脉冲。 寄存器阵列是单片机内部的临时存储单元或固定用途单元,包括通用寄存器 组和专用寄存器组。 通用寄存器组用来存放过渡性的数据和地址,提高 CPU的运行速度。 专用寄存器组主要用来指示当前要执行指令的内存地址,存放特定的操作数,指示指令运行的状态等。 西北工业大学明德学院毕业设计论文 7 定时器 /计数器 AT89C5 内部有两个 16 位可编程定时器 /计数器,简称为定时器 0(T0)和定时器 1(T1), T0 和 T1 分别由两个 8 位寄存器构成,其中 T0 由 TH0(高 8 位 )和TL0(低 8 位 )构成, T1 由 TH1(高 8 位 )和 TL1(低 8 位 )构成。 TH0、 TL0、 THTL1 都是 SFR 中的特殊功能寄存器。 T0 和 T1 在 TCON 和 TMOD 的控制下可工作在定时器模式或计数器模式下,每种模式下又有不同的工作方式。 当定时或计数溢出时还可申请中断。 中断系统 单片机中的中断是指 CPU 暂停正在执行的原程序转而为中断源服务 (执行中断服务 程序 ),在执行完中断服务程序后再回到原程序继续执行。 中断系统是指能够处理上述中断过程所需要的部分电路。 AT89C51 的中断系统由中断源、中断允许控制器 IE、中断优先级控制器 IP、定时器控制器 TCON(中断标志寄存器 )等构成, IP、 IE、 TCON 均为 SFR 特殊功能寄存器 (见表 )。 内 部总线 总线是用于传送信息的公共途径。 总线可分为数据总线、地址总线和控制总线。 单 片机内的 CPU、存储器、 I/O 接口等单元部件都是通过总线连接到一起的。 采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。 89C51 单片机内部总线是单总线结构,即数据总线和地址总线是公用的。 其他硬件模块 时钟与复位模块 由电容,电位器,按键组成复位电路部分,该电路接于单片机的 RESET 端可以通过按键达到手动复位的效果,也可以通过电位器和电容组成上电复位电路。 通过复位电路使单片机回到初始 状态。 西北工业大学明德学院毕业设计论文 8 图 复位电路图 晶振时钟电路 按键选择模 块 利用 到 与 构成按键阵列,可以扫描十六个按键,但本次设计只用到十个按键。 音频发生及放大器模块 由非门( 74LS04),三极管( 9014),扬声器,电阻组成的外部驱动发音电路。 该电路部分接于 端引出,经过外部非门和三极管的驱动,通过扬声器发出音乐。 设计软件介绍 本设计利用 KEIL 编程软件对音乐盒源程序进行编程并调试,配合PROTEUS 仿真软 件对硬件进行仿真调试。 PROTEUS 软件简介 Proteus 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件(该软件中国总代理为广州风标电子技术有限公司)。 它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。 它是目前最好的仿真单片机及外围器件的工具。 虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus 是世界上著名的 EDA 工具 (仿真软件 ),从原理图布图、代码调试到单片机与外围电路协同仿 真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。 是目前世西北工业大学明德学院毕业设计论文 9 界上唯一将电路仿真软件、 PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 805 HC1 PIC10/12/16/18/24/30/DsPIC3 AVR、ARM、 8086 和 MSP430 等, 2020 年即将增加 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。 在编译方面,它也支持 IAR、 Keil 和 MPLAB 等多种编译 器。 KEIL简介 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源 程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。 机器汇编是通过汇编软件将源程序变为机器码,用于 MCS51 单片机的汇编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展, Keil 软件是目前最流行开发 MCS51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。 Keil 提供了包括 C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案 ,通过一个集成开发环境( uVision)将这些部份组合在一起。 运行 Keil软件需要 Pentium 或以上的 CPU, 16MB 或更多 RAM、 20M 以上空闲的硬盘空间、 WIN9 NT、 WIN20 WINXP 等操作系统。 掌握这一软件的使用对于使用 51 系列单片机的爱好者来说是十分必要的,如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。 在开发大型软件时更能体现高级语言的优势。 第三章 硬件设计 总体设计框图 图 总体设计框图 各部分硬件设计及其原理 AT89C51 简介 AT89C51 是 一 种 带 4K 字节闪存可编程可擦除只读存储器( FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS 8 位微处理器,俗称单片机。 AT89C2051 是一种带 2K 字节闪存可编 程可擦除只读存储器的单片机。 单片机的可擦除只读存储器可以反复擦除 100 次。 该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS51 指令集和输出管脚相兼容。 由于将多功能 8 位 CPU和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器, AT89C2051 是它的一种精简版本。 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 外形及引脚排列如图 所示 西北工业大学明德学院毕业设计论文 11 图 AT89C51 系列单片机 LED 显示电路设计与原理 LED 显示电路是由 8 个 LED 发光二极管组成,连接方式为共阳极, LED 接到单片机的 P1 口,若为低电平,可使 LED 亮起。 发光二极管的亮、灭由内部程序控制, 8 个 LED 发光二极管分别对应不同的音阶,所以 LED 会随着音阶的变化按规律亮、灭。 时钟振荡电路 AT89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1和 XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。 外接石英晶体及电容 C C2接在放大器的反馈回路中构成并联振荡电路。 对外接电容 C1, C2 虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。 如果使用石英晶体,我们推荐电容使用 30PF 10PF,而如果使用陶瓷振荡器建议选择 40PF 10PF。 用户也可以采用外部时钟。 采用外部时钟的电路如图示。 这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端, XTAL2 则悬空。 由于外部时钟信号是通过一个 2 分频触发器后作为内部时钟信号的,所以对 外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 振荡器电路图如下: 西北工业大学明德学院毕业设计论文 12 图 单片机内部、外部振荡电路 系统 硬件电路图及功能 总体硬件电路实现功能如下,如图 所示 1) 电路中用 、 控制按键。 2) ~ 控制 LED。 3) 控制蜂鸣器。 4) 电路为 12MHZ 晶振频率工作,起振电路中 C C2 均为 30PF。 西北工业大学明德学院毕业设计论文 13 图 硬件电路图 西北工业大学明德学院毕业设计论文 14 第四章 软件设计 硬件电路和软件程序是组成一个系统不可缺少的两部分,二者的正确与否将直接影响 整个程序的可实现性。 在上一章中已经将整个系统的硬件部分作了介绍,在这一章中将就系统的软件部分加以分析说明。 音乐播放编码理论 音调的确定 不同音高的乐音是用 C、 D、 E、 F、 G、 A、 B 来表示,这。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。