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

下载本文档

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

文档简介

1、 本文由yuwenyi999贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 四川师范大学成都学院专科毕业设计 单片机音乐播放器设计报告 学生:余文一 指导教师:段纯爽 内容摘要:单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制 内容摘要 与自动控制的核心就是单片机。根据要求设计一款音乐播放器,能实现音乐播放的简单 功能,同时为了美化,添加了韵律闪烁彩灯,设计时采用Keil软件编程,用protues软 件仿真,核心器件采用灵活性高且价格低廉的AT89C51芯片。设计完成后系统可播放自 编歌曲,同时发光二极管随着歌曲韵律闪烁。 关键词:

2、单片机 : AT89C51 音乐播放 1 四川师范大学成都学院专科毕业设计 英文标题 Abstract: SCM has small, strong function, low cost, application, advantages and intelligent bstract: control and automatic control of the core is the microcontroller. According to the requirements of a music player, design of music broadcast can realize sim

3、ple function, and to beautify, added rhythm flashing lights, design is used 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

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

5、全过程,从而帮助学生系统地掌 握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。 -1- 四川师范大学成都学院专科毕业设计 第 1 章 绪论 一、单片机基础知识介绍 (一)89c51 单片机包括: 一个 8 位的 80c51 微处理器,片内 256 字节数据存储器 RAM/SFR,用以存放可以读 写的数据, 如运算的中间结果, 最终结果以及欲显示的数据; 片内 4kb 程序存储器 Flash ROM,用以存放程序,一些原始数据和表格;4 个 8 位并行 I/O 口 P0P3,每个端口既可 用作输入,也可用作输出;两个 16 位的定时器/计数器,每个定时器/计数器都可设置 成计数方式,用

6、以对外部事件进行计数,也可设置成定时方式,并可以根据计数或者定 时的结果实现计算机控制;具有 5 个中断源,两个中断优先级的中断控制系统;一个全 双工 UART(通用异步接受发送器)的串行 I/O 口,用于实现单片机之间或者单片机与 PC 机之间的串行通信;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接, 最高允许震荡频率为 24MHz;89c51 与 80c51 相比具有节电工作方式,即休闲方式及掉 电方式。 (二)中央处理器(CPU): CPU 是单片机内部的核心部件, 是一个 8 位二进制数的中央处理单元, 主要由运算器、 控制器和寄存器阵列构成。 1运算器: 运算器用来完成算术

7、运算和逻辑运算功能, 它是 89C51 内部处理各种信息的主要部 件。运算器主要由算术逻辑单元(ALU)、累加器(ACC)、暂存寄存器(TMP1、TMP2)和状态 寄存器(PSW)组成。 -2- 四川师范大学成都学院专科毕业设计 (1) 算术逻辑单元(ALU): 89C51 中的 ALU 由加法器和一个布尔处理器组成。 (2) 累加器(ACC): 用来存放参与算术运算和逻辑运算的一个操作数或运算的结果。 (3) 暂存寄存器(TMP1、TMP2): 用来存放参与算术运算和逻辑运算的另一个操作数,它对用户不开放。 (4) 状态寄存器(PSW): PSW 是一个 8 位标志寄存器,用来存放 ALU

8、操作结果的有关状态。 2控制器: 控制器是单片机内部按一定时序协调工作的控制核心,是分析和执行指令的部件。 控制器主要由程序计数器 PC、指令寄存器 IR、指令译码器 ID 和定时控制逻辑电路等构 成。 程序计数器 PC 是专门用于存放现行指令的 16 位地址的。 CPU 就是根据 PC 中的地址 到 ROM 中去读取程序指令码和数据,并送给指令寄存器 IR 进行分析。指令寄存器 IR 用 于存放 CPU 根据 PC 地址从 ROM 中读出的指令操作码。指令译码器 ID 是用于分析指令操 作的部件,指令操作码经译码后产生相应于某一特定操作的信号。定时控制逻辑中定时 部件用来产生脉冲序列和多种节

9、拍脉冲。 3寄存器阵列: 寄存器阵列是单片机内部的临时存储单元或固定用途单元,包括通用寄存器组和专 用寄存器组。通用寄存器组用来存放过渡性的数据和地址,提高 CPU 的运行速度。 专用寄存器组主要用来指示当前要执行指令的内存地址,存放特定的操作数,指示 指令运行的状态等。 -3- 四川师范大学成都学院专科毕业设计 4存储器: 89C51 单片机内部有 256 个字节的 RAM 数据存储器和 4 KB 的闪存程序存储器 (Flash),当不够使用时,可分别扩展为 64 KB 外部 RAM 存储器和 64 KB 外部程序存储 器。它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。这种结构的单片

10、机称 为哈佛型结构单片机。 程序存储器是可读不可写的,用于存放编好的程序和表格常数。数据存储器是既可 读也可写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。 89C51 单片机对外部电路进行控制或交换信息都是通过 I/O 端口进行的。单片机的 I/O 端口分为并行 I/O 端口和串行 I/O 端口,它们的结构和作用并不相同。 (1)并行 I/O 端口: 89C51 有四个 8 位并行 I/O 端口,分别命名为 P0 口、P1 口、P2 口和 P3 口,它们 都是 8 位准双向口,每次可以并行输入或输出 8 位二进制信息。 (2)串行 I/O 端口: 89C51 有一个全双工的可编程串行

11、 I/O 端口, 它利用了 P3 口的第二功能, 即将 P3.1 引脚作为串行数据的发送线 TXD,将 P3.0 引脚作为串行数据的接收线 RXD。 (三)定时器/计数器: 89C51 内部有两个 16 位可编程定时器/计数器,简称为定时器 0(T0)和定时器 1(T1),T0 和 T1 分别由两个 8 位寄存器构成,其中 T0 由 TH0(高 8 位)和 TL0(低 8 位) 构成,T1 由 TH1(高 8 位)和 TL1(低 8 位)构成。TH0、TL0、TH1、TL1 都是 SFR 中的特殊 功能寄存器。 T0 和 T1 在 TCON 和 TMOD 的控制下可工作在定时器模式或计数器模式

12、下,每种模式 下又有不同的工作方式。当定时或计数溢出时还可申请中断。 -4- 四川师范大学成都学院专科毕业设计 (四)中断系统: 单片机中的中断是指 CPU 暂停正在执行的原程序转而为中断源服务(执行中断服务 程序),在执行完中断服务程序后再回到原程序继续执行。中断系统是指能够处理上述 中断过程所需要的部分电路。 89C51 的中断系统由中断源、中断允许控制器 IE、中断优先级控制器 IP、定时器控 制器 TCON(中断标志寄存器)等构成, IP、 IE、 TCON 均为 SFR 特殊功能寄存器(见表 2.2)。 (五)内部总线: 总线是用于传送信息的公共途径。总线可分为数据总线、地址总线和控

13、制总线。单 片机内的 CPU、存储器、I/O 接口等单元部件都是通过总线连接到一起的。采用总线结 构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。 89C51 单片机内部总线是单总线结构,即数据总线和地址总线是公用的。 (六)89C51 单片机引脚及其功能: 89C51 有 40 条引脚,与其他 51 系列单片机引脚是兼容的。这 40 条引脚可分为 I/O 端口线、电源线、控制线、外接晶体线四部分。其封装形式有两种:双列直插封装(DIP) 形式和方形封装形式,如图所示。 -5- 四川师范大学成都学院专科毕业设计 (a) (a) 双列直插式封装 (b) 方形封装 图 1 89C51

14、封装和引脚分配图 (七)89C51 单片机工作方式: 单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状 态等情况下都需要复位。复位的作用是使中央处理器 CPU 以及其他功能部件都恢复到 一个确定的初始状态,并从这个状态开始工作。 1复位原理: 89C51 单片机的复位靠外部电路实现,信号由 RESET(RST)引脚输入,高电平有效, 在振荡器工作时,只要保持 RST 引脚高电平两个机器周期,单片机即复位。复位后,PC 程序计数器的内容为 0000H,其他特殊功能寄存器的复位状态如表 2.5 所示。片内 RAM 中内容不变。 -6- (WR)P3.6 (RD)P3.7 XT

15、AL2 XTAL1 GND NC (A8)P2.0 (A9)P2.1 (A10)P2.2 (A11)P2.3 (A12)P2.4 (T )P1.0 2 (T2EX)P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST (RXD)P3.0 (TXD)P3.1 (TNT0)P3.2 (TNT1)P3.3 (T0)P3.4 (T1)P3.5 (WR)P3.6 (RD)P3.7 XTAL2 XTAL1 GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 2

16、9 28 27 26 25 24 23 22 21 VCC P0.0(AD0) P0.1(AD1) P0.2(AD2) P0.3(AD3) P0.4(AD4) P0.5(AD5) P0.6(AD6) P0.7(AD7) EA/V PP ALE/PROG PSEN P2.7(A15) P2.6(A14) P2.5(A13) P2.4(A12) P2.3(A11) P2.2(A10) P2.1(A9) P2.0(A8) 6 5 4 3 2 1 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 18 19 20 21 22 23 24 25 26 27

17、28 P1.4 P1.3 P1.2 P1.1(T2EX) P1.0(T2) NC VCC P0.0(AD0) P0.1(AD1) P0.2(AD2) P0.3(AD3) P1.5 P1.6 P1.7 RST (RXD)P3.0 NC (TXD)P3.1 (INT0)P3.2 (INT1)P3.3 (T0)P3.4 (T1)P3.5 7 8 9 10 11 12 13 14 15 16 17 P0.4(AD4) P0.5(AD5) P0.6(AD6) P0.7(AD7) EA/V PP NC ALE/PROG PSEN P2.7(A15) P2.6(A14) P2.5(A13) (b) 四川师范

18、大学成都学院专科毕业设计 2常用复位电路: 一般有上电复位、手动开关复位和自动复位电路三种,如图所示。 5 V VCC C 10F RST R 8.2 k ? 89C51 VSS 1k ? 5 V VCC C 10F RST R 8.2 k ? 89C51 VSS MAX750 5 V 89C51 VCC 10F WDO PESET 10 k ? 1 RST 2 89C51 P1.0 WDI (a) (b) (c) (a)上电复位电路;(b) 手动复位电路;(c) 自动复位电路 图 2 单片机复位电路图 389C51 时钟电路: 单片机内各部件之间有条不紊的协调工作,其控制信号是在一种基本节拍

19、的指挥下 按一定时间顺序发出的,这些控制信号在时间上的相互关系就是 CPU 时序。而产生这种 基本节拍的电路就是振荡器和时钟电路。 89C51 单片机内部有一个用于构成振荡器的单级反相放大器,如图所示。 内内内内 电电 D1 R1 XTAL1 D2 Q1 PD V CC Q2 Rf XTAL2 Q3 Q4 GND 图 3 89C51 内部振荡器电路图 -7- 四川师范大学成都学院专科毕业设计 引脚 XTAL1 为反相器输入端, XTAL2 为反相器输出端。 当在放大器两个引脚上外接 一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反馈元件时,便构成一个自激 振荡器,如下图所示。 V CC

20、PD 内内内内 电电 R1 GND XTAL1 Rf XTAL2 C1 C2 石石石石石 陶陶陶陶陶 (外内) 图 4 内部振荡器等效电路图 二、单片机的应用领域 (一)在智能仪器仪表的应用: 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点, 广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、 温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片 机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强 大。例如精密的测量设备(功率计,示波器,各种分析仪) 。 (二)在家用电器中的应用: 可以这样说

21、,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、 空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 -8- 四川师范大学成都学院专科毕业设计 (三)在工业控制中的应用: 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化 管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 (四)在计算机网络和通信领域中的应用: 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算 机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单 片机智能控制,从手机、电话机、小型程控交换机、楼宇自

22、动通信呼叫系统、列车无线 通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 (五)单片机在医用设备领域中的应用: 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪, 超声诊断设备及病床呼叫系统等等。 此外,单片机在工商、金融、科研、教育、国防航空等领域都有着十分广泛的用途。 三、单片机的发展趋势 单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出 了自己的单片机,从 8 位、16 位到 32 位,数不胜数,应有尽有,有与主流 C51 系列兼 容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。 纵观单片

23、机的发展过程,可以预示单片机的发展趋势,大致有: (一)微型单片化: 现在常规的单片机普遍都是将中央处理器(CPU) 、随机存取数据存储(RAM) 、只 读程序存储器(ROM) 、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一 块单一的芯片上,增强型的单片机集成了如 A/D 转换器、PMW(脉宽调制电路) 、WDT(看 门狗) 、有些单片机将 LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的 -9- 四川师范大学成都学院专科毕业设计 单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制 造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小

24、、重量轻,这就要求单片机除了功能强和功耗低 外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中 SMD(表面封装) 越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。 (二)低功耗 CMOS 化: MCS-51 系列的 8031 推出时的功耗达 630mW,而现在的单片机普遍都在 100mW 左右, 随着对单片机功耗要求越来越低,现在的各 个单片机制造商基本都采用了 CMOS(互 补金属氧化物半导体工艺) 像 80C51 就采用了 HMOS 。 (即高密度金属氧化物半导体工艺) 和 CHMOS(互补高密度金属氧化物半导体工艺) 。CMOS 虽然功耗低,但由于其物理特征 决定其

25、工作速度不够高,而 CHMOS 则具备了高速和低功耗的特点,这些特征,更适合于 要求低功耗像电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要 途径。 (三)主流与多品种共存: 现在虽然单片机的品种繁多,各具特色,但仍以 80C51 为核心的单片机占主流,兼 容其结构和指令系统的有 PHILIPS 公司的产品, ATMEL 公司的产品和中国台湾的 Winbond 系列单片机。 所以 80C51 占据了半壁江山。 Microchip 公司的 PIC 精简指令集合 而 (RISC) 也有着强劲的发展势头,中国台湾的 HOLTEX 公司近年的单片机产量与日俱增,与其底 价质优的优势,占

26、据一定的市场份额。此外还有 MOTOROLA 公司的产品,日本几大公司 的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下 的垄断局面,走的是依存互补、相辅相成、共同发展的道路。 九十年代以后, 单片机在结构上采用双 CPU 或内部流水线, CPU 位数有 8 位、 位、 16 32 位,时钟频率高达 20MHZ,片内带有 PWM 输出、监视定时器 WDT、可编程计数器阵列 PCA、DMA 传输、调制解调器等。芯片向高度集成化、低功耗方向的发展,使得单片机在 大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人 以及局域网等方面得到大量应用。这

27、类单片机有 NEC 公司的 MPD7800,MITSUBISHI 公司 - 10 - 四川师范大学成都学院专科毕业设计 的 M337700,REVKWELL 公司的 R6500。 四、课题概述 基于单片机的音乐播放器可应用于 mp3,MP4,扩音器等很多方面,并可作为很多系 统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的 方波信号,也可以产生包括"Do"、"Re"、"Me"-等音阶在内的各种频率声音。将各个音 阶连接在一起,便可组成一支曲子或是演奏一段旋律。基于这个思想,我设计了一款特 殊的"音

28、乐播放器",本播放器可实现播放、暂停、复位等功能。为了体现乐曲播放过程 中的动态效果,增加了 1 只 LED,作随机闪烁以指示旋律的节奏。由于时间及条件限制, 本设计实现了一种简单的音乐播放器,其核心器件采用 AT89C51 单片机,本播放器具有 电路简单,功能强大,易于拓展等特点。在此基础上,可以添加按键,LED 显示屏等模 块,实现切换歌曲,歌名显示,动感音乐屏等功能。 第 2 章 系统硬件原理及设计 一、核心器件 AT89C51 介绍 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Re

29、ad Only Memory)的低电压,高性能 CMOS 8 位微处理 器,俗称单片机。AT89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机。 单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL 高密度非易失存储 器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器, AT89C2051 是它的一种精简版本。AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉 的方案。外形及引脚排列如图所示 - 11 - 四川师范

30、大学成都学院专科毕业设计 图 1 AT89C51 外形图及引脚序列 (一)主要特性: .与 MCS-51 兼容 .4K 字节可编程闪烁存储器 .寿命:1000 写/擦循环 .数据保留时间:10 年 .全静态工作:0Hz-24MHz .三级程序存储器锁定 .128×8 位内部 RAM .32 可编程 I/O 线 .两个 16 位定时器/计数器 .5 个中断源 - 12 - 四川师范大学成都学院专科毕业设计 .可编程串行通道 .低功耗的闲置和掉电模式 .片内振荡器和时钟电路 (二)管脚说明: VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每

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

32、部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因 此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高 八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行 读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位 地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4

33、 个 TTL 门电 流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外 部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示 - 13 - 四川师范大学成都学院专科毕业设计 口管脚 备选功能 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通

34、) 表 1 P3 口被选功能 P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字 节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期 输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于 定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想 禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX,

35、MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无 效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周 - 14 - 四川师范大学成都学院专科毕业设计 期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) ,不管 是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高 电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加

36、 12V 编程电源 (VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 (三)振荡器特性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振 荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。有 余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要 求,但必须保证脉冲的高低电平要求的宽度。 (四)芯片擦除: 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管 脚处于低电平 10ms 来完成。在芯片擦操作中,代

37、码阵列全被写“1”且在任何非空存储 字节被重复编程以前,该操作必须被执行。 此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软 件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串口和 中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯 片功能,直到下一个硬件复位为止。 二、硬件电路设计 电路主要由 AT89C51 芯片,LED 发光二极管,喇叭,晶振电路组成,由引脚输出定 时器产生的各种固定频率的方波信号,然后由喇叭产生各种频率的声音。同理,方波信 - 15 - 四川师范大学成都学院专科毕业设计 号通过

38、发光二极管可以使二极管闪烁发光,产生韵律灯的效果。由于该方案中使用内部 振荡电路,XTAL1、XTAL2 引脚外界石英晶体和微调电容构成的晶振电路。 第三章 系统软件原理及设计 总体原理: 总体原理:乐曲中不同的音符,实质就是不同频率的声音。通过单片机产生不同的频率 的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。 一、单片机产生不同频率脉冲信号的原理 .要产生音频脉冲,只要算出某一音频的脉冲(1/频率) ,然后将此周期除以 2, 即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的 I/O 反相,然后重复计时此半周期的时间再对 I/O 反相,就可以在

39、I/O 脚上得到此频率 的脉冲。 .利用 8051 的内部定时器使其工作在计数器模式 MODE1 下,改变计数值 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 - 16 - 四川师范大学成

40、都学院专科毕业设计 计算举例: 设 K=65536,F=1000000=Fi=1MHz,求低音 DO(261Hz) 、中音 DO(523Hz) 、高音 DO (1046Hz)的计数值。 T=65536-N=65536-Fi/2/Fr=6/2/Fr=6/Fr 低音 DO 的 T=6/262=63627 中音 DO 的 T=6/523=64580 高音 DO 的 T=6/1047=65059 .C 调个音符频率与计数值 T 的对照表如下表所示: 音 符 低 1DO #1DO# 低 2RE #2RE# 低 3M 低 4FA #4FA# 低 5SO #5SO# 低 6LA #6 低 7SI 中 1DO

41、 频率(Hz) 简谱码(T 值) 音 符 262 277 294 311 330 349 370 392 415 440 466 494 523 63628 63731 63835 63928 64103 64103 64260 64260 64331 64400 64463 64524 64580 #4FA# 中 5SO #5SO# 中 6LA #6 中 7SI 高 1DO #1DO# 高 2RE #2RE# 高 3M 高 4FA #4FA# 频率(Hz) 简谱码(T 值) 740 784 831 880 932 988 1046 1109 1175 1245 1318 1397 1480

42、64860 64898 64923 64968 64994 65030 65058 65085 65110 65124 65157 65178 65198 表 1 C 调各音符频率与计数值 T 的对照表 - 17 - 四川师范大学成都学院专科毕业设计 .每个音符使用 1 个字节,字节的高 4 位代表音符的高低,低 4 位代表音符的节 拍,下表为节拍码的对照。但如果 1 拍为 0.4 秒,1/4 拍是 0.1 秒,只要设定延迟时间 就可求得节拍的时间。假设 1/4 节拍为 1DELAY,则 1 拍应为 4DELAY,以此类推。所以 只要求得 1/4 拍的 DELAY 时间,其余的节拍就是它的倍数

43、,如下表为 1/4 和 1/8 节拍的 时间设定。 1/4 节拍 1/8 节拍 节拍码 节拍数 节拍码 节拍数 1 2 3 4 5 6 7 8 9 A B C D E F 1/4 拍 2/4 拍 3/4 拍 1拍 1 2 3 4 1/8 拍 1/4 拍 3/8 拍 1/2 拍 5/8 拍 3/4 拍 7/8 拍 1拍 1 又 1/4 拍 5 1 又 1/2 拍 6 1 又 3/4 拍 7 2拍 8 2 又 1/4 拍 9 1 又 1/8 拍 2 又 1/2 拍 A 1 又 1/4 拍 2 又 3/4 拍 B 1 又 3/8 拍 3拍 C 1 又 1/2 拍 3 又 1/4 拍 D 1 又 5/

44、8 拍 3 又 1/2 拍 E 1 又 3/4 拍 3 又 3/4 拍 F 1 又 7/8 拍 表 1 节拍码对照表 - 18 - 四川师范大学成都学院专科毕业设计 1/4 节拍 曲调值 调 4/4 调 3/4 调 2/4 DELAY 125 毫秒 187 毫秒 250 毫秒 曲调值 调 4/4 调 3/4 调 2/4 1/8 节拍 DELAY 62 毫秒 94 毫秒 125 毫秒 表 1 各调节拍的时间设定表 1/4 拍的延迟时间=187 毫秒 DELAY: D2: D3: DJNZ DJNZ DJNZ RET .移调 一般的歌曲,有 3/8、2/4、3/4、4/4 等节拍类型,但不管有几拍

45、,基本上是在 C - 19 - MOV MOV MOV R3,$ R4,D3 R7,D2 R7,#2 R4,#187 R3,#248 四川师范大学成都学院专科毕业设计 调下演奏的。如果是 C 调,则音名 C 唱 Do,音名 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 大调的音

46、名 F 在 D 调下上升高半音符 F#唱 Mi,C 调下的音名 G 在 D 调下唱 Fa,C 调下的音名 C 在 D 调下上升高伴音 C#符唱 Ti。这种唱法称为移调。 音名 Do 调 C调 D调 E调 F调 G调 A调 B调 C D E F G A B D E F# G A B C E F# G# A B C# D F G A B C D E G A B C D E F A B C D E F# G B C D E F# G# A Re Mi Fa So La Ti 表 1 C 调在各调中的音名 二、音乐软件的设计 (一)音乐代码库的建立方法: .先找出乐曲的最低音和最高音范围,然后确定音符

47、表 T 的顺序。 - 20 - 四川师范大学成都学院专科毕业设计 .把 T 值表建立在 TABLE1,构成发音符的计数值放在“TABLE” 。 .简谱码(音符)为高位,节拍为(节拍数)为低 4 位,音符节拍码放在程序的 “TABLE”处。 .音符节拍码 00H 为音乐结束标记。 (二)选曲: 在一个程序中,需要演奏两首或两首以上的歌曲时,音乐代码库的建立有两种方法: .将每首歌曲建立相互独立的音符表 T 和发音符计数值 TABLE。 .在建立公用音符表 T 后,再写每首歌的发音计数值 TABLE 中的代码不管采用那 种方法,每首歌曲结束时,在 TABLE 中均需加上音乐结束符 00H。 (三)

48、歌曲的设计: 下面以歌曲送别和三个和尚的设计为例,讲述歌曲在单片机中的实现。曲谱如 下图所示: - 21 - 四川师范大学成都学院专科毕业设计 图1 图2 - 22 - 四川师范大学成都学院专科毕业设计 从两首歌中可看出,最低音为低 7Si,最高音为高 1Do。根据音乐软件的设计方法,简 谱对应的简谱码、T 值、节拍数如表所示。 简谱 发音 简谱码 T 值 节拍码 节拍数 64524 64580 64684 64777 64820 64898 64968 65030 65058 64400 64260 1 2 3 4 5 6 8 A C F 1/4 2/4 3/4 1 1+1/4 1+1/2

49、2 2+1/2 3 3+3/4 低 7 低音 Si 1 1 2 3 4 5 6 7 中音 Do 2 中音 Re 3 中音 Mi 4 中音 Fa 5 中音 So 6 中音 La 7 中音 Ti 8 高 1 高音 Do 9 低 6 低音 La A 低 5 低音 So B 表 1 简谱对应的简谱码、T 值、节拍数 程序源代码如下: ORG 0000H LJMP ORG LJMP START:MOV MOV START 001BH TIME1 TMOD,#10H IE,#88H ;T1 工作在方式 1 ;中断使能 - 23 - 四川师范大学成都学院专科毕业设计 MAIN: MOV NEXT: MOV

50、MOV MOVC CJNE LJMP PLAY: MOV ANL MOV MOV ANL CJNE CLR LJMP MUSIC:SWAP DEC MOV ADD MOV MOV MOVC MOV 40H,#00H A,40H DPTR,#TABLE A,A+DPTR A,#00H,PLAY STOP R1,A A,#0FH R2,A A,R1 A,#0F0H A,#00H,MUSIC TR1 DEL A A 22H,A A,22H R3,A DPTR,#TABLE1 A,A+DPTR TH1,A ;设简谱码指针初始值 ;简谱码指针暂存累加器 A ;设简谱码 ;取到的简谱码不是结束码,传 PL

51、AY 取节拍码 ;是结束码,退出 ;R1 暂存简谱码 ;取节拍码 节拍码暂存 R2 ;取音符码 ;音符码不为 0,调发音子程序 ;音符码为 0,不发音 ;取相应计数值 ;暂存高位字节 - 24 - 四川师范大学成都学院专科毕业设计 MOV MOV INC MOVC MOV MOV SETB DEL: 21H,A A,R3 A A,A+DPTR TL1,A 20H,A TR1 ;启动定时器 ;取相应计数值的低位字节 ;暂存低位字节 LCALL DELAY INC LJMP 40H NEXT TR1 MAIN ACC PSW P1.7 TL1,20H TH1,21H PSW ACC ;P1.7 反

52、相输出,演奏音乐 ;重设计数值 ;现场保护 ;停止计时器 ;指向下一个简谱码 STOP: CLR LJMP TIME1:PUSH PUSH CPL MOV MOV POP POP RETI DELAY:MOV DELA1:MOV R7,#02H R6,#125 ;4/4 曲调,演示 125ms 子程序 - 25 - 四川师范大学成都学院专科毕业设计 DELA2:MOV DJNZ DJNZ DJNZ DJNZ RET R5,#248 R5,$ R6,DELA2 R7,DELA1 R2,DELAY TABLE1:DW 64524,64580,64684,64777 DW 64820,64898,6

53、4968,65030,65058 DW 64400,64260 TABLE: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 3CH DB 64H,42H,62H,94H,04H,82H

54、- 26 - 四川师范大学成都学院专科毕业设计 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,0B2H DB 22H,31H,41H,31H,21H,0A2H,0B4H D

55、B 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 DB 62H,61H,71H,32H,42H,64H DB 00H EN

56、D ;歌曲三个和尚 - 27 - 四川师范大学成都学院专科毕业设计 第 4 章 调试与仿真 下面用 KEIL uVision 与 porteus 仿真软件介绍数字计算器的仿真与调试。 一、Keil C51 单片机软件开发系统 (一)系统的整体结构: C51 工具包的整体结构中,其中 uVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开 发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后分别由 C51 及 A51 编译器 编译生成目标文件(.OBJ)。目标文件可由 LIB51 创建生成库文件,也可以与库文件一起 经 L51 连接定位生成绝对目标文件(.ABS)。 ABS 文件由 OH51 转换成标准的 Hex 文件, 以 供调试器 dScope51 或 tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标 板进行调试,也可以直接写入

温馨提示

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

评论

0/150

提交评论