单片机课程设计音乐播放器Word文件下载.docx
《单片机课程设计音乐播放器Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计音乐播放器Word文件下载.docx(37页珍藏版)》请在冰豆网上搜索。
硬件连线,调试;
第13~14天:
写课程设计报告。
三、主要参考文献:
1.谢自美.电子线路设计-实验-测试[M].武汉:
华中科技大学出版社,2000
2.高峰单片微机应用系统设计及实用技术机械工业出版社2004
3.郑郁正.单片机原理及应用.四川大学出版社,2003。
4.侯玉宝,陈忠平,,李成群.基于Proteus的51系列单片机设计与仿真.北京电
子工业出版社,2008
6.马忠梅单片机C语言应用程序设计机械工业出版社1997
指导教师签字:
年月日
摘要………………………………………………………………………………………II
Abstract…………………………………………………………………………………...II
1课题背景(或绪论、概述)…………………….……………………………………..1
1.1XXXX…………………………………………………………………………………...1
1.2XXXX……………………………………………………..……………………………x
2设计方案简述………………………………………..…………………..x
2.1XXXX……………………………………………………..………………………….…x
2.2XXXX……………………………………………………..………………………….…x
2.3XXXX……………………………………………………..………………………….…x
3详细设计……………………………………………………………..………………..x
3.1XXXX……………………………………………………..………………………….…x
4设计结果及分析………………………………………………..…….………………..x
4.1XXXX…………………………………………….………………………………..….…x
4.2XXXX….…………………………………………………..………………………….…x
4.3XXXX…….………………………………………………..………………………….…x
5总结……..…………………………………………………..………………………….…x
参考文献…….………………..………………………………..………………………….…x
附录主要程序代码………...………………………………..………………………….…x
摘要
单片机具有优异的性能价格比,并且具备集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等优点。
因此随着单片机技术的发展,单片机正逐步应用到人们生活中的各个方面:
1、在智能仪器仪表中的应用:
在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
2、在实时过程控制中的应用:
用单片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的质量。
本次课程设计我们就充分利用所学的单片机技术设计制作一个音乐播放器,通过实际单片机线路设计以及汇编语言程序设计巩固所学知识,锻炼动手能力,体验汇编语言程序设计中可能出现的各种问题,并努力解决。
关键词:
单片机;
扬声器;
音符;
音乐;
I/O接口
Abstract
SCMhasexcellentperformancetoprice,andhavehighlevelofintegration,smallsize,highreliabilityandcontrolfunctionisstrong,lowvoltage,lowpowerconsumption,etc.Sowiththedevelopmentofthesinglechipmicrocomputer,microcontrollerisgraduallyappliedtopeoplelivinginallaspects:
1,intelligentinstrumentsintheapplicationofallkindsofinstrumentsinintroducingasingle-chipmicrocomputer,makeinstrumentsintelligent,improvetestautomationdegreeandprecision,simplifytheinstrumentsofhardwarestructure,improveitsperformancetoprice.2,inrealtimetheapplicationprocesscontrolwithsingle-chipcomputer:
real-timedataprocessingandcontrol,makethesystemtokeepthebestworkingstate,andimprovethesystemofworkefficiencyandthequalityoftheproducts.Inthisclass,wewillmakefulluseofmyknowledgeanddesignofthesinglechipmicrocomputerdesignamusicplayer,throughtheactuallinedesignandassemblylanguagechipprogramdesignconsolidateknowledge,exercisebeginningability,experienceinassemblerlanguageprogrammingpossibleproblems,andworkhardtosolve.
Keywords:
SCM;
speakernotes;
music;
I/Ointerface
1概述
单片机概述
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲,一块芯片就成了一台计算机。
MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。
MCS-51系列单片机主要包括8031、8051和8751等通用产品。
DP-51S单片机仿真实验仪是由广州致远电子有限公司设计的DP系列单片机仿真实验仪之一,是一种功能强大的单片机应用技术学习、调试。
单片机的应用领域
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴:
一、在智能仪器仪表的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
二、在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
三、在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
四、在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
五、单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
此外,单片机在工商、金融、科研、教育、国防航空等领域都有着十分广泛的用途。
1.2课题目的
基于单片机的音乐播放器可应用于mp3,MP4,扩音器等很多方面,并可作为很多系统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括"
Do"
、"
Re"
Me"
--等音阶在内的各种频率声音。
将各个音阶连接在一起,便可组成一支曲子或是演奏一段旋律。
基于这个思想,我设计了一款特殊的"
音乐播放器"
,本播放器可实现播放、暂停、复位等功能。
为了体现乐曲播放过程中的动态效果,增加了1只LED,作随机闪烁以指示旋律的节奏。
由于时间及条件限制,本设计实现了一种简单的音乐播放器,其核心器件采用AT89C51单片机,本播放器具有电路简单,功能强大,易于拓展等特点。
2设计方案简述
2.1总体流程图
主程序实现对单片机进行初始化后,进入曲目识别子程序,进行歌曲曲目判断。
确定歌曲曲目后,数码管再进行显示。
然后,子程序对是否播放进行循环判断,得到播放中断的指令后再进行播放。
执行播放后,关闭数码管显示并调用查表子程序进行播放音乐。
在播放音乐的过程中,查表子程序循环判断音乐是否结束。
当音乐结束时,程序跳转回曲目识别子程序。
图2-1总体流程图
图2-2电路设计原理图
设计一个音乐播放器,将要播放的音乐编写成程序,并通过放大电路和喇叭输出声音。
电路主要由AT89C51芯片,LED发光二极管,喇叭,晶振电路组成,由引脚输出定时器产生的各种固定频率的方波信号,然后由喇叭产生各种频率的声音。
由于该方案中使用内部振荡电路,XTAL1、XTAL2引脚外界石英晶体和微调电容构成的晶振电路。
总体原理:
乐曲中不同的音符,实质就是不同频率的声音。
通过单片机产生不同的频率的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。
图2-3总电路图
89C51介绍
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示
图2-3AT89C51外形图及引脚序列
主要特性:
·
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24MHz
三级程序存储器锁定
128×
8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示
表2.1P3口被选功能管脚备选功能
P3.0RXD(串行输入口)
TXD(串行输出口)
/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
3详细设计
3.1AT89S52引脚图
89C52单片机拥有4KB的片内ROM和128B的片内RAM。
ROM和RAM的片外寻址范围都为64KB。
单片机拥有32个并行口和1个串行口。
在89C51单片机中存在5个中断源,其中有两个外部中断源、两个内部中断源和一个串行中断源。
图3-189C51单片机
单片机最小系统
单片机要想正常工作,必须给出晶振电路,以提供时钟信号;
还要有复位电路,因为单片机必须有可靠的复位后才能运行程序;
必须有电源供应,以提供电能;
要想使用内部程序存储器,还必须有把EA引脚接高电平。
图中,c2,c3为30pf电容,C1为10UF电容;
电阻R1为10Ω,R2为10KΩ;
X1为11.0592MHZ的晶振。
电源电压为正5伏。
图3-2单片机最小系统
3.3晶振时间电路设计
晶振电路由两个22pF的电容和一个6Mhz的晶体振荡器组成。
节点1与单片机的XTAL2相连接,节点2与单片机的XTAL1相连接,从而为单片机提供时间信号,为音乐的播放节拍控制提供基本时间单位:
当晶体振荡频率为6.MHz,定时器工作在方式1下时,若各音阶相对应的定时器计数初值为X,则可根据下式计算X:
图3-3晶振电路
控制电路设计
控制电路,键一与p3.2相连、键二与p3.3相连、键3与p3.5相连。
当电键按下时接口接低电平,从而实现对音乐播放器的控制。
键一联通实现上一曲更换,键二联通实现下一曲更换,键三联通实现开始暂停操作。
键控子程序主要由播放/暂停子程序、上一曲子程序、下一曲子程序组成,分别由一个计数器中断和两个外部中断实现。
播放/暂停子程序
播放/暂停在程序利用内部中断T0口。
将T0口设为计数中断并工作在方式2下。
标识符初值赋值为R1=00H,计数初值设为TH0=0FFH,TL0=0FFH。
当按键第一次产生中断信号时,播放/暂停子程序改变标志符R1,将其赋值为01H。
此时播放器由暂停状态进入播放状态。
当按键第二次产生中断信号时,播放/暂停子程序判断R1是否为02H后,将R1再次赋值为00H。
此时,播放器由播放状态进入暂停状态。
曲目选择子程序
曲目选择子程序分为上一曲子程序和下一曲子程序。
上一曲和下一曲功能实现方式类似,分别由外部中断
和外部中断
。
下面以实现上一曲功能为例:
首先设置标识符R7初始值为00H。
当按键产生中断信号,上一曲中断子程序改变标识符R7的值为01H并改变曲目R0的值。
播放子程序判断出标识符R7改变后,先将R7赋值为00H,然后跳转到曲目识别子程序。
图3-4复位电路
显示电路是一个8位共阴极LED数码管。
单片机的P1.0-P1.7分别与数码管的A、B、C、D、E、F、G、DP相连接。
图3-58位共阴极LED灯
输出电路设计
发声电路由数字扬声器连接p2.0接口实现音乐的输出,由控制电路发出操作指令后,单片机调用相应程序,并将音乐信号由p2.0口输出,通过驱动扬声器发出美妙的音乐。
图3-6输出电路
单片机产生不同频率脉冲信号的原理
(1)要产生音频脉冲,只要算出某一音频的脉冲1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。
(2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法如下:
例如,频率为523Hz,其周期天/523S=1912uS,因此只要令计数器计时
956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。
计数脉冲值与频率的关系公式如下:
N=Fi/2/Fr
(N:
计数值,Fi:
内部计时一次为1uS,故其频率为1MHz,Fr:
要产生的频率)
(3)其计数值的求法如下:
T=65536-N=65536-Fi/2/Fr
计算举例:
设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的T=65536-500000/1047=65059
(4)C调个音符频率与计数值T的对照表如下表所示:
表3-7-1C调各音符频率与计数值T的对照表
音符
频率(Hz)
简谱码(T值)
低1DO
262
63628
#4FA#
740
64860
#1DO#
277
63731
中5SO
784
64898
低2RE
294
63835
#5SO#
831
64923
#2RE#
311
63928
中6LA
880
64968
低3M
330
64103
#6
932
64994
低4FA
349
64204
中7SI
988
65030
370
64260
高1DO
1046
65058
低5SO
392
64261
1109
65085
415
64400
高2RE
1175
65110
低6LA
440
64443
1245
6