单片机课程设计音乐播放器报告
基于单片机音乐播放器课程设计报告书

目录第一章绪论 (1)第二章音乐播放器主要器件相关知识介绍 (2)2.1 AT89C51 (2)2.2 LCD 显示器 (4)2.3 喇叭 (5)2.4 键盘 (5)第三章音乐播放器设计原理 (6)3.1 单片机发声的基本原理 (6)3.2 设计的相关音乐说明 (7)3.3 音乐播放器设计功能说明 (7)3.4 设计结构框图 (9)3.5 主程序控制的工作流程图 (10)3.6 播放音乐的主程序 (11)设计心得 (15)参考文献 (15)第一章绪论二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。
随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。
而品质的提高,功能的更新,可靠性的增强,品种的变化无不于产品的核心控制部分水平的提高密不可分。
家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。
而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。
现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。
例如,就市场上的mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。
但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,还除智能化的单片机莫属。
设计指标:(1)设计一个(4×4)的键盘,并将16个键设计成16个音;(2)可弹奏想要表达的音乐;(3)该电子琴包含1首示例音乐,接通电源可播放示例音乐。
设计要求:(1)按设计指标进行电路设计;(2)列出音阶与单片机定时器输出频率关系表格;(3)制作符合设计指标的硬件电路。
第二章音乐电子显示屏主要器件相关知识介绍制作音乐播放器所使用的主要元器件AT89S52 1个晶振 12MHZ 1 个LCD1602液晶显示器 1个小喇叭 1个电容 30pf 2个极性电容 1uf 2个10nf 1个电阻 10k 1个470欧 1个1K欧 1个按键 17个排阻 1k 1个2.1 AT89S52 : AT89S52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机音乐播放器开题报告

单片机音乐播放器开题报告单片机音乐播放器开题报告一、引言音乐是人们生活中不可或缺的一部分,而音乐播放器则是人们享受音乐的重要工具。
随着科技的不断发展,音乐播放器也从最初的磁带式、CD式,逐渐演变为数字化的MP3、MP4等形式。
然而,市面上的音乐播放器功能繁多,价格也各不相同,对于一些对音质要求不高,只想简单听歌的用户来说,这些播放器过于复杂且昂贵。
因此,我们决定设计一款简单实用、价格适中的单片机音乐播放器。
二、项目背景目前市场上的音乐播放器大多采用了复杂的操作系统,功能繁多,造成了用户在使用时的困扰。
而单片机音乐播放器则是一种基于单片机的音乐播放设备,它以简单易用、功能实用为特点,适合那些对音质要求不高,只想简单听歌的用户。
通过对市场调研和用户需求分析,我们认为单片机音乐播放器有着广阔的市场前景。
三、项目目标我们的目标是设计一款简单实用、价格适中的单片机音乐播放器,以满足用户对音乐播放的基本需求。
具体目标如下:1. 支持常见音频格式,如MP3、WAV等。
2. 提供简单的操作界面,方便用户使用。
3. 支持音量调节、歌曲切换等基本功能。
4. 具备耳机输出和扬声器输出两种音频输出方式。
5. 采用低功耗设计,延长电池使用寿命。
6. 价格适中,以满足大众用户的购买需求。
四、项目方案1. 硬件设计我们将采用一块单片机作为核心控制器,通过外部存储器存储音频文件,并通过DAC芯片将数字信号转换为模拟信号输出。
同时,我们将设计一个简单的按键控制电路,用于用户操作。
此外,为了满足不同用户的音频输出需求,我们还将设计耳机输出和扬声器输出两种音频输出方式。
2. 软件设计在软件设计方面,我们将编写一套简单的程序,用于控制单片机音乐播放器的各项功能。
该程序将包括音频文件的读取、解码、播放等功能,同时还将设计一个简单的用户界面,方便用户进行操作。
为了提高音质和减少功耗,我们还将对程序进行优化,确保音乐播放器的性能和稳定性。
五、项目进度计划1. 前期准备阶段(1周)- 进行市场调研,了解用户需求。
单片机音乐播放器课程设计

单片机音乐播放器课程设计一、课程目标知识目标:1. 理解单片机的基础知识,掌握其内部结构与工作原理;2. 学会使用C语言编写单片机程序,实现音乐播放器的功能;3. 了解音乐播放器的基本组成部分,如音符产生、音调控制等;4. 掌握音乐理论知识,能将简单的乐谱转换为单片机程序。
技能目标:1. 能够运用所学知识,设计并实现一个具有基础音乐播放功能的单片机系统;2. 熟练使用编程软件进行单片机程序编写、调试与优化;3. 学会使用相关工具和仪器,进行电路搭建、测试与故障排查。
情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发创新精神;2. 培养学生的团队协作能力,学会与他人共同解决问题;3. 增强学生的自信心,敢于面对挑战,勇于克服困难;4. 培养学生的责任心,关注环境保护,养成良好的操作习惯。
课程性质:本课程为实践性较强的课程,以项目为导向,结合单片机原理与应用,培养学生的动手能力和创新能力。
学生特点:本课程针对高中年级学生,学生具备一定的物理、数学基础,对电子制作有一定兴趣,但编程能力参差不齐。
教学要求:教师需结合学生特点,采用循序渐进的教学方法,注重理论与实践相结合,关注个体差异,提高学生的实践操作能力。
在教学过程中,注重引导学生思考,激发学生的学习兴趣,培养其创新精神。
通过课程学习,使学生能够独立完成一个简单的单片机音乐播放器设计。
二、教学内容1. 单片机基础知识:介绍单片机的内部结构、工作原理、性能特点,引导学生了解并掌握单片机的基本概念。
教材章节:第一章 单片机概述2. C语言编程基础:讲解C语言的基本语法、数据类型、运算符、控制结构等,为学生编写单片机程序奠定基础。
教材章节:第二章 C语言基础3. 单片机程序设计与调试:学习如何使用编程软件进行程序编写、调试与优化,掌握单片机程序的开发流程。
教材章节:第三章 单片机程序设计与调试4. 音频信号处理:介绍音频信号的基本知识,如音符、音调、节拍等,学习如何将乐谱转换为单片机程序。
最新单片机课程设计音乐播放器报告

单片机课程设计音乐播放器报告华北航空航天学院单片机课程设计报告课程设计作业学科名称讲师王晓职称音乐播放器设计副教授学生姓名张婷完成时间班级6.12年级B10Xxxx)* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *TAB5: DW 0A08H,0C08H,0C10H,0C08H,0A08H,0D08H,0E08H DW 0D08H,0D08H,0D08H,0D08H,0C08H,0F 0H,0F08H,0F08H DW 0F08H,0D08H,0D08H,0C40H,0A08H,0C08H,0C10H 256总示意图图4.1总示意图2。
元件清单AT89C52,晶振,电容,电阻,抑制,按键,数码管,二极管,蜂鸣器,三极管115,结论这款音乐播放器可以播放四首歌曲,并使用按键选择曲目,基本达到了设计要求用数据线连接计算机作为电源,将下载了程序的单片机插入插座,按下3.3键重复播放当前的曲子,按下3.4键播放前一首曲子,按下3.5键播放下一首曲子,按下REST键复位,从第一首曲子开始数码管显示歌曲曲目。
二极管作为游戏的一部分来增加兴趣6、体验课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题、锻炼实践能力的重要环节。
这也是一个针对学生实际工作能力的具体训练和考核过程。
随着科学技术的发展,单片机已经成为当今计算机应用中前所未有的活跃领域,可以说在生活中无处不在。
因此,对于自动化专业的学生来说,掌握单片机的开发技术是非常重要的。
我的主题是音乐播放器的硬件和软件设计。
经过13周的单片机学习,我将自己设计一件作品。
这是一个测试。
提前很久,我们选择了题目,开始做准备工作,查阅资料,看了学生的小作品和计划的说明,我也对我的题目有了信心。
我学到了很多关于这门课程的设计,如何制定计划,如何实现计划,以及如何克服实施过程中的心理不良情绪。
单片机课程设计 音乐播放系统设计

《单片机原理及应用》课程设计报告书课题名称音乐播放器姓名学号专业指导教师机电与控制工程学院年月日任务书本次课题是:设计一个以单片机为核心的音乐播放器,该音乐播放器具有音乐的循环播放及播放时的音乐显示等功能。
具体要求如下:设计三个键分别实现:播放/停止、下一曲、上一曲;同时用LED显示器显示播放曲目,为了节省电源,LED显示器在播放期间设计为关闭状态,只有当一首歌演奏结束或选曲时显示器才显示曲目信息。
当播放键打开时音乐开始播放,同时LED显示器显示,假如是第一首歌则LED显示器显示数字1,当打开下一曲按键时播放器开始播放第二首歌,同时LED显示器显示数字2。
声音经过三级管放大后由蜂鸣器输出。
音乐可以给我们的生活带来乐趣,音乐可以放松我们的心情,音乐可以让我们得到释怀。
而且通过这次设计我们可以学到关于单片机在实际生活中的设计应用,同时也使我们加深了对单片机的认识,提高了我们的编程能力,为我们能够更好的学习单片机有很大的帮助。
目录1.绪论 (1)2.方案论证 (2)3.方案说明 (2)4.硬件方案设计 (3)5.软件方案设计 (13)6.调试 (14)7.小结 (17)8.参考文献 (11)9.附录 (14)1.绪论二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,现代家庭更加注重生活品质,健康、安全、舒适、便捷成为人们的迫切需要。
智能家电控制系统为智能家居的一个重要组成部分,为人们提供方便、安全、智能化、舒适的数字化生活提供解决方案。
随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。
由其是单片机技术的应用产品已经走进了千家万户。
首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。
本设计以数字集成电路技术为基础,单片机技术为核心。
本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。
音乐播放系统设计--单片机课程设计报告

单片机课程设计报告单片机课程设计报告音乐播放系统设计音乐播放系统设计姓 名:名: 陈 志 祥,祥, 陈 琪,琪,温 雪 云 班 级:级: 04电信(3)班)班学 号:号:2004358307 2004358308 2004358324 指导老师:指导老师:日期:日期:2007.7.2~2007.7.13华南农业大学工程学院华南农业大学工程学院摘 要要作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括“Do“、“Re“、“Me““Me“----等音阶在内的各种频率声音。
在此设计中我们采用12MHz 的晶振,产生的频率信号即音乐信号由P3.7口输出,信号经过放大后由喇叭发出声音。
声音。
乐曲中,每一音符对应着确定的频率,我们可以参照给出的各音符频率及其相应的时间常数来编写程序,根据表中所提供的常数,将其16进制代码送入芯片里,可以奏出音符。
音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。
便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。
其它节拍与时间的对应关系也可以从两者关系表中得到。
也可以从两者关系表中得到。
定时器T0工作在定时方式1,改变TH0及TL0TL0,产生不同的音频频率。
要编写的乐,产生不同的音频频率。
要编写的乐谱按要求以音符字节数据表的形式存放在程序中,改变乐曲就是通过改变该数据表的内容来实现的。
主程序的任务是按顺序读取数据表中的字节,根据情况调用音级子程序和音长子程序,启动定时器T0进行工作。
进行工作。
目 录录1 方案比较与选择(须详细阐述创新点或新见解)方案比较与选择(须详细阐述创新点或新见解)············································· 1 2 电路仿真与分析电路仿真与分析······································································································· 2.1 电路仿真电路仿真········································································································ 2.2 电路分析电路分析········································································································ 3电路板制作、焊接、调试电路板制作、焊接、调试························································································ 3.1 电路板制作电路板制作····································································································· 3.2 电路板焊接电路板焊接····································································································· 3.3 电路板调试电路板调试···································································································· 4讨论及进一步研究建议讨论及进一步研究建议···························································································· 5课程设计心得课程设计心得············································································································ Abstract ·Abstract ··························································································································参考文献参考文献 ·······················································································································1.方案比较与选择方案一:利用AT89C2051和三级管9012构成的音乐播放器一、功能特色一、功能特色本播放器可实现循环播放、上一曲、下一曲、复位等功能。
单片机音乐播放实验报告

课程设计课程名称微机原理与单片机技术实践题目名称单片机制作与音乐播放学生学院自动化学院专业级电子产品学生卡学生指导教师学习MCU制作和音乐播放课程设计的内容1. 使用面包板焊接PIC单片机的最小系统,包括晶振、复位电路、按键、LED灯。
2.独立添加新模块。
3、编写程序驱动单片机工作。
2. 课程设计要求和数据1、焊板所需原理图:复位晶振LED灯蜂鸣器2. 音乐播放所需的信息。
摘要:利用16F877A 单片机原理和控制原理设计了八音盒的硬件电路,并使用16位单片机语言进行编程。
通过控制单片机的定时器产生不同频率的方波,驱动扬声器发出不同音调的音乐,然后利用延时来控制发声时间的长短。
该程序通过将乐谱转换为相应的时间常数来驱动发声设备播放悦耳的音乐。
这种控制电路结构简单,可靠性高,适用性强;软件程序适应范围广,只需要针对不同的音乐改变相应的定时常数即可。
音乐是如何产生的:一首音乐是由许多不同的音阶组成的,每个音阶对应不同的频率,这样我们就可以利用不同频率的组合来形成我们想要的音乐。
频率很方便。
我们可以使用微控制器的定时器/计数器T0来产生这样的方波频率信号。
因此,我们只需要修正一首歌曲的音阶之间的频率关系。
现在以单片机的12MHZ 晶振为例,单片机的高、中、低音符相关的计数值和计数T0如下表4.1所示:表 4.1 与单片机计数 T0 相关的高、中、低音符的计数值笔记对应PR2值 笔记 对应PR2值 M_1119 M_2 105 M_394 M_5 79 M_670 H_1 59 L_5 158 L_6 141如表4.2:音乐的节拍,一拍为单位(C 键)表 4.2 音乐节拍 调整值延迟 调整值 延迟 调4/4125毫秒 调4/4 62毫秒 调3/4187毫秒 调3/4 94 毫秒 调2/4250毫秒 调2/4 125毫秒对于不同的曲调,我们也可以使用单片机的另一个定时器/计数器来完成。
代码的发音部分在程序中实现,由单片机的一个引脚输出。
单片机音乐播放器设计报告

第1章绪论第1章系统硬件原理及设计1.1核心器件AT89C51介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示图2-1 A T89C51外形图及引脚序列1.1.1 主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路1.1.2 .管脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中州大学《单片机》课程设计报告报告题目:音乐播放器作者所在系部:工程技术学院作者所在专业:电气自动化作者所在班级:B10204作者姓名:张强作者学号:20104020416指导教师姓名:雷刚完成时间:2014年10月12日课程设计任务书课题名称音乐播放器的设计完成时间 6.12 指导教师王晓职称副教授学生姓名张婷班级B10204总体设计要求和技术要点利用单片机设计一个音乐播放器,并能够播放三种音乐,音乐自行设计。
一、设计目的1.掌握单片机定时器的使用方法2.掌握单片机扩展显示器、键盘的方法二、技术指标1.键盘设置3种音乐的播放切换;2.LED显示3种音乐的提示符;3. 流水灯闪烁工作内容及时间进度安排第14周:周1到周2查阅资料,确定设计方案周3到周4编写程序并进行proteus仿真周5焊接调试第17周:周1撰写实验报告周2验收课程设计成果1.与设计内容对应的软件程序与焊接实物2.课程设计报告书内容摘要本文的主要内容是用AT89C52单片机为核心控制元件,设计一个音乐播放器,以单片机作为主控核心、蜂鸣器等模块组成。
利用单片机产生不同频率来获得要求的音阶,最终可随意编写需要的程序,播放出音乐。
在此设计中我采用12MHz的晶振,产生的频率信号即音乐信号由P3.7口输出,信号经过放大后由喇叭发出声音。
设有四个按键,其中两个能实现多首音乐的选择,另一个能实现开始功能和单曲重播的功能,最后一个能实现复位和关闭歌曲的功能。
设有一位数码管,每选择一首曲子能在数码管上显示当前的曲目(只是数字)。
设十六个发光二极管,能随歌曲频率闪烁。
关键字:单片机音乐不同频率按键目录一、概述 (1)二、方案设计与论证 (1)1.硬件设计 (1)2.软件设计 (2)三、单元电路设计与分析 (3)1.单片机最小系统 (3)2. 数码管显示 (4)3.发光二级管和按键 (4)4.蜂鸣器发声 (5)5.软件部分程序和流程图 (5)四、总原理图及元器件清单 (11)1.总原理图 (11)2元器件清单 (11)五、结论 (12)六、心得体会 (12)七、参考文献 (12)一、概述作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括“Do“、“Re“、“Me“--等音阶在内的各种频率声音。
在此设计中我们采用12MHz的晶振,产生的频率信号即音乐信号由P3.7口输出,信号经过放大后由蜂鸣器发出声音。
乐曲中,每一音符对应着确定的频率,我们可以参照给出的各音符频率及其相应的时间常数来编写程序,根据表中所提供的常数,将其16进制代码送入芯片里,可以奏出音符。
音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。
便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。
其它节拍与时间的对应关系也可以从两者关系表中得到。
定时器T0工作在定时方式1,改变TH0及TL0,产生不同的音频频率。
要编写的乐谱按要求以音符字节数据表的形式存放在程序中,改变乐曲就是通过改变该数据表的内容来实现的。
主程序的任务是按顺序读取数据表中的字节,根据情况调用音级子程序和音长子程序,启动定时器T0进行工作。
二、方案设计与论证1. 硬件设计电路以AT89C52单片机为核心控制元件,P3.7口的蜂鸣器播放歌曲,P3.3、P3.4、P3.5口的三个按键实现开始/单曲重播,上一首,下一首的功能。
P1口的一位数码管显示播放歌曲的曲目号。
P2口发光二级管闪烁增加音乐播放的情调。
图2.1 A T89C52引脚图2. 软件设计(1)要生产音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间.利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲.(2)利用8051的内部定时器使用其工作在计数器模式MODE1下,改变计数值THO 及TLO以产生不同频率的方法.(3)例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次计数956次时将I/O反相,就可得到中音DO (523Hz).计数脉冲值与频率的关系公式如下: N=Fi÷2÷Fr ………………1.1N: 计算值; Fi: 内部计时一次为1us, 故其频率为1MHz;(4)其计数值的求法如下:T=65536-N=65536-Fi÷2÷Fr ………1.2例如: 设K=65536, F=1000000=Fi=1MHz, 求低音DO(261Hz).中音DO (523Hz). 高音的DO (1046Hz)的计算值. 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的T0=65536-500000/1047=65059(5)C调各音符频率与计数值T的对照表如表1所示.表1 C调各音符频率与计数值T的对照表音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)低1 DO 262 63628 # 4 FA# 740 64860#1 DO# 277 63731 中 5 SO 784 64898低2 RE 294 63835 # 5 SO# 831 64934#2 RE# 311 63928 中 6 LA 880 64968低 3 M 330 64021 # 6 932 64994低 4 FA 349 64103 中 7 SI 988 65030# 4 FA# 370 64185 高 1 DO 1046 65058低 5 SO 392 64260 # 1 DO# 1109 65085# 5 SO# 415 64331 高 2 RE 1175 65110低 6 LA 440 64400 # 2 RE# 1245 65134# 6 466 64463 高 3 M 1318 65157低 7 SI 494 64524 高 4 FA 1397 65178中 1 DO 523 64580 # 4 FA# 1480 65198(6)每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,表2为节拍与节拍码的对照.如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间.假设1/4拍为1DELAY,则1拍应为4DELAY,以此类推.所以只要求得1/4拍的DELAY 时间,其余的节拍就是它的倍数,如表3为1/4和1/8节拍的时间设定。
三、单元电路设计与软件分析1.单片机最小系统(1) 时钟源电路单片机内部具有一个高增益反相放大器,用于构成振荡器。
通常在引脚XTALl 和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,结构如图1。
可以根据情况选择6MHz 、12MHz 等频率的石英晶体,补偿电容通常选择22pF 左右的瓷片电容。
(2) 复位电路单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。
上电复位要求接通电源后,自动实现复位操作。
手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。
其结构如图1。
上电自动复位通过电容C3充电来实现。
手动按键复位是通过按键将电阻R1与VCC 接通来实现。
图3.1 最小系统2.数码管显示当有键按下时,数码管显示当前的曲目。
3.发光二级管和按键当接通电源,单片机运行时,十六个发光二级管随着不同的调子闪烁,增加美感。
P3.3、P3.4和P3.5口的按键作用分别是播放重复的曲子也可开启播放,播放上一曲,播放下一曲。
图3.3 发光二级管和按键图3.2 数码管显示4.蜂鸣器发声利用单片机的P3.7口产生不同音调所对应的方波来使蜂鸣器发声,实际焊接中用了PNP三级管来驱动。
5.软件部分程序和流程图YN图3.4 蜂鸣器开始初始化查表调音符数据用延时产生节拍调键盘程序开中断一首曲子播完?软件系统程序:ORG 0000HAJMP LOOOOPORG 000BHAJMP TIM0ORG 001BHRETIORG 0023HLOOOOP: MOV A,#01HLOOOP: MOV P1,#3FHMOV P2,ARL AMOV R2,#0FFHDELAY0: MOV R3,#0FFHDJNZ R3,$MOV R4,#0FFHDJNZ R4,$DJNZ R2,DELAY0JNB P3.3,STARTLJMP LOOOPSTART: MOV P1,#06HMOV R5,#00H ;初始化MOV TMOD,#00010001BMOV IE,#10101010BMOV DPTR,#TAB2 ;装第一首歌MOV 30H,DPL ;DPTR低8位送30H暂存 MOV 31H,DPH ;DPTR高8位送31H暂存START1: INC R4 ;产生8位随机数MOV A,#01010101BMOV B,R4MUL AB ;8位随机数由P2口输出 MOV P2,AMOV DPL,30HMOV DPH,31HMOVC A,@A+DPTR ;查表MOV R0,A ;音符数据送R0崭存MOV A,#00HINC DPTRMOVC A,@A+DPTR ;查表MOV R1,A ;节拍数据送R1崭存INC DPTRMOV 30H,DPLMOV 31H,DPHCJNE A,#01H,ELECT ;一首歌没结束转ELECTINC R5LJMP KEYWORK ;结束歌曲计数器加1 ELECT: JZ START ;所有歌曲结束转START循环 MOV A,R0JNZ SINGCLR TR0SETB P3.7LOOP1: ACALL DELAY ;调用延时子程序DJNZ R1,LOOP1SJMP START1SING: MOV DPTR,#TAB1 ;音符表首址送DPTRDEC R0 ;计算音符MOV A,R0MOV B,#02HMUL ABMOV R0,AMOVC A,@A+DPTR ;查表MOV 21H,AINC DPTRMOV A,R0MOVC A,@A+DPTRMOV 20H,AMOV TL0,20HSETB TR0 ;开T0定时器LOOP2: ACALL DELAYDJNZ R1,LOOP2AJMP START1TIM0: MOV TL0,20HMOV TH0,21HCPL P3.7RETI ;中断返回DELAY: MOV R2,#70DELAY1: MOV R3,#252DJNZ R3,$JNB P3.3,AGAIN ;重复正播放的曲子JNB P3.4,FORM ;上一曲开关按下转FORMJNB P3.5,NEXT ;下一曲开关按下转NEXTDJNZ R2,DELAY1RETAGAIN: JNB P3.3,$ ;等待键释放LJMP KEYWORKFORM: CLR EA ;关中断JNB P3.4,$ ;等待键释放CJNE R5,#00H,ZERO ;不是第一首歌曲转ZER0MOV R5,#04H ;是第一首将最后一首歌曲装入歌曲计数器SJMP KEYWORKZERO: DEC R5 ;歌曲向上进一首SJMP KEYWORKNEXT: CLR EAJNB P3.5,$CJNE R5,#04H,LASTMOV R5,#00HLJMP KEYWORKLAST: INC R5 ;歌曲下翻一首LJMP KEYWORKKEYWORK: MOV DPTR,#TAB ;将歌曲排列表装入DPTRMOV A,R5 ;将R5的内容送ARL ASETB EA ;开中断JMP @A+DPTR ;根据A的内容转向不同歌曲 TAB: AJMP MUSIC2AJMP MUSIC3AJMP MUSIC4AJMP MUSIC5MUSIC2: MOV DPTR,#TAB2 ;第2首歌曲首址送DPTR MOV P1,#06HGONG: MOV 30H,DPLMOV 31H,DPHAJMP START1MUSIC3: MOV DPTR,#TAB3MOV P1,#5BHSJMP GONGMUSIC4: MOV DPTR,#TAB4MOV P1,#4FHSJMP GONGMUSIC5: MOV DPTR,#TAB5MOV P1,#66HSJMP GONG;********************(音符表)**********************;TAB1: DW 64021,64185,64331,64400,64524,64632,64732DW 64777,64860,64934,64968,65030,65085,65134DW 65157,65198,65235,65252,65283,65310,65335;**********************(因为爱情)*************************; TAB2: DW 0910H,0A08H,0C08H,0C08H,0A18H,0010H,0C08H,0A08HDW 0908H,0C08H,0C20H,0D08H,0E08H,0F08H,0F08H,0F08HDW 0E08H,0F18H,0E04H,0E08H,0E08H,0C08H,0A08H,0A20HDW 0C08H,0A08H,0C08H,0D08H,0D18H,0C08H,0D08H,0C08HDW 0C08H,0808H,0820H,0608H,0808H,0A08H,0908H,0608HDW 0A08H,0908H,0608H,0A08H,0908H,0608H,0D10H,0C20HDW 0001H;*********************(兰花草)***********************;TAB3: DW 0608H,0A08H,0A08H,0A08H,0A18H,0908H,0808H,0908HDW 0808H,0708H,0620H,0D08H,0D08H,0D08H,0D08H,0D18HDW 0C08H,0A08H,0C08H,0C08H,0B08H,0A20H,0A08H,0D08HDW 0D08H,0C08H,0A18H,0908H,0808H,0908H,0808H,0708HDW 0610H,0310H,0308H,0808H,0808H,0708H,0618H,0A08HDW 0908H,0808H,0708H,0508H,0620H,0908H,0808H,0708HDW 0508H,0640H,0001H;*********************(我只在乎你)*****************************; TAB4: DW 0A08H,0A08H,0A08H,0908H,0A10H,0C08H,0C08H,0C20HDW 0D08H,0D08H,0D08H,0C08H,0A10H,0D08H,0C08H,0C20HDW 0F08H,0F08H,0F08H,0D08H,1010H,0F08H,0C08H,0C20HDW 0D08H,0D08H,0D08H,0F08H,0D08H,0C10H,0A10H,0920HDW 0A08H,0A08H,0A08H,0908H,0A10H,0C08H,0C08H,0C20HDW 0D08H,0D08H,0D08H,0C08H,0A10H,0C08H,0C08H,0C20HDW 0F08H,0F10H,0D08H,1010H,1010H,0F08H,0C08H,0C20HDW 1010H,0C10H,0F10H,1010H,1110H,1010H,0F10H,0E10HDW 0F10H,0E10H,0D10H,0C10H,0D40H,0020H,0004H,0F08HDW 1008H,1110H,1010H,0F10H,0E10H,0F10H,0E10H,0A10HDW 0C10H,0D20H,0008H,0D08H,0C08H,0D10H,0F10H,0F20HDW 0010H,0F20H,1010H,1110H,0F10H,1010H,0F10H,0D08HDW 0D08H,1210H,1110H,1010H,0F08H,1208H,1210H,1110HDW 1010H,0F10H,1030H,1110H,1008H,0F08H,0F20H,0F10HDW 1010H,1120H,0F10H,1410H,1310H,1108H,1008H,0F10HDW 0D30H,0010H,0C10H,0F10H,1110H,1310H,1408H,1108HDW 1008H,0F10H,0D10H,0F10H,0F08H,1010H,0F08H,0F40HDW 0001H;*********************(童年)****************************;TAB5: DW 0A08H,0C08H,0C10H,0C08H,0A08H,0D08H,0D08H,0E08HDW 0D08H,0D08H,0D08H,0D08H,0C08H,0F10H,0F08H,0F08HDW 0F08H,0D08H,0F08H,0D08H,0C40H,0A08H,0C08H,0C10HDW 0C08H,0A08H,0D08H,0D08H,0E08H,0D08H,0D08H,0D08HDW 0D08H,0C08H,0F10H,0F08H,0F08H,0F08H,0D08H,0D08HDW 0F08H,1040H,1308H,1308H,1310H,1310H,1108H,1008HDW 0F08H,0F10H,0D08H,0D08H,0F08H,0D08H,0F08H,1008HDW 1008H,1008H,1008H,1008H,0F08H,1108H,1008H,1040HDW 1108H,1110H,1108H,1108H,1008H,1010H,0F08H,0F10HDW 0F08H,1008H,0F08H,0D08H,0C08H,0C08H,0C10H,0C08HDW 0D08H,0C08H,1008H,1108H,0F40H,0001H,0000HEND四、总原理图及元器件清单1.总原理图图4.1 总原理图2.元器件清单AT89C52,晶振,电容,电阻,排阻,按键,数码管,二极管,蜂鸣器,三极管五、结论此音乐播放器能够播放四首曲子,且用按键选择曲目,基本实现了设计要求。