毕业设计基于STC89C52单片机音乐盒设计.doc

上传人:laozhun 文档编号:3975278 上传时间:2023-03-30 格式:DOC 页数:24 大小:639.50KB
返回 下载 相关 举报
毕业设计基于STC89C52单片机音乐盒设计.doc_第1页
第1页 / 共24页
毕业设计基于STC89C52单片机音乐盒设计.doc_第2页
第2页 / 共24页
毕业设计基于STC89C52单片机音乐盒设计.doc_第3页
第3页 / 共24页
毕业设计基于STC89C52单片机音乐盒设计.doc_第4页
第4页 / 共24页
毕业设计基于STC89C52单片机音乐盒设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《毕业设计基于STC89C52单片机音乐盒设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于STC89C52单片机音乐盒设计.doc(24页珍藏版)》请在三一办公上搜索。

1、 单片机课程设计基于STC89C52单片机音乐盒设计2012年5月 目 录1设计任务-12基本原理及总体方案框图- -1 2.1 硬件组成部分-12.2总体设计方案-1 3单元电路的设计和元件的选择-23.1 STC89C52单片机芯片-23.2晶振电路模块-43.3复位按键模块-63.4放大模块-83.5发声模块-94 总体原理图-106. 总结及心得体会-147 元件清单-148 参考文献-159 附录-基于STC89C52单片机音乐盒设计1设计任务(1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲。(2)可通过功能键选择乐曲,暂停,播放,上一曲,下一曲。2基本原

2、理及总体方案框图2.1 硬件组成部分单片机音乐播放器系统总体设计由五个部分构成:晶振电路模块、复位电路模块、ST89C52单片机、发声模块以及按键模块。其中五个模块连接在AT89C52单片机上构成一个完整的系统。如图2-1所示。放大模块ST89C52单片机 复位电路模块 发声模块晶振电路模块 按键模块 图2-1单片机音乐播放器系统原理图2.2总体设计方案音乐作为一种物理现象,是由于物体振动而产生的,振动产生的声波作用于人耳,听觉系统将神经冲动传达给大脑,进而产生听觉。人耳能听到的声音频率大约在1120000Hz,而音乐使用的音一般在274100Hz。乐音体系中各音级的名称叫做音名,被广泛采用的

3、是C D E F G A B (do re mi fa so la si则多用于歌唱,称为唱名)。乐音体系中音高关系的最小计量单位叫做半音,两个半音构成一个全音。乐音中有几十个高低不同的音,但是最基本只有这七个音,其他高、低音名都是在这个基础上变化出来的。乐谱表上用来表示正在进行的音的长短的符号,叫做音符。不同的音符代表不同的长度。音符有以下几种:全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分音符。此外,还有附点音符,它就是指带附点的音符,所谓附点就是记在音符右边的小圆点,表示增加前面音符时值的一半。音持续的长短即时值,一般用拍数表示,休止符表示暂停发音。一首音乐就是

4、由许多不同的音符组成的,而每一个音符对应着不同的频率,这样就可以利用不同的频率的组合,加以拍数对应的延时来构成不同的音乐。2.2.1 音频脉冲和音乐节拍的实现(1) 音频脉冲的产生音乐的产生需要不同频率的音频脉冲,对于单片机而言,可以利用它的定时/计数器产生这样的方波频率信号。在本设计中,单片机工作在12MHz时钟频率下,其时钟周期为1us,因此可以利用ST89C52的内部定时/计数器T0,使其工作模式为1,根据对应音符的不同频率求出计数器的初值T(即是TH0和TL0的值),则TH0=T/256,TL0=T%256。C调各音符频率与计数值T的对照如下表2-1所示。表2-1 C调各音符频率与计数

5、值T的对照表音符频率(Hz)简谱码(T)音符频率(Hz)简谱码(T)低1D026263628#4FA#74064860#1D0#27763731中5SO74864898低2RE29463835#5S0#83164934#2RE#31163928中6LA88064968低3M33064021#6LA#93264994低4FA34964103中7S198865030#4FA#37064185高1DO104665058低5SO39264260#DO#110965085#5S0#41564331高2RE117565110低6LA44064400#2RE#124565134#6LA#46664463高3

6、M131865157低7S149464524高4FA139765178中1DO52364580#4FA#148065198#1D0#55464633高5SO156865217中2RE57864684#5SO#166165235#2RE#62264723高6LA176065252中3M65964777#6LA#186565268中4FA69864820高7SI196765283(2) 音乐节拍的产生节拍是指音乐持续的长短,是除音符之外音乐的另一关键组成部分,在单片机系统中可以通过延时来实现。如果1/4拍的延时设为0.2s,则1拍的时间为0.8s,依次类推,可以求出其余节拍的值,节拍的延时时间与音

7、乐的曲调值有相对应的关系,下面为不同曲调下的1/4和1/8节拍的时间设定,如下表2-2所示。表2-2 不同曲调下1/4和1/8节拍的延时表曲调值(1/8节拍)delay(ms)曲调值(1/4节拍)delay(ms)调4/462调4/4125调3/494调3/4187调2/4125调2/4250(1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲(2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变

8、记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。记数脉冲值与频率的关系公式如下:N=Fi/2/Fr N:记数值Fi:内部计时一次为1微秒故其频率为1MHZ Fr;要产生的频率(3):起记数值的求法如下:T65536N65536Fi2Fr例如:设K65536,F1000000Fi1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。T65536N65536Fi2Fr6553610000002Fr65536500000Fr低音D0

9、的T6553650000026263627中音D0的T6553650000052364580低音D0的T655365000001047650593单元电路的设计和元件的选择3.1 STC89C52单片机芯片3.1.1概述STC89C52是一款低功耗、高性能CMOS的8位微控制器,芯片采用Atmel 公司的高密度、非易失性存储器技术制造,兼容标准的MCS-51指令系统及8051引脚结构。STC89C52具有:8kB Flash,256字节RAM,32 位双向I/O 口线,看门狗(WDT)定时器,2个数据指针,2个16位可编程定时器/计数器,1个6向量2级中断结构,全双工串行口,片内时钟振荡器。另

10、外,STC89C52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU暂停工作,允许RAM、定时器/计数器、串口、中断系统继续工作。掉电保护模式下冻结振荡器但保存RAM中的数据,单片机部分停止工作,直到下一个中断或硬件复位为止。STC89C52的工作电压是4.55.5V,时钟频率可以在033MHz范围内选择,采用PDIP、TQFP和PLCC三种封装形式。实习采用较易焊接的PDIP封装形式,封装引脚分布和外形见图(1)。外形的封装尺寸物理参数见表(1)3-1STC89C52的PDIP-40封装表(1) AT89S52 PDIP封装尺寸(mm)符号最小值最大值符号最小值最大

11、值A-4.826B11.0411.651A10.381-L3.0483.556D52.07052.578C0.2030.381E15.24015.875eB15.49417.526E113.46213.970e2.540典型值B0.3560.5593.1.2引脚介绍采用PDIP封装的STC89C52有40个引脚,下面就对各个引脚的功能进行详细介绍。VCC:电源GND:地P0.0P0.7:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚端用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0

12、具有内部上拉电阻。在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1.0P1.7:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚端由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表(3)所示。在Flash编程和校验时,P1口接收低8位地址字节。表(3) P1 口引脚

13、端第二功能引脚端第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2.0P2.7:P2口是一个具有内部上拉电阻的8位双向I/O口,P2 输出缓冲器能驱动4个TTL 逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位

14、地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在Flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3.0P3.7:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为STC89C52特殊功能(第二功能)使用,如表(4)所示。在Flash编程和校验时,P3口也接收一些控制信号。表(4)P3口的第二功能

15、引脚端第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2 (外部中断0)P3.3 (外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器写选通)RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG

16、)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。:外部程序存储器选通信号()是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据存储器时,将不被激活。:访问外部程

17、序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,必须接GND。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.2晶振电路模块晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就

18、会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振的负载电容为15p或12.5p ,如果再考虑元件引脚的等效输入电容,则两个30p的电容构成晶振的振荡电路就是我为这次课设的选择。晶振电路模块电路图如图2-3所示。图3-3 晶振电路模块电路图3.3复位按键模块复位模块主要进行复位操作。复位按键模块电路图如图2-4所示。图3-4复位按键模块电路图3.4放大

19、模块由于p2.0端口流出的电流过小,几乎听不到音乐声,要实现发声功能,只有把p2.0端口流出的电流放大,故加上放大模块,实现了发声功能。放大模块电路图如图2-5所示。LM386的引脚分布图如图2-3所示:图3-4-1 LM386引脚分布图其引脚功能说明如下:GAIN(一脚、8脚):增益控制引脚,如果两脚悬空,则增益为20V;如果两脚之间接一个大的极性电容,则增益可达到200V;如果再和电容串一个电阻;增益可设置为20200V之间。-IN(2脚):负极性输入脚。在单极性输入时,此引脚接地。+IN(3脚):正极性输入脚。在单极性输入时,此引脚接输入信号。GND(4脚):接地端。Vout(5脚):电

20、压输出脚,此引脚为音频功放电路的输出。Vs(6脚):电源脚。供电范围:415V或者518V。BYPASS(7脚):旁路脚,此引脚可悬空或者旁边接一个大电容接地。3-4功放电路图3.5发声模块发声模块的主要部件是蜂鸣器LS1,蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的。蜂鸣器是由p2.0端口控制的。发声模块电路图如图2-5所示。图3-5发声放大模块电路图4总体原理图 4-1总体原理图5软件设计本程序可以实现课程设计的基本要求,并可以通过按键播放歌曲,程序流程图如下:开始初始化设置音节起始位置设置节拍间距读取音阶,音符显示当前播放歌曲序号节拍结束音乐结束结 论通过这次比

21、较完整的单片机音乐发生器的设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,同时也提高我查阅文献资料、设计规范以及电脑画图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,并且意志品质力。这是我们都希望看到的也正是我们进行课程设计的目的所在。在此次设计中我学到了很多东西,包括对单片机的更进一步的认识、一些关于音乐的基础知识的了解、汇编语言的应用的学习等等。首先,在这次课程设计中,通过上网或、图书馆或是上书店翻阅相关的单片机资料,更加清楚地认识了单片机,让在我原来的硬件基础知识的基础上又

22、认识了解几款单片机(ST89C51)及它的原理。其次,就是在此次课程设计中关系到了音乐的一些基础知识,音乐是由不同的音符组成,不同的音符对应着不同的频率产生,产生有规律的频率乐音。了解音乐的产生,音乐体系中中音高关系的最小计量单位及音符的定义,同时也知道了音符又分为了以下几种:全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分符。最后,让我感受最大的是将理论和实践相结合是要解决很多问题经过一定的挫折才能很好的完成任务,因此在其过程中考虑问题时一定要谨慎、全面,出现问题时不应该气馁,要沉着思考或是向同学、老师请求帮忙。只要坚持不懈我们就一定能克服任何困难完成任务。参考文献

23、1 李广弟.单片机基础.北京航空航天大学出版社,1999 附录:PCB布局图音乐播放器程序如下: #include sbit speaker=P20; sbit key_start_stop=P10; sbit key_next=P11; unsigned char timer0h,timer0l,time,led=1,j=0; unsigned char flagd=0;code unsigned char music1= 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3

24、,2,2, 1,2,1,6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1,6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1,2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0 ;code unsigned char music2=5,1,1, 5,1,1, 6,1,2, 5,1,2, 1,2,2, 7,1,4, 5,1,1, 5,1,1, 6,1,2, 5,1,2, 2,2,2, 1,2,4, 5,1,1, 5,1,1, 5,2,2, 3,2,2, 1,2,2, 7,1,2

25、, 6,1,2, 4,2,1, 4,2,1, 3,2,2, 1,2,2, 2,2,2, 1,2,4; / 音阶频率表 高八位code unsigned char FREQH= 0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, 0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, /1,2,3,4,5,6,7,8,i 0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, 0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, ; / 音阶频率表 低八位code unsigned char FREQL= 0x42,0xC1,

26、0x17,0xB6,0xD0,0xD1,0xB6, 0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, /1,2,3,4,5,6,7,8,i 0xEE,0x44, 0x6B,0xB4,0xF4,0x2D, 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16, ; void delay(unsigned char t) unsigned char t1; unsigned long t2; for(t1=0;t1t;t1+) for(t2=0;t20;x-)for(y=110;y0;y-); void t0int() interrupt 1 TR0

27、=0; speaker=!speaker; TH0=timer0h; TL0=timer0l; TR0=1; void song() TH0=timer0h; TL0=timer0l; TR0=1; delay(time); void main(void) unsigned char k,i; TMOD=1; /置CT0定时工作方式1 EA=1;ET0=1;/IE=0x82 /CPU开中断,CT0开中断 P1=0xff; while(1) i=0; while(1) if(key_start_stop=0) delay_key(8);if(key_start_stop=0)j=1; if(ke

28、y_next=0) delay_key(8);if(key_next=0)j=2; if(j=1) k=music1i+7*music1i+1-1; timer0h=FREQHk; timer0l=FREQLk; time=music1i+2; i=i+3; song(); if(j=2) k=music2i+7*music2i+1-1; timer0h=FREQHk; timer0l=FREQLk; time=music2i+2; i=i+3; song(); Employment tribunals sort out disagreements between employers and

29、employees.You may need to make a claim to an employment tribunal if: you dont agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly.For more information about dismissal and unfair dismissal, seeDismissal

30、.You can make a claim to an employment tribunal, even if you haventappealedagainst the disciplinary action your employer has taken against you. However, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal.Remember that in most cases you

31、 must make an application to an employment tribunal within three months of the date when the event you are complaining about happened. If your application is received after this time limit, the tribunal will not usually accept i.If you are worried about how the time limits apply to you, take advice

32、from one of the organisations listed underFurther help.Employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation.Most people find making a claim to an employment tribunal challenging. If you are thinki

33、ng about making a claim to an employment tribunal, you should get help straight away from one of the organisations listed underFurther help.If you are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of your compensation if you win t

34、he case. This is known as adamages-based agreement. In England and Wales, your solicitor cant charge you more than 35% of your compensation if you win the case.If you are thinking about signing up for a damages-based agreement, you should make sure youre clear about the terms of the agreement. It mi

35、ght be best to get advice from an experienced adviser, for example, at a Citizens Advice Bureau. To find your nearest CAB, including those that give advice by e-mail, click onnearest CAB.For more information about making a claim to an employment tribunal, seeEmployment tribunals.The (lack of) air up

36、 there Watch mCayman Islands-based Webb, the head of Fifas anti-racism taskforce, is in London for the Football Associations 150th anniversary celebrations and will attend Citys Premier League match at Chelsea on Sunday.I am going to be at the match tomorrow and I have asked to meet Yaya Toure, he told BBC Sport.For me its about how he felt and I would like

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号