基于单片机的音乐播放器

合集下载

基于单片机的音乐播放器设计毕业论文

基于单片机的音乐播放器设计毕业论文

图书分类号:密级:毕业设计(论文)基于单片机的MP3播放器设计学生姓名汤明学院名称信电工程学院专业名称电子信息工程指导教师陈豹2012年5月10日摘要因为单片机编写的MP3播放器具有执行效率高、频率输出稳定、易于修改、高可靠性、高性价比、低电压、低功耗等,使单片机近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统、数据采集系统、智能化仪器仪表、及通讯设备、日常消费类产品、玩具等[1] .利用单片机设计的MP3播放器具有硬件电路简单,软件运行可靠等特点。

本文介绍了一种以 AT89S52 单片机为控制核心的MP3。

该设计采用2*16个点阵液晶模块LCD1602作为显示界面,蜂鸣器作为发声元件,并利用定时器进行中断控制。

本文分析了基于单片机的MP3播放器的工作原理,详细介绍了MP3播放器的功能及其硬件设计和软件设计的方法,给出了基于MCS-51单片机的MP3播放器的具体实现方案并重点讲述了其硬件实现与软件编写,实现了单片机MP3播放器对音乐的演奏。

关键词:MP3播放器;AT89S52;LCD1602目录摘要 (I)1绪论 (1)2设计综述 (2)2。

1单片机工作原理 (2)2。

1。

1 单片机概述 (2)2。

1.2 单片机的应用领域及发展趋势 (2)2.2 单片机产生音调的方法 (3)2。

3 KEIL开发系统 (4)2.4 PROTEUS的操作 (8)3硬件设计 (9)3。

1总体方案设计 (9)3.2 单片机最小系统电路 (9)3.2。

1 AT89S52芯片性能介绍 (9)3。

2.2 电源电路 (13)3。

2.3 时钟振荡电路 (13)3。

3 键盘扫描模块 (15)3。

4 显示模块 (16)3.5 播放模块 (17)4 系统软件设计 (18)4。

1编程原理及流程图 (18)5 调试与仿真结果 (22)5.1 软件调试 (22)5.1.1 测试LED显示模块 (23)5。

1.2 测试键盘控制模块 (24)5.1.3 测试P3.0口输出 (24)5.2 调试中遇到的问题及解决 (25)5.3 仿真结果 (25)结束语 (26)致谢 (27)参考文献 (28)附录 (29)附录1 源程序 (29)1绪论几千年来,各种乐器的发声无一不是依靠琴弦、簧片、哨片引起管柱振动而作为声源的。

基于单片机控制的MP3音乐播放器的设计

基于单片机控制的MP3音乐播放器的设计

目录1引言 (1)2硬件设计 (2)2.1硬件电路的设计框图 (2)2.2硬件电路设计模块的选定 (2)2.2.1中心模块 (2)2.2.2播放模块 (3)2.2.3显示模块 (4)2.2.4电子琴模块 (4)2.3各硬件电路的具体设计 (5)2.3.1 AT89S52控制模块的设计 (5)2.3.2按键模块的设计 (6)2.3.3扬声器播放模块的设计 (7)2.3.4 LCD显示电路的设计 (7)2.3.5彩灯伴奏电路的设计 (8)3软件设计 (9)3.1单片机发声的基本原理 (9)3.2设计的相关音乐说明 (9)3.3切换原理 (10)3.4音乐播放器软件程序设计 (10)3.4.1按键扫描子程序设计 (10)3.4.2 1ms延时程序设计 (14)3.4.3 LCD显示子程序设计 (15)3.4.4函数初始化子程序设计 (16)3.4.5系统主程序设计 (17)4结论 (19)参考文献 (20)附录一硬件原理图 (21)附录二软件主程序 (22)致谢............................................................................................................... 错误!未定义书签。

摘要目前流行的MP3播放器的音质已相当好,但略感遗憾的是除了选择歌曲和显示歌名外,绝大部分播放器没有诸如随意弹奏乐曲、乐曲节奏跳动等功能。

而随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一。

要为现代人工作、生活提供更好的更方便的服务就需要从单片机技术着手,一切向着数字化控制、智能化控制方向发展。

本设计是采用单片机为核心设计的数字音乐播放器。

本设计在实现音乐的播放及歌曲名显示等基本功能的基础上进行了扩展,添加了彩灯伴奏、按键弹奏、显示音乐节拍等功能。

本论文给出了系统方案的建立、硬件电路的详细设计及软件的程序实现。

基于单片机实现的音乐播放器设计

基于单片机实现的音乐播放器设计

目录1、设计课题任务、功能要求说明及总体方案介绍1.1 设计课题任务 (1)1.2 功能要求说明 (1)1.3 设计课题总体方案介绍及工作原理说明 (1)2、设计课题硬件系统的设计2.1 设计课题硬件系统各模块功能简要介绍 (5)2.2 设计课题电路原理图、PCB图、元器件布局图 (5)2.3 设计课题元器件清单 (5)3、设计课题软件系统的设计3.1 设计课题使用单片机资源的情况 (7)3.2 设计课题软件系统各模块功能简要介绍 (7)3.3 设计课题软件系统程序流程框图 (7)3.4 设计课题软件系统程序清单 (7)4、设计结论、仿真结果、误差分析、教学建议等等4.1 设计课题的设计结论及使用说明 (10)4.2 设计课题的仿真结果 (10)4.3 设计课题的误差分析 (10)4.4 设计体会 (10)4.5 教学建议 (11)参考文献 (12)致谢 (13)附录 (14)第一章设计课题任务、功能要求说明及总体方案介绍1.1 设计课题任务设计一个具有特定功能的音乐播放器。

该音乐播放器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

该音乐播放器可以播放多首音乐,曲目选择可以由键盘控制,曲目名称可以显示在显示器上。

1.2功能要求说明(1) 该音乐播放器上电后显示系统提示符“P.”。

(2) 在按下第一个键后就播放第一首歌曲,并在显示器上显示“1”。

(3) 在按下第二个键后就播放第二首歌曲,并在显示器上显示“2”。

(4) 在按下第三个键后就播放第三首歌曲,并在显示器上显示“3”。

(5) 在播放音乐的中间能切换歌曲,在放完一首歌后回到起始状态,下一步的动作由人控制。

1.3设计课题总体方案介绍及工作原理说明本设计由AT89C52 单片机,3*1独立键盘,数码管等构成。

总体方案图如图1.1所示图1.1 总体方案图(1)总体原理:乐曲中不同的音符,实质就是不同频率的声音。

通过单片机产生不同的频率的脉冲信号,由蜂鸣器放出,就产生了美妙和谐的乐曲。

基于单片机的音乐播放系统.

基于单片机的音乐播放系统.

音乐播放系统设计李凯龙目录摘要 (1)1 绪论 (1)1.1 功能需求 (2)2 硬件设计 (2)2.1 音乐播放系统的电路原理图 (2)2.2 电源输入的电路原理图 (3)2.3 晶振电路 (3)3 系统工作原理 (4)3.1 系统的总体方案设计 (4)3.2 主控芯片AT89C51简介 (4)4 线路连接 (5)5 软件设计 (6)5.1 主程序流程图 (6)6 调试与故障分析 (8)6.1 软件程序调试 (8)6.2 硬件电路调试 (8)7 结论 (9)8 致谢 (9)参考文献 (10)附录一:电路图 (11)附录二:主程序 (11)摘要本文将介绍一种以89C51型单片机为基础元件设计的自动音乐播放器。

在当今这个科技高速发展的时代,生活节奏的加快,人们长期处于工作、学习压力过大的状态,对于调节心理压力而言音乐对于每一个人都十分重要,由此音乐播放器在国内已经开始普及。

校园里的上下课的铃声,宿舍内早晨的起床号声音,都由以前枯燥刺耳的铃音转变成了好听的音乐,公路、广场中的计时装置也逐渐开始采用音乐来充当铃声。

此装置不仅为人们日常生活的计时提供了方便,同时也为目前快节奏的生活带来了乐趣。

本文是应用MCS-51单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用C语言进行程序设计。

通过控制单片机内部的定时器来产生不同频率的方波,驱动蜂鸣器发出不同音调的音乐,再利用延迟来控制发音时间的长短。

把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。

这种控制电路结构简单,可读性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。

关键词:音乐播放器,51单片机,C语言1 绪论单片机,更确切地说应称为作微控制器,是20世纪70年代中期发展起来的一种面向控制的大规模集成电路模块,其特点是功能强、体积小、可靠性高、价格低廉。

它一面世便在工业控制、数据采集、智能仪表化、机电一体化、家用电器等领域得到了广泛应用,极大地提高了这些领域的技术水平和自动化程度。

基于单片机的音乐播放器

基于单片机的音乐播放器

基于单片机的音乐播放器制作(一)硬件部分设计
整个硬件电路是由中心控制模块、播放模块、按键模块、显示模块,电源模块和彩灯模块六部分组成,基本实现音乐的选曲,和播放模式的控制,电源大小的控制。

(1)中心控制模块
中控采用AT89S52芯片,AT89S52是拥有2个外部中断,2个16位定时器,2个可编程串口UART的单片机。

(2)显示模块
显示模块采用Lcd-1602液晶,主要显示曲目,播放命令。

(3)播放模块
播放模块是由8550NPN三极管和电磁蜂鸣器组成。

A T89S52输出高电平控制信号,启动8550NPN三极管使信号放大,从而启动电磁蜂鸣器。

(4)按键模块
按键模块采用独立按键模块模式。

(5)彩灯模块
彩灯模块主要有4个LED彩灯组成,,起指示作用。

(6)电源模块
电路原理图(二)软件部分。

音乐播放器单片机课程设计-基于单片机的音乐播放器

音乐播放器单片机课程设计-基于单片机的音乐播放器

⾳乐播放器单⽚机课程设计-基于单⽚机的⾳乐播放器⼀.概述 (2)⼆.系统总体⽅案设计 (3)三.硬件设计 (6)3.1 89C51单⽚机 (6)图3-1和3-2 (7)3.2 I/O并⾏⼝直接驱动LED显⽰ (7)四.软件设计 (10)4.1.软件设计 (10)五.系统调试与仿真 (12)5.1软件仿真阶段 (12)5.2系统的仿真调试阶段 (12)5.3硬件安装调试 (12)六.总结 (14)参考⽂献 (15)附录A:⾳乐播放器电路设计图 (16)附录B:程序清单 (17)⼀.概述本课题要求以单⽚机为核⼼设计⼀个⾳乐播放器,完成多曲选择播放控制、停⽌控制、省电模式控制等功能。

⾳乐播放器利⽤单⽚机的定时器产⽣乐谱的各种频率⽅波,信号经过放⼤后由喇叭发出声⾳,选取某段⾳乐使单⽚机连续播放。

设计3个按键:播放/停⽌、下⼀曲、上⼀曲;4位LED显⽰器,⽤来显⽰所选曲⽬,该显⽰器在播放期间为了节省电源,设计为关闭状态,当⼀歌曲演奏结束,或选曲时显⽰器才显⽰曲⽬信息。

总体的设计思路是这样的。

⼆.系统总体⽅案设计本课题要求以单⽚机为核⼼设计⼀个简易⾳乐播放器,具有⾃动播放乐曲的功能。

⼀⾸⾳乐是许多不同的⾳阶组成的,⽽每个⾳阶对应着不同的频率,这样我们就可以利⽤不同的频率的组合,即可构成我们所想要的⾳乐了,⾳阶对应频率关系图1-1:图2-1本设计⽤89C51单⽚机为核⼼,利⽤8段数码管显⽰器.采⽤动态显⽰输出,声⾳输出⽤蜂鸣器来实现。

采⽤8段数码管显⽰器进⾏动态显⽰需要占⽤4根I/O线,蜂鸣器占⽤1根I/O线,89C51单⽚机有⾜够的线,不⽤扩展I/O⼝。

⽤⼀⽚单⽚机即可满⾜本设计的输⼊输出。

系统框图如图1-2所⽰:图2-2通过对⾳乐播放器主体部分的电路进⾏模仿设计,达到播放器固有的基本功能,设定按钮K1、 K2和K3。

按钮K1打开并⾃动播放乐曲1;按钮K2打开并⾃动播放乐曲2;按钮K3为⼿动控制⾳乐停⽌的按键。

基于单片机的音乐播放器 本科毕业论文

基于单片机的音乐播放器  本科毕业论文

基于单片机的音乐播放器作者:学号:系别:专业:指导教师:专业技术职务2007 年3 月摘要本文介绍了基于AT89C2051单片机的乐曲播放器的硬件设计和软件设计过程。

本系统实现了播放乐曲,并可以通过按键随时播放下一曲和上一曲,同时显示当前播放乐曲的条目的功能。

播放的乐曲可以通过软件的方式进行添加和删除。

通过实际的实验证明,该系统具有硬件设计简单,软件可调整性大,系统稳定可靠等优点。

关键词:AT89C2051,乐曲播放器引言简简单单的几个音符,却展现了它奇特多彩的个性,呈现出一个色彩斑斓的世界。

人们的生活离不开音乐,音乐可以陶冶人们的情操,使心灵变得纯净、美好,使人的大脑变得聪明、伶俐;音乐可以让生活充满欢乐、祥和;音乐甚至可以治理环境,让人与人之间的关系变得更亲近、和谐。

音乐的基本要素是指构成音乐的各种元素,包括音的高低、音的长短、音的强弱和音色。

由这些基本要素互相结合,形成音乐的常用的“形式要素”,例如:节奏、曲调、和声,以及力度、速度、调式、曲式、织体等。

1、节奏:音乐的节奏是指音乐运动中音的长短和强弱。

音乐的节奏常被比喻为音乐的骨架。

节拍是音乐中的重拍和弱拍周期性地、有规律地重复进行。

我国传统音乐称节拍为“板眼”,“板”相当于强拍;“眼”相当于次强拍(中眼)或弱拍。

2、曲调:曲调也称旋律。

高低起伏的乐音按一定的节奏有秩序地横向组织起来,就形成曲调。

曲调是完整的音乐形式中最重要的表现手段之一。

曲调的进行方向是变幻无穷的,基本的进行方向有三种:“水平进行”、“上行”和“下行”。

相同音的进行方向称水平进行;由低音向高音方向进行称上行;由高音向低音方向进行称下行。

曲调的常见进行方式有:“同音反复”、“级进”和“跳进”。

依音阶的相邻音进行称为级进,三度的跳进称小跳,四度和四度以上的跳进称大跳。

3、和声:和声包括“和弦”及“和声进行”。

和弦通常是由三个或三个以上的乐音按一定的法则纵向(同时)重叠而形成的音响组合。

基于51单片机的音乐播放器

基于51单片机的音乐播放器

基于51单片机的音乐播放器制作一、设计原理乐曲中有不音符,实质就是不同频率的声音。

通过单片机产生不同的频率的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。

二、AT89C51简介AT89C51:是一种4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AAT89C2051是它的一种精简版本。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

主要功能特性:1)与MCS-51兼容;2)4K字节可编程FLASH存储器;3)全静态工作:0Hz-24MHz;4)128×8位内部RAM;5)两个16位定时器/计数器;6)5个中断源;7)可编程串行通道;8)低功耗的闲置和掉电模式;9)片内振荡器和时钟电路。

三、硬件结构下图是以AT89C51单片机为核心的音乐播放器系统硬件设计结构图。

该系统主要是由复位电路、按键电路、时钟电路、中心模块、扬声器驱动等组成。

其工作原理为:此音乐播放器,有三个按键及控制按钮:播放/暂停、下一曲、上一曲;通过控制按钮控制单片机,播放所要求的音乐,并通过放大电路和喇叭输出声音。

三、简易仿真原理图四、音乐发声设计原理4.1发声原理一首乐曲是由多个音符构成的。

每个音符都对应着一个确定的频率,乐曲中不同的音符,实质就是不同频率的声音;另外每个音符会根据乐曲的要求设定一个确定的节拍。

可以控制单片机不同频率不同节拍的脉冲信号,蜂鸣器发出就产生了美妙和谐的乐曲。

4.2单片机产生不同频率脉冲信号的原理1、要产生音频脉冲,只要算出来某一个音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这半周期的时间,每当计时到后就降输出脉冲I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O 脚上得到此频率的脉冲。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的音乐播放器摘要单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。

基于单片机的音乐播放器可应用于MP3、MP4,扩音器等很多方面,并可作为很多系统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括"Do"、"Re"、"Me"--等音阶在内的各种频率声音。

将各个音阶连接在一起,便可组成一支曲子或是演奏一段旋律。

基于这个思想,采用AT89C52单片机设计了一款特殊的"音乐播放器",本播放器可实现播放、暂停、复位等功能。

关键字:单片机;集成电路:89C52芯片;音乐播放器AbstractSingle Chip Microcomputer is an integrated circuit chip, VLSI technology is the use of having the data processing capabilities of the CPU random access memory RAM, read-only memory ROM, a variety of I / O port and interrupt system, the timer / counter functions (may also include a display driving circuit, the pulse width modulation circuit, an analog multiplexer, A / D converter circuit, etc.) are integrated into a small sound system on a microcomputer composed of silicon.Microcontroller-based music player can be used in many ways mp3, MP4, loudspeakers, etc., and as a secondary function of many systems, as one of the important microcontroller hardware resources, using the timer can generate a variety of fixed frequency square wave signal can be generated include the "Do", "Re", "Me" - like various frequencies including the sound scale. The various scales together, may form a song or play a melody. Based on this idea, using AT89C52 designed a special "Music Player", the player can be realized play, pause, reset and other functions.Keyword:Single Chip Microcomputer;integrated circuit;89C52 chip;Music Player基于单片机的音乐播放器单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

单片机由运算器、控制器、存储器、输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

第一章设计目的和要求1.1 设计目的目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

在音乐播放方面,利用单片机储存音乐,控制播放也越来越广泛。

为了更好的掌握单片机的应用,用单片机设计一个音乐播放器。

这样可以有效的将理论知识与实践相结合。

1.2 设计要求设计一个音乐播放器,有三个按键:播放/暂停、下一曲、上一曲;,用来显示所选曲目,该显示器在音乐播放中关闭,一曲演奏结束时,复位键可继续播放。

第二章硬件电路设计2.1 总体设计本系统以89C51单片机为控制核心,以按键开关作为控制元件,以蜂鸣器作为执行器件,再结合晶振电路,共同构成音乐播放器系统。

图2-1 总体设计框图2.2 模块电路设计2.2.1 单片机模块89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。

在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。

掉电模式下,保存RAM 数据,时钟振荡停止,同时停止芯片内其它功能。

图2-2 单片机模块图2.2.2 晶振电路晶振电路由两个30pF的电容和一个6Mhz的晶体振荡器组成。

节点1与单2.2.3 复位电路复位电路由复位键、22uF的电容C3、200Ω的电阻R3、1000Ω的电阻R4第三章软件设计3.1 音乐播放原理音调的高低用音阶表示,不同的音阶对应不同的频率。

因此,不同频率的方波就可以产生音阶,音阶与频率的关系见表1。

由于频率的倒数是周期,因此可由单片机中的定时控制方波周期,当定时器计数溢出时产生中断。

一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。

因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。

不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”,即Tone。

把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。

音调的长短用节拍数表示(例如1/4拍、2/4拍、……),不同节拍数的不同音符的组合形成乐谱。

程序中,音的节拍可由延时子程序实现。

延时子程序设定为四分之一拍,节拍值只能是它的整数倍。

3.2 流程控制主程序实现对单片机进行初始化后,进行歌曲曲目判断。

确定歌曲曲目后子程序对是否播放进行循环判断,得到播放中断的指令后再进行播放。

在播放音乐的过程中,查表子程序循环判断音乐是否结束。

当音乐结束时,程序跳转回曲目识别子程序。

图3-1 流程框图3.3 实物演示第四章总结通过这段时间的努力,在老师与同学们的指导帮助下,本次顺利的完成了。

本实验是按照课程实验要求进行的,以达到理论与实践结合的目的。

本次实验不仅仅让我巩固了课堂上所学习的理论知识,而且在实验过程中加深了对知识的理解。

同时,对于实验仪器有了更进一步的操作与认识。

同时,在这次设计中,我也发现了自己的许多不足。

首先,对开发工具的掌握还不算很全面,走了不少弯路。

其次,最初对系统的设计,考虑不是很全面,所以在实验过程中,碰到不少困难。

再次,我应该继续学习,不断提高自己的能力。

最后,感谢在实验过程中给予我帮助的老师和同学!第五章参考文献[1] 郭文川.单片机原理与接口技术[M] .中国农业出版社.2007.8[2] 阎石.数字电子技术基础(第五版)[M] .北京:高等教育出版社。

2005[3] 李泉溪.单片机原理与实例仿真[M] .北京:北京航空航天大学出版社,2009[4] 沈德金,陈粤初.MCS-51系列单片机接口电路与应用程序实例.北京航空航天大学出版社,1990[5] 何立民.MCS-51系列单片机应用系统设计.北京航空航天大学出版社,1990.1附录:主要程序#include <REG52.H>#include <INTRINS.H>sbit Beep = P2^6 ;unsigned char n=0;unsigned char code music_tab[] ={0x18, 0x30, 0x1C , 0x10,0x20, 0x40, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x10,0x1C, 0x10, 0x18 , 0x40,0x1C, 0x20, 0x20 , 0x20,0x1C, 0x20, 0x18 , 0x20,0x20, 0x80, 0xFF , 0x20,0x30, 0x1C, 0x10 , 0x18,0x20, 0x15, 0x20 , 0x1C,0x20, 0x20, 0x20 , 0x26,0x40, 0x20, 0x20 , 0x2B,0x20, 0x26, 0x20 , 0x20,0x20, 0x30, 0x80 , 0xFF,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x20, 0x1C , 0x10,0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x80,0x20, 0x30, 0x1C , 0x10,0x20, 0x10, 0x1C , 0x10,0x20, 0x20, 0x26 , 0x20,0x2B, 0x20, 0x30 , 0x20,0x2B, 0x40, 0x20 , 0x15,0x1F, 0x05, 0x20 , 0x10,0x1C, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,0x30, 0x20, 0x2B , 0x40,0x20, 0x30, 0x1C , 0x10,0x18, 0x20, 0x15 , 0x20,0x1C, 0x20, 0x20 , 0x20,0x26, 0x40, 0x20 , 0x20,0x2B, 0x20, 0x26 , 0x20,0x20, 0x20, 0x30 , 0x30,0x20, 0x30, 0x1C , 0x10,0x18, 0x40, 0x1C , 0x20,0x20, 0x20, 0x26 , 0x40,0x13, 0x60, 0x18 , 0x20,0x15, 0x40, 0x13 , 0x40,0x18, 0x80, 0x00};void int0() interrupt 1 //采用中断0 控制节拍{ TH0=0xd8;TL0=0xef;n--;}void delay (unsigned char m) //控制频率延时{unsigned i=3*m;while(--i);}void delayms(unsigned char a) //豪秒延时子程序{while(--a);}void main(){ unsigned char p,m; //m为频率常数变量unsigned char i=0;TMOD&=0x0f;TMOD|=0x01;TH0=0xd8;TL0=0xef;IE=0x82;play:while(1){a: p=music_tab[i];if(p==0x00) { i=0, delayms(1000); goto play;}else if(p==0xff) { i=i+1;delayms(100),TR0=0; goto a;}else {m=music_tab[i++], n=music_tab[i++];}TR0=1; //开定时器1while(n!=0) Beep=~Beep,delay(m); //等待节拍完成, 通过P1口输出音频 TR0=0; //关定时器1}}。

相关文档
最新文档