1、河南城建学院单片机音乐播放器课程设计单片机课程设计 题 目: 音乐播放器专 业: 自动化姓 名: 王波涛学 号: 092411135指导教师:董燕飞 葛广军 陈国振 任琦梅 电气与信息工程学院 2013年12月30日 成绩评定指导教师评语:成绩等级: 指导教师签字: 年 月 日 目录 一、设计目的1二、设计要求1 三、AT89S51简介1 AT89S51单片机的内部结构1 AT89S51芯片的引脚及特点2四、音乐产生原理4五、硬件电路6 复位电路设计6 显示电路设计6 振荡电路设计7控制电路设计7总体电路设计86、设计体会8 7、参考文献8 附录1 源代码9 一、设计目的 本课题希望通过对常见
2、电子产品的设计与制作来培养学生综合运用所学知识分析和解决实际问题的能力,掌握相关绘图制作软件,会运用电子仪器进行电路检测和调试,强化电子技术实际应用技能训练,为今后开展产品技术开发、设计和制作打下初步的基础。二、设计要求 设计一个音乐播放器,有四个按键:播放、暂停、下一曲、上一曲;1位LED灯显示器,用来显示所选曲目。三、AT89S51简介 AT89S51单片机的内部结构 单片机的内部结构图1可知,AT89S51单片机主要由以下几部分组成:中央处理器(CPU)、振荡电路、内部总线、程序存储器和数据存储器、定时器/计数器、I/O口、串行口、中断系统。 图1 单片机内部结构AT89S51芯片的引脚
3、及特点:1. 40个引脚2. 4KB Flash片内程序存储器 3. 128 B随机存取数据4. 32个外部双向输入/输出(I/O口5. 5个中断源 6. 2个16位可编程定时/计数器 7. 2个全双工串行通信口看门狗(WDT)电路 9. 片内振荡电路 管脚说明 1. VCC:供电电压。2. GND:接地 3.P0口:P0口为一个8位漏级开路 双向I/O口,也即地址/数据总线复用口。 作为输出口用时,能驱动8个TTL逻辑门电路。对端口写“1”时,被定义为高阻输入,在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。4. P1口:P1口是
4、一个带内部上拉电阻的8位双向I/O口,P1口的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I)。5. P2口:P2口是一个带有内部上拉电阻的8位双向I/O口, P2口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I)。6. P3口: P3口是一个带有内部上拉电阻的双向8位I/O口, P3口的输出缓冲级
5、可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写“1”时,它们被内部的上拉电阻拉高并可作为输入端口。作输入口使用时,被外部信号拉低的P3口将用上拉电阻输出电流(I)。7. RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上的高电平时间将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。 DISRTO位缺省为RESET输出高电平打开状态。 8. ALE/:当访问外部存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部寄存器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲
6、信号,因此它可对外输出时钟或用于定时目的。值得注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。9.:程序存储允许()输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器时,没有两次有效的信号。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。如EA端保持高电平(接VCC端),CPU则执行内部程序存储器中的指令。10. XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入端。11. XTAL2:反向振荡放大器器的输出端。四
7、、音乐产生原理: 若要产生音频脉冲,只要算出某一音频的周期,再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。 利用单片机的内部定时器使其工作计数器模式(MODEL1)下,改变其计数值TH0及TL0以产生不同频率的方法产生不同音阶。例如,频率为523HZ,其周期T=1/523=1912us,因此只要令计时器计时956 us/1 us=956,每计数956次时将I/O反相,就可得到中音DO(523HZ)。计数脉冲值与频率的关系式是:N = F1/2/F2 ,N是计数值;F1是机器频率(晶体振荡器
8、为12MHZ时,其频率为1MHZ);F2为想要产生的声音频率。其计数初值T的求法如下:T = 65536 N = 65536 - F1/2/F2 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,例出高中低音符与单片机计数T0相关的计数值如下表1所示:表1高中低音符与单片机计数T0相关的计数值音符频率(HZ)简谱码(T值)音符频率(HZ)
9、简谱码(T值)低1DO26263628# 4 FA#74064860#1DO#27763731中 5 SO78464898低2RE29463835# 5 SO#83164934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高
10、 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI196765283如表2所示:音乐的音拍,一个节拍为单位(C调)表2音乐的音拍曲调值DELAY曲调值DELAY调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4
11、250ms调2/4125ms流程图如下图2: 图2 流程图五、硬件电路 单片机的复位电路设计单片机AT89S51作为主控芯片,控制整个电路的运行。单片机外围需要一个复位电路,复位电路的功能是:系统上电时提供复位信号,直至系统电源稳定后,撤消复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。该设计采用含有二极管的复位电路,复位电路可以有效的解决电源毛刺和电源缓慢下降(电池电压不足)等引起的问题,在电源电压瞬间下降时可以使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。复位电路的设计图如图3示: 图3 单片机复位电路图 显示
12、电路设计7段LED数码管,是在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的相应电极,点亮相应的点划来显示出0-9的数字。 图 4 LED显示器 图4是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。 单片机的振荡电路设计 单片机必须在时钟的驱动下才能进行工作2。单片机内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输
13、入端为XTAL1,输出端为XTAL2,分别是单片机的18脚和19脚。在XTAL1和XTAL2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器,见图7电容C1和C2通常取30pF左右,对振荡频率有微调作用。振荡频率范围是1.2MHz12MHz。 图 5 振荡电路 控制电路设计 图 6 设置电路图设置电路有4个按键组成如图8所示,单片机可以直接与按键进行连接,这样一来我们可以充分的应用单片机的软件资源,在编写程序的时候,利用一些特殊的命令实现单片机与按键的接口,这样就可以通过按键来满足用户所要实现的数据设置。总体电路图六、设计体会 通过对基于单片机音乐演奏控制设计的研究和设计,分析了设计的实现
14、的意义和可行性。单片机AT889S51是一种非常小巧但功能非常多,应用非常广的一种芯片,功率也非常的小,采用AT89S51作为系统核心制作音乐演奏控制设计电路简单了很多,由于可以反复烧写,为学习降低成本。本设计外部采用单片机的复位电路设计、单片机的震荡电路设计、LED数码管显示正在播放的音乐序号,四个按键控制等。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。七、参考文献:1.阎石. 数字电子技术基础, 北京:高等教育出版社,1998 2.张毅刚.单片机原理及应用
15、,高等教育出版社,20033.谭浩强.C程序设计(第二版),清华大学出版社,19994.张坤毅.单片微型计算机原理及应用, 西安电子科技大学出版社 ,1997年5.胡汉才.单片机原理及接口技术, 清华大学出版社,2007附录1 源代码#include #include #define FREQ 12000000sbit P1_1=P11;/停止工作sbit P1_0=P10;/开始工作sbit P1_2=P12;/上一曲sbit P1_3=P13;/下一曲unsigned char w,i;/ 音乐_编码2 - 存储器定义 /unsigned char code music_tab1= /音符
16、码格式:| D7 |D6 D5 D4| D3 |D2 D1 D0| /梁祝 |变调| 节拍|升降| 音符 | 0xcb, /示例:0xcb=11001011B,即升调,4/16拍,3Mi低音 0x35,0x16,0xb9,0x12,0x96,0x99,0xa5, 0xbd,0x99,0x96,0x15,0x13,0x15,0x62, 0x32,0x13,0xa7,0x26,0x25,0x16,0xa9,0x22, 0xa3,0xa9,0x96,0x15,0x16,0x99,0xe5, 0xbb,0x15,0xa7,0xaa,0x96,0x99,0xd5, 0x13,0x15,0x23,0x15
17、,0x16,0x17,0x9a,0xd6,0x15,0x16, 0xb9,0x12,0x25,0x23,0x23,0x22,0x13,0x12,0x21,0x96,0x15, 0x43,0xc9,0x96,0x99,0x96,0x15,0x13,0x15,0x16,0x99, 0xd5, /功能码格式:| D7 D6 D5 D4 | D3 D2 D1 D0| / |高4位=0时是功能码|根据低4位散转 | 0x00, /最后字节为功能码必须=0x00退出;unsigned char code music_tab2= /康定情歌 0x23,0x25,0x26,0x16,0x15, 0x36,0x
18、13,0x42, 0x23,0x25,0x26,0x16,0x15, 0x26,0x53, 0x23,0x25,0x26,0x16,0x15, 0x26,0x23,0x42, 0x25,0x23,0x12,0x13,0x12,0x11, 0x22,0xd6, 0x26,0xda, 0x25,0x53, 0x12,0x11,0xd6, 0xad,0x23,0x12,0x13,0x12,0x11, 0x22,0xd6, 0x00,;unsigned char code music_tab3= /美酒加咖啡 0x55,0x23,0x25,0x26,0xa9,0x22, 0x73, 0x45,0x25
19、,0x26,0x23,0x22,0x21,0x23, 0x72, 0x52,0x23,0x45,0x43, 0x22,0x21,0xa6,0x25,0x66, 0xc9,0xa6,0x25,0x23,0x25,0x26,0xa9, 0xf5, 0x45,0x23,0x25,0x46,0xc9, 0x22,0x13,0x12,0x21,0x22,0x63, 0x22,0x23,0x25,0x26,0x25,0x23,0x22,0x21, 0x72, 0x52,0x23,0x45,0x43, 0x22,0x21,0xa6,0x25,0x66, 0xb9,0x12,0x23,0x25,0x22,0x
20、a5,0xab,0x22, 0x71, 0x00,;unsigned char code music_tab4= /北国之春 0x15,0x16,0x75, 0x15,0x16,0x55,0x13,0x15,0x16,0x15,0x16,0x99,0x12,0x13, 0x65,0x45,0x13,0x12,0x11,0x12, 0x73, 0x62,0x42,0x12,0x11,0x96,0x15, 0x76, 0x55,0x23,0x45,0xa9,0x22, 0x53,0x12,0x13,0x65, 0x52,0x22,0x42,0x21,0xa6, 0xe9,0x91,0x12,0x1
21、3,0x12,0x13,0x15,0x99,0x12, /以上为过门 0x20,0x23,0x23,0x23,0x63, 0x22,0x23,0x23,0x22,0x41,0xa6,0x25, 0x53,0x22,0x21,0xa9,0x21,0xa6, 0x75, 0x26,0xa9,0x21,0xa6,0xc9,0x12,0x11,0x96,0x15, 0x23,0x25,0x25,0x26,0x45,0x21,0x22, 0x13,0x35,0x25,0xa9,0xa6,0x25,0x23,0x22, 0x71, 0x52,0x25,0x45,0x13,0x15,0x13,0x12, 0
22、x21,0x41,0x22,0x43,0x45, 0x23,0x25,0x26,0xa9,0x42,0x12,0x33, 0x72, 0x51,0x22,0x43,0x22,0x21, 0xc6,0xc9,0x29,0xc6,0x45,0x23,0x23, 0x53,0x25,0x26,0x25,0x13,0x12,0x21, 0x62,0x42,0x23,0x25, 0x55,0x26,0x25,0x23,0x45, 0x26,0xa9,0x21,0x22,0x63, 0x52,0x22,0x22,0x13,0x12,0x21,0xa6,0xf9, 0x00,;unsigned char c
23、ode music_l_tab8=0,1,2,3,4,6,8,16;/节拍延时单位unsigned char code music_freq_tab64= /音符定时器值表 0xff,0xea, /0 休止符 255-FREQ/24/131/256, /256-FREQ/24/x/256 /1 do 高字节 256-FREQ/24/131%256, /256-FREQ/24/x%256 /1 do 低字节 255-FREQ/24/147/256,256-FREQ/24/147%256, /2 re 255-FREQ/24/165/256,256-FREQ/24/165%256, /3 mi 2
24、55-FREQ/24/175/256,256-FREQ/24/175%256, /4 fa 255-FREQ/24/196/256,256-FREQ/24/196%256, /5 suo 255-FREQ/24/221/256,256-FREQ/24/221%256, /6 la 255-FREQ/24/248/256,256-FREQ/24/248%256, /7 xi 0xff,0xea, /0 休止符 255-FREQ/24/262/256,256-FREQ/24/262%256, /1 do 255-FREQ/24/294/256,256-FREQ/24/294%256, /2 re
25、255-FREQ/24/330/256,256-FREQ/24/330%256, /3 mi 255-FREQ/24/350/256,256-FREQ/24/350%256, /4 fa 255-FREQ/24/393/256,256-FREQ/24/393%256, /5 suo 255-FREQ/24/441/256,256-FREQ/24/441%256, /6 la 255-FREQ/24/495/256,256-FREQ/24/495%256, /7 xi 0xff,0xea, /0 休止符 255-FREQ/24/525/256,256-FREQ/24/525%256, /1 do
26、 255-FREQ/24/589/256,256-FREQ/24/589%256, /2 re 255-FREQ/24/661/256,256-FREQ/24/661%256, /3 mi 255-FREQ/24/700/256,256-FREQ/24/700%256, /4 fa 255-FREQ/24/786/256,256-FREQ/24/786%256, /5 suo 255-FREQ/24/882/256,256-FREQ/24/882%256, /6 la 255-FREQ/24/990/256,256-FREQ/24/990%256, /7 xi 0xff,0xea, /0 休止
27、符 255-FREQ/24/1049/256,256-FREQ/24/1049%256, /1 do 255-FREQ/24/1178/256,256-FREQ/24/1178%256, /2 re 255-FREQ/24/1322/256,256-FREQ/24/1322%256, /3 mi 255-FREQ/24/1400/256,256-FREQ/24/1400%256, /4 fa 255-FREQ/24/1572/256,256-FREQ/24/1572%256, /5 suo 255-FREQ/24/1665/256,256-FREQ/24/1665%256, /6 la 255
28、-FREQ/24/1869/256,256-FREQ/24/1869%256, /7 xi;unsigned char code music_frequp_tab64= /升半音 0xff,0xea, /0 休止符 255-FREQ/24/139/256, /1 do 高字节 /255-FREQ/24/x/256 256-FREQ/24/139%256, /1 do 低字节 /256-FREQ/24/x%256 255-FREQ/24/156/256,256-FREQ/24/156%256, /2 re 255-FREQ/24/175/256,256-FREQ/24/175%256, /3 mi 255-FREQ/24/185/256,256-FREQ/24/185%256, /4 fa 255-FREQ/24/208/256,256-FREQ/24/208%256, /5 suo 255-FREQ/24/234/256,256-FREQ/24/234%256, /6 la 255-FREQ/24/262/256,256-FREQ/24/262%256, /7 xi 0xff,0xea, /0 休止符 255-FREQ/24/278/256,256-FREQ/24/278%256, /1 do 255-FREQ/24/3
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1