毕业设计(论文)基于单片机控制的音乐播放器_第1页
毕业设计(论文)基于单片机控制的音乐播放器_第2页
毕业设计(论文)基于单片机控制的音乐播放器_第3页
毕业设计(论文)基于单片机控制的音乐播放器_第4页
毕业设计(论文)基于单片机控制的音乐播放器_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、四川师范大学成都学院专科毕业设计1单片机音乐播放器设计报告学生:xxx 指导教师:xxx内容摘要内容摘要:单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。根据要求设计一款音乐播放器,能实现音乐播放的简单功能,同时为了美化,添加了韵律闪烁彩灯,设计时采用keil软件编程,用protues软件仿真,核心器件采用灵活性高且价格低廉的at89c51芯片。设计完成后系统可播放自编歌曲,同时发光二极管随着歌曲韵律闪烁。关键词:单片机 at89c51 音乐播放四川师范大学成都学院专科毕业设计2英文标题abstract:abstract: scm has smal

2、l, strong function, low cost, application, advantages and intelligent control and automatic control of the core is the microcontroller. according to the requirements of a music player, design of music broadcast can realize simple function, and to beautify, added rhythm flashing lights, design is use

3、d when keil c software programming, with protues software simulation, the core device adopts high flexibility and the price is cheap at89c51 chip. the design is completed system can play wrote songs, and leds with songs rhythm flicker. keywords:keywords: scm temperature at89c51 music broadcast 四川师范大

4、学成都学院专科毕业设计- 1 -前言:微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。本毕业设计的主要目的是提高实践能力,包括提高汇编等语言的编程能力及对接口等硬件的理解分析能力和设计接口电路的能力,在进行毕业设计的过程中,可以让学生体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。四川师范大学成都学院专科毕业设计- 2 -第 1 章

5、 绪论一、单片机基础知识介绍(一)89c51 单片机包括:一个 8 位的 80c51 微处理器,片内 256 字节数据存储器 ram/sfr,用以存放可以读写的数据,如运算的中间结果,最终结果以及欲显示的数据;片内 4kb 程序存储器flash rom,用以存放程序,一些原始数据和表格;4 个 8 位并行 i/o 口 p0p3,每个端口既可用作输入,也可用作输出;两个 16 位的定时器/计数器,每个定时器/计数器都可设置成计数方式,用以对外部事件进行计数,也可设置成定时方式,并可以根据计数或者定时的结果实现计算机控制;具有 5 个中断源,两个中断优先级的中断控制系统;一个全双工 uart(通用

6、异步接受发送器)的串行 i/o 口,用于实现单片机之间或者单片机与 pc 机之间的串行通信;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许震荡频率为 24mhz;89c51 与 80c51 相比具有节电工作方式,即休闲方式及掉电方式。(二)中央处理器(cpu): cpu 是单片机内部的核心部件,是一个 8 位二进制数的中央处理单元,主要由运算器、控制器和寄存器阵列构成。1运算器:运算器用来完成算术运算和逻辑运算功能,它是 89c51 内部处理各种信息的主要部件。运算器主要由算术逻辑单元(alu)、累加器(acc)、暂存寄存器(tmp1、tmp2)和状态寄存器(psw)组成。四

7、川师范大学成都学院专科毕业设计- 3 -(1) 算术逻辑单元(alu): 89c51 中的 alu 由加法器和一个布尔处理器组成。 (2) 累加器(acc):用来存放参与算术运算和逻辑运算的一个操作数或运算的结果。(3) 暂存寄存器(tmp1、tmp2):用来存放参与算术运算和逻辑运算的另一个操作数,它对用户不开放。(4) 状态寄存器(psw):psw 是一个 8 位标志寄存器,用来存放 alu 操作结果的有关状态。2控制器:控制器是单片机内部按一定时序协调工作的控制核心,是分析和执行指令的部件。控制器主要由程序计数器 pc、指令寄存器 ir、指令译码器 id 和定时控制逻辑电路等构成。程序计

8、数器 pc 是专门用于存放现行指令的 16 位地址的。cpu 就是根据 pc 中的地址到 rom 中去读取程序指令码和数据,并送给指令寄存器 ir 进行分析。指令寄存器ir 用于存放 cpu 根据 pc 地址从 rom 中读出的指令操作码。指令译码器 id 是用于分析指令操作的部件,指令操作码经译码后产生相应于某一特定操作的信号。定时控制逻辑中定时部件用来产生脉冲序列和多种节拍脉冲。 3寄存器阵列:寄存器阵列是单片机内部的临时存储单元或固定用途单元,包括通用寄存器组和专用寄存器组。通用寄存器组用来存放过渡性的数据和地址,提高 cpu 的运行速度。专用寄存器组主要用来指示当前要执行指令的内存地址

9、,存放特定的操作数,指示指令运行的状态等。四川师范大学成都学院专科毕业设计- 4 -4存储器: 89c51 单片机内部有 256 个字节的 ram 数据存储器和 4kb的闪存程序存储器(flash),当不够使用时,可分别扩展为 64 kb 外部 ram 存储器和 64 kb 外部程序存储器。它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。这种结构的单片机称为哈佛型结构单片机。程序存储器是可读不可写的,用于存放编好的程序和表格常数。数据存储器是既可读也可写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。89c51 单片机对外部电路进行控制或交换信息都是通过 i/o 端口进行的。单片机

10、的i/o 端口分为并行 i/o 端口和串行 i/o 端口,它们的结构和作用并不相同。(1)并行 i/o 端口: 89c51 有四个 8 位并行 i/o 端口,分别命名为 p0 口、p1 口、p2 口和 p3 口,它们都是 8 位准双向口,每次可以并行输入或输出 8 位二进制信息。 (2)串行 i/o 端口:89c51 有一个全双工的可编程串行 i/o 端口,它利用了 p3 口的第二功能,即将 p3.1引脚作为串行数据的发送线 txd,将 p3.0 引脚作为串行数据的接收线 rxd。 (三)定时器/计数器:89c51 内部有两个 16 位可编程定时器/计数器,简称为定时器 0(t0)和定时器1(

11、t1),t0 和 t1 分别由两个 8 位寄存器构成,其中 t0 由 th0(高 8 位)和 tl0(低 8 位)构成,t1 由 th1(高 8 位)和 tl1(低 8 位)构成。th0、tl0、th1、tl1 都是 sfr 中的特殊功能寄存器。t0 和 t1 在 tcon 和 tmod 的控制下可工作在定时器模式或计数器模式下,每种模式下又有不同的工作方式。当定时或计数溢出时还可申请中断。四川师范大学成都学院专科毕业设计- 5 -(四)中断系统:单片机中的中断是指 cpu 暂停正在执行的原程序转而为中断源服务(执行中断服务程序),在执行完中断服务程序后再回到原程序继续执行。中断系统是指能够处

12、理上述中断过程所需要的部分电路。89c51 的中断系统由中断源、中断允许控制器 ie、中断优先级控制器 ip、定时器控制器 tcon(中断标志寄存器)等构成,ie、ip、tcon 均为 sfr 特殊功能寄存器(见表2.2)。(五)内部总线:总线是用于传送信息的公共途径。总线可分为数据总线、地址总线和控制总线。单片机内的 cpu、存储器、i/o 接口等单元部件都是通过总线连接到一起的。采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。89c51 单片机内部总线是单总线结构,即数据总线和地址总线是公用的。(六)89c51 单片机引脚及其功能:89c51 有 40 条引脚,与其他

13、 51 系列单片机引脚是兼容的。这 40 条引脚可分为i/o 端口线、电源线、控制线、外接晶体线四部分。其封装形式有两种:双列直插封装(dip)形式和方形封装形式,如图所示。四川师范大学成都学院专科毕业设计- 6 - (a) 双列直插式封装 (b) 方形封装图 1 89c51 封装和引脚分配图(七)89c51 单片机工作方式:单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。复位的作用是使中央处理器 cpu 以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。1复位原理:89c51 单片机的复位靠外部电路实现,信号由 reset(rst)

14、引脚输入,高电平有效,在振荡器工作时,只要保持 rst 引脚高电平两个机器周期,单片机即复位。复位后,pc 程序计数器的内容为 0000h,其他特殊功能寄存器的复位状态如表 2.5 所示。片内12345678910111213141516171819204039383736353433323130292827262524232221(t2)p1.0(t2ex)p1.1p1.2p1.3p1.4p1.5p1.6p1.7rst(rxd)p3.0(txd)p3.1(t0)p3.4(t1)p3.5xtal2xtal1gnd(tnt0)p3.2(tnt1)p3.3(wr)p3.6(rd)p3.7vccp0

15、.0(ad0)p0.1(ad1)p0.2(ad2)p0.3(ad3)p0.4(ad4)p0.5(ad5)p0.6(ad6)p0.7(ad7)p2.7(a15)p2.6(a14)p2.5(a13)p2.4(a12)p2.3(a11)p2.2(a10)p2.1(a9)p2.0(a8)ea/vppale/progpsenp1.5p1.6p1.7rst(rxd)p3.0nc(txd)p3.1(int0)p3.2(int1)p3.3(t0)p3.4(t1)p3.5p0.4(ad4)p0.5(ad5)p0.6(ad6)p0.7(ad7)ea/vppncale/progpsenp2.7(a15)p2.6(a

16、14)p2.5(a13)789101112131415161739383736353433323130291819202122232425262728p1.4p1.3p1.2p1.1(t2ex)p1.0(t2)ncvccp0.0(ad0)p0.1(ad1)p0.2(ad2)p0.3(ad3)(wr)p3.6(rd)p3.7xtal2xtal1gndnc(a8)p2.0(a9)p2.1(a10)p2.2(a11)p2.3(a12)p2.46543214443424140(a)(b)四川师范大学成都学院专科毕业设计- 7 -ram 中内容不变。2常用复位电路: 一般有上电复位、手动开关复位和自动复

17、位电路三种,如图所示。 (a)上电复位电路;(b) 手动复位电路;(c) 自动复位电路图 2 单片机复位电路图389c51 时钟电路: 单片机内各部件之间有条不紊的协调工作,其控制信号是在一种基本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是 cpu 时序。而产生这种基本节拍的电路就是振荡器和时钟电路。 89c51 单片机内部有一个用于构成振荡器的单级反相放大器,如图所示。 vccrstvss89c515 vc10 fr8.2 kvccrstvss89c515 vc10 fr8.2 kvccrstp1.089c515 vwdimax750wdopeset10 k10 f1

18、2(a)(b)(c)1 k89c51vccq2rfq3q4gndxtal2q1d1d2r1xtal1pd四川师范大学成都学院专科毕业设计- 8 -图 3 89c51 内部振荡器电路图引脚 xtal1 为反相器输入端,xtal2 为反相器输出端。当在放大器两个引脚上外接一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反馈元件时,便构成一个自激振荡器,如下图所示。图 4 内部振荡器等效电路图二、单片机的应用领域(一)在智能仪器仪表的应用: 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、

19、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪) 。gndxtal1r1rfvccc1c2xtal2()pd四川师范大学成都学院专科毕业设计- 9 -(二)在家用电器中的应用:可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。(三)在工业控制中的应用: 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种

20、报警系统,与计算机联网构成二级控制系统等。(四)在计算机网络和通信领域中的应用:现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。(五)单片机在医用设备领域中的应用: 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 此外,单片机在工商、金融、科研、教育、国防航空等领域都有着十分广泛的用途。 三、单

21、片机的发展趋势 单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从 8 位、16 位到 32 位,数不胜数,应有尽有,有与主流 c51 系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。四川师范大学成都学院专科毕业设计- 10 -纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:(一)微型单片化: 现在常规的单片机普遍都是将中央处理器(cpu) 、随机存取数据存储(ram) 、只读程序存储器(rom) 、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如 a/d 转换器、

22、pmw(脉宽调制电路) 、wdt(看门狗) 、有些单片机将 lcd(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中 smd(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。(二)低功耗 cmos 化:mcs-51 系列的 8031 推出时的功耗达 630mw,而现在的单片机普遍都在 100mw 左右,随着对单片机功耗要求越来越低,现

23、在的各 个单片机制造商基本都采用了 cmos(互补金属氧化物半导体工艺) 。像 80c51 就采用了 hmos(即高密度金属氧化物半导体工艺)和 chmos(互补高密度金属氧化物半导体工艺) 。cmos 虽然功耗低,但由于其物理特征决定其工作速度不够高,而 chmos 则具备了高速和低功耗的特点,这些特征,更适合于要求低功耗像电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。(三)主流与多品种共存: 现在虽然单片机的品种繁多,各具特色,但仍以 80c51 为核心的单片机占主流,兼容其结构和指令系统的有 philips 公司的产品,atmel 公司的产品和中国台湾的winbo

24、nd 系列单片机。所以 80c51 占据了半壁江山。而 microchip 公司的 pic 精简指令集合(risc)也有着强劲的发展势头,中国台湾的 holtex 公司近年的单片机产量与日俱增,与其底价质优的优势,占据一定的市场份额。此外还有 motorola 公司的产品,四川师范大学成都学院专科毕业设计- 11 -日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补、相辅相成、共同发展的道路。 九十年代以后,单片机在结构上采用双 cpu 或内部流水线,cpu 位数有 8 位、16位、32 位,时钟频率高达 20mhz,片内带有 p

25、wm 输出、监视定时器 wdt、可编程计数器阵列 pca、dma 传输、调制解调器等。芯片向高度集成化、低功耗方向的发展,使得单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等方面得到大量应用。这类单片机有 nec 公司的mpd7800,mitsubishi 公司的 m337700,revkwell 公司的 r6500。四、课题概述基于单片机的音乐播放器可应用于 mp3,mp4,扩音器等很多方面,并可作为很多系统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括do、re、me-等音阶在内的各种频率声

26、音。将各个音阶连接在一起,便可组成一支曲子或是演奏一段旋律。基于这个思想,我设计了一款特殊的音乐播放器,本播放器可实现播放、暂停、复位等功能。为了体现乐曲播放过程中的动态效果,增加了 1 只 led,作随机闪烁以指示旋律的节奏。由于时间及条件限制,本设计实现了一种简单的音乐播放器,其核心器件采用 at89c51 单片机,本播放器具有电路简单,功能强大,易于拓展等特点。在此基础上,可以添加按键,led 显示屏等模块,实现切换歌曲,歌名显示,动感音乐屏等功能。第 2 章 系统硬件原理及设计四川师范大学成都学院专科毕业设计- 12 -一、核心器件 at89c51 介绍at89c51 是一种带 4k

27、字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能 cmos 8 位微处理器,俗称单片机。at89c2051 是一种带 2k 字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 atmel 高密度非易失存储器制造技术制造,与工业标准的 mcs-51 指令集和输出管脚相兼容。由于将多功能 8位 cpu 和闪烁存储器组合在单个芯片中,atmel 的 at89c51 是一种高效微控制器,at89c2051 是它的一种精简版本。at89c 单片机

28、为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示图 1 at89c51 外形图及引脚序列(一)主要特性:.与 mcs-51 兼容 .4k 字节可编程闪烁存储器 四川师范大学成都学院专科毕业设计- 13 -.寿命:1000 写/擦循环.数据保留时间:10 年.全静态工作:0hz-24mhz.三级程序存储器锁定.1288 位内部 ram.32 可编程 i/o 线.两个 16 位定时器/计数器.5 个中断源 .可编程串行通道.低功耗的闲置和掉电模式.片内振荡器和时钟电路(二)管脚说明:vcc:供电电压。gnd:接地。p0 口:p0 口为一个 8 位漏级开路双向 i/o 口,

29、每脚可吸收 8ttl 门电流。当 p1 口的管脚第一次写 1 时,被定义为高阻输入。p0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 fiash 编程时,p0 口作为原码输入口,当 fiash 进行校验时,p0 输出原码,此时 p0 外部必须被拉高。p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能接收输出4ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入,p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 flash 编程和校验时,p1 口作为第八位地址接收。 p2 口:p2 口为一个内部上拉电阻的

30、 8 位双向 i/o 口,p2 口缓冲器可接收,输出 4四川师范大学成都学院专科毕业设计- 14 -个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,p2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2 口输出其特殊功能寄存器的内容。p2 口在 flash 编程和校验时接收高八位地址信号和控制信号。p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o

31、 口,可接收输出 4 个 ttl 门电流。当 p3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3 口将输出电流(ill)这是由于上拉的缘故。p3 口也可作为 at89c51 的一些特殊功能口,如下表所示口管脚 备选功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断 0)p3.3 /int1(外部中断 1)p3.4 t0(记时器 0 外部输入)p3.5 t1(记时器 1 外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)表 1 p3 口被选功能四川师范大学成都学院专科毕

32、业设计- 15 -p3 口同时为闪烁编程和编程校验接收一些控制信号。rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ale 脉冲。如想禁止 ale 的输出可在 sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令是 ale 才

33、起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ale 禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen 有效。但在访问外部数据存储器时,这两次有效的/psen 信号将不出现。/ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器(0000h-ffffh) ,不管是否有内部程序存储器。注意加密方式 1 时,/ea 将内部锁定为 reset;当/ea 端保持高电平时,此间内部程序存储器。在 flash 编程期间,此引脚也用于施加 12v 编程电源(vpp) 。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入

34、。xtal2:来自反向振荡器的输出。(三)振荡器特性:xtal1 和 xtal2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。四川师范大学成都学院专科毕业设计- 16 -(四)芯片擦除:整个 perom 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ale管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执

35、行。此外,at89c51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu 停止工作。但 ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 ram 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。二、硬件电路设计电路主要由 at89c51 芯片,led 发光二极管,喇叭,晶振电路组成,由引脚输出定时器产生的各种固定频率的方波信号,然后由喇叭产生各种频率的声音。同理,方波信号通过发光二极管可以使二极管闪烁发光,产生韵律灯的效果。由于该方案中使用内部振荡电路,xtal1、xtal2 引脚外界石英晶体和微调电容构成

36、的晶振电路。第三章 系统软件原理及设计总体原理:总体原理:乐曲中不同的音符,实质就是不同频率的声音。通过单片机产生不同的频率的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。 一、单片机产生不同频率脉冲信号的原理.要产生音频脉冲,只要算出某一音频的脉冲(1/频率) ,然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的 i/o 反相,然后重复计时此半周期的四川师范大学成都学院专科毕业设计- 17 -时间再对 i/o 反相,就可以在 i/o 脚上得到此频率的脉冲。 .利用 8051 的内部定时器使其工作在计数器模式 mode1 下,改变计

37、数值 th0 及tl0 以产生不同频率的方法如下:例如,频率为 523hz,其周期天/523 s=1912us,因此只要令计数器计时956us/1us=956,在每计数 956 次时就将 i/o 反接,就可得到中音 do(532hz) 。计数脉冲值与频率的关系公式如下:n=fi/2/fr(n:计数值,fi:内部计时一次为 1us,故其频率为 1mhz,fr:要产生的频率 ).其计数值的求法如下:t=65536-n=65536-fi/2/fr计算举例:设 k=65536,f=1000000=fi=1mhz,求低音 do(261hz) 、中音 do(523hz) 、高音do(1046hz)的计数值

38、。t=65536-n=65536-fi/2/fr=65536-1000000/2/fr=65536-500000/fr低音 do 的 t=65536-500000/262=63627中音 do 的 t=65536-500000/523=64580高音 do 的 t=65536-500000/1047=65059.c 调个音符频率与计数值 t 的对照表如下表所示:音 符 频率(hz) 简谱码(t 值) 音 符 频率(hz) 简谱码(t 值)低 1do 262 63628 #4fa# 740 64860#1do# 277 63731 中 5so 784 64898四川师范大学成都学院专科毕业设计-

39、 18 -低 2re 294 63835 #5so# 831 64923#2re# 311 63928 中 6la 880 64968低 3m 330 64103 #6 932 64994低 4fa 349 64103 中 7si 988 65030#4fa# 370 64260 高 1do 1046 65058低 5so 392 64260 #1do# 1109 65085#5so# 415 64331 高 2re 1175 65110低 6la 440 64400 #2re# 1245 65124#6 466 64463 高 3m 1318 65157低 7si 494 64524 高 4

40、fa 1397 65178中 1do 523 64580 #4fa# 1480 65198表 1 c 调各音符频率与计数值 t 的对照表.每个音符使用 1 个字节,字节的高 4 位代表音符的高低,低 4 位代表音符的节拍,下表为节拍码的对照。但如果 1 拍为 0.4 秒,1/4 拍是 0.1 秒,只要设定延迟时间就可求得节拍的时间。假设 1/4 节拍为 1delay,则 1 拍应为 4delay,以此类推。所以只要求得 1/4 拍的 delay 时间,其余的节拍就是它的倍数,如下表为 1/4 和 1/8 节拍的时间设定。 1/4 节拍 1/8 节拍节拍码 节拍数 节拍码 节拍数1 1/4 拍

41、1 1/8 拍2 2/4 拍 2 1/4 拍3 3/4 拍 3 3/8 拍4 1 拍 4 1/2 拍5 1 又 1/4 拍 5 5/8 拍四川师范大学成都学院专科毕业设计- 19 -6 1 又 1/2 拍 6 3/4 拍7 1 又 3/4 拍 7 7/8 拍8 2 拍 8 1 拍9 2 又 1/4 拍 9 1 又 1/8 拍a 2 又 1/2 拍 a 1 又 1/4 拍b 2 又 3/4 拍 b 1 又 3/8 拍c 3 拍 c 1 又 1/2 拍d 3 又 1/4 拍 d 1 又 5/8 拍e 3 又 1/2 拍 e 1 又 3/4 拍f 3 又 3/4 拍 f 1 又 7/8 拍表 1 节

42、拍码对照表1/4 节拍1/8 节拍曲调值delay曲调值delay调 4/4125 毫秒调 4/462 毫秒调 3/4187 毫秒调 3/494 毫秒调 2/4250 毫秒调 2/4125 毫秒表 1 各调节拍的时间设定表四川师范大学成都学院专科毕业设计- 20 -1/4 拍的延迟时间=187 毫秒delay: mov r7,#2d2: mov r4,#187d3: mov r3,#248djnz r3,$djnz r4,d3djnz r7,d2ret.移调一般的歌曲,有 3/8、2/4、3/4、4/4 等节拍类型,但不管有几拍,基本上是在 c调下演奏的。如果是 c 调,则音名 c 唱 do,

43、音名 d 唱 re,音名 e 唱 mi,音名 e 唱mi,音名 f 唱 fa,音名 g 唱 so,音名 a 唱 la,音名 b 唱 ti 等。但是,并不是所有的歌曲都是在 c 调下演奏的,还有 d 调、e 调、f 调、g 调等。d 调是将 c 调各音符上升一个频率实现的,即 c 调下的音名 d 在 d 调下唱 do,c 调下的音名 e 在 d 调下唱re,c 大调的音名 f 在 d 调下上升高半音符 f#唱 mi,c 调下的音名 g 在 d 调下唱fa,c 调下的音名 c 在 d 调下上升高伴音 c#符唱 ti。这种唱法称为移调。 音名 调doremifasolatic 调cdefgabd 调

44、def#gabce 调ef#g#abcdf 调fgabcde四川师范大学成都学院专科毕业设计- 21 -g 调gabcdef#a 调abc#def#g#b调bcdefga表 1 c 调在各调中的音名二、音乐软件的设计(一)音乐代码库的建立方法:.先找出乐曲的最低音和最高音范围,然后确定音符表 t 的顺序。.把 t 值表建立在 table1,构成发音符的计数值放在“table” 。.简谱码(音符)为高位,节拍为(节拍数)为低 4 位,音符节拍码放在程序的“table”处。 .音符节拍码 00h 为音乐结束标记。(二)选曲:在一个程序中,需要演奏两首或两首以上的歌曲时,音乐代码库的建立有两种方法:

45、.将每首歌曲建立相互独立的音符表 t 和发音符计数值 table。.在建立公用音符表 t 后,再写每首歌的发音计数值 table 中的代码不管采用那种方法,每首歌曲结束时,在 table 中均需加上音乐结束符 00h。(三)歌曲的设计:下面以歌曲送别和三个和尚的设计为例,讲述歌曲在单片机中的实现。曲谱如下图所示:四川师范大学成都学院专科毕业设计- 22 -四川师范大学成都学院专科毕业设计- 23 -图 1 图 2从两首歌中可看出,最低音为低 7si,最高音为高 1do。根据音乐软件的设计方法,简谱对应的简谱码、t 值、节拍数如表所示。简谱发音简谱码t 值 节拍码节拍数低 7 低音 si 164

46、52411/41中音 do 26458022/42中音 re 36468433/43中音 mi 464777414中音 fa 56482051+1/45中音 so 66489861+1/26中音 la 764968827中音 ti 865030a2+1/2高 1 高音 do 965058c3低 6 低音 la a64400f3+3/4低 5 低音 so b64260表 1 简谱对应的简谱码、t 值、节拍数程序源代码如下:org 0000h ljmp start org 001bh ljmp time1start:mov tmod,#10h ;t1 工作在方式 1四川师范大学成都学院专科毕业设计

47、- 24 - mov ie,#88h ;中断使能main: mov 40h,#00h ;设简谱码指针初始值next: mov a,40h ;简谱码指针暂存累加器 a mov dptr,#table ;设简谱码 movc a,a+dptr cjne a,#00h,play ;取到的简谱码不是结束码,传 play 取节拍码 ljmp stop ;是结束码,退出play: mov r1,a ;r1 暂存简谱码 anl a,#0fh ;取节拍码 mov r2,a 节拍码暂存 r2 mov a,r1 anl a,#0f0h ;取音符码 cjne a,#00h,music ;音符码不为 0,调发音子程序

48、clr tr1 ;音符码为 0,不发音 ljmp delmusic:swap a dec a mov 22h,a add a,22h mov r3,a mov dptr,#table1 ;取相应计数值 movc a,a+dptr 四川师范大学成都学院专科毕业设计- 25 - mov th1,a ;暂存高位字节 mov 21h,a mov a,r3 inc a movc a,a+dptr ;取相应计数值的低位字节 mov tl1,a ;暂存低位字节 mov 20h,a setb tr1 ;启动定时器del: lcall delay inc 40h ;指向下一个简谱码 ljmp nextstop:

49、 clr tr1 ;停止计时器 ljmp maintime1:push acc ;现场保护 push psw cpl p1.7 ;p1.7 反相输出,演奏音乐 mov tl1,20h ;重设计数值 mov th1,21h pop psw pop acc retidelay:mov r7,#02h ;4/4 曲调,演示 125ms 子程序四川师范大学成都学院专科毕业设计- 26 -dela1:mov r6,#125dela2:mov r5,#248 djnz r5,$ djnz r6,dela2 djnz r7,dela1 djnz r2,delay rettable1:dw 64524,645

50、80,64684,64777 ;简码值 dw 64820,64898,64968,65030,65058 dw 64400,64260table:db 14h,42h,62h,98h ;歌曲送别 db 74h,92h,72h,68h db 64h,22h,32h,44h,32h,22h db 3ch db 64h,42h,62h,94h,04h,82h db 74h,94h,68h db 64h,32h,42h,54h,04h,12h db 2ch db 74h,94h,98h db 84h,72h,82h,98h db 72h,82h,92h,72h,72h,62h,42h,22h db 3

51、ch四川师范大学成都学院专科毕业设计- 27 - db 64h,42h,62h,94h,04h,82h db 74h,94h,68h db 64h,32h,42h,54h,04h,12h db 2ch db 42h,62h,72h,41h,61h,41h,31h,22h,0b2h ;歌曲三个和尚 db 62h,61h,61h,71h,61h,41h,64h db 0b2h,0b2h,62h,61h,61h,71h,61h,41h,64h db 0b2h,0b2h,62h,61h,61h,71h,61h,41h,64h db 42h,62h,72h,41h,61h,41h,31h,22h,0b2

52、h db 22h,31h,41h,31h,21h,0a2h,0b4h db 22h,31h,41h,31h,21h,0a2h,0b4h db 22h,31h,41h,31h,21h,0a2h,0b4h db 0a2h,21h,32h,42h,62h,61h,41h,62h,71h db 42h,41h,61h,42h,32h,22h,31h,21h,0a2h db 42h,41h,61h,42h,32h,22h,31h,21h,0a2h db 42h,41h,61h,42h,32h,22h,31h,21h,0a2h db 62h,61h,42h,62h,71h,61h,72h,62h,71h

53、db 62h,61h,71h,32h,42h,64h db 00h end四川师范大学成都学院专科毕业设计- 28 -第 4 章 调试与仿真下面用 keil uvision 与 porteus 仿真软件介绍数字计算器的仿真与调试。一、keil c51 单片机软件开发系统(一)系统的整体结构:c51 工具包的整体结构中,其中 uvision 与 ishell 分别是 c51 for windows 和 for dos 的集成开发环境(ide),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用 ide 本身或其它编辑器编辑 c 或汇编源文件。然后分别由 c51 及 a51 编译器编

54、译生成目标文件(.obj)。目标文件可由 lib51 创建生成库文件,也可以与库文件一起经 l51 连接定位生成绝对目标文件(.abs)。abs 文件由 oh51 转换成标准的 hex文件,以供调试器 dscope51 或 tscope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 eprom 中。(二)采用 keil 开发的 89c51 单片机应用程序步骤:.在 uvision 集成开发环境中创建新项目(project) ,扩展文件名为.uv2,并为该项目选定合适的单片机 cpu 器件(本设计采用 atmel 公司下的 at89c51).用 uv

55、ision 的文本编辑器编写源文件,可以是汇编文件(.asm),也可以使 c语言文件(扩展名.c) ,并将该文件添加到项目中去。一个项目文件可以包含多个文件,除了源程序文件外,还可以是库文件、头文件或文本说明文件。.通过 uvision 2 的相关选择项,配置编译环境、连接定位器以及 debug 调试器的功能。四川师范大学成都学院专科毕业设计- 29 -.对项目中的源文件进行编译连接,生成绝对目标代码和可选的 hex 文件,如果出现编译连接错误则返回到第 2 步,修改源文件中的错误后重构整个项目。.对没有语法错误的程序进行仿真调试,调试成功后将 hex 文件写入到单片机应用系统的 rom 中。

56、二、 proteus 的操作(一)硬件电路图的接法操作:.放置选择(删除)元器件.移动元器件.缩放视图.连接导线.仿真,调试(二)单片机系统 proteus 设计与仿真过程:proteus 强大的单片机系统设计与仿真功能,使它可成为单片机系统应用开发和改进手段之一。全部过程都是在计算机上通过 proteus 来完成的。其过程一般也可分为三步:.在 isis 平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等。简称 proteus 电路设计。.在 keil 平台上进行单片机系统程序设计、编辑、汇编编译、代码级调试,最后生成目标代码文件(*.hex) 。简称 proteus 源

57、程序设计和生成目标代码文件。.在 isis 平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。它在相当程度上反映了实际单片机系统的运行情况。简称 proteus仿真。四川师范大学成都学院专科毕业设计- 30 -第 5 章 结论at89c51 芯片有多组引脚,可实现多种拓展功能,由于知识,能力,时间,条件所限,我只实现了播放自编歌曲的功能,其实,还可以同时拓展 led 点阵屏幕,按键选歌,以及多组灯光闪亮等功能,换用更高档的芯片后,甚至可以实现 mp3 的丰富功能,在补充了相应知识后我将尝试实现更多的功能。心得体会心得体会毕业设计是培养学生综合运用所学知识,发现、提出

58、、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为自动化专业的学生来说掌握单片机的开发技术是十分重要的。 我的题目是音乐播放器硬软件的设计,对于我们这些工科学生来说,这是一次考验。怎么才能找到课堂所学与实际应用的最佳结合点?怎样让自己的业余更接近专业?怎样让自己的计划更具有序性,而不会忙无一用?这都是我们所要考虑和努力的。这次毕业设计我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪

59、。不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次毕业设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。这次毕业设计通过自己的努四川师范大学成都学院专科毕业设计- 31 -力,同学的帮助,还有老师的辛勤指导下,最终顺利完成了。参考文献参考文献1 侯玉宝, 陈忠

60、平,,李成群. 基于 proteus 的 51 系列单片机设计与仿真. 北京 电子工业出版社,20082 沈德金,陈粤初mcs-51 系列单片机接口电路与应用程序实例北京航空航天大学出版社,19903 胡汉才.单片机原理及接口技术.清华大学出版社,19964 何立民mcs-51 系列单片机应用系统设计北京航空航天大学出版社,199015 张毅刚、彭喜元、姜守达、乔立岩新编 mcs-51 系列单片机应用设计哈尔滨工业大学出版社,2003.66 杨世成.信号放大电路.电子工业出版社,19957 潘立民,王燕芳.微型计算机控制技术.人民邮电出版社,19908 邵敏权,刘刚.单片机原理实验及应用.吉林

温馨提示

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

评论

0/150

提交评论