课程设计论文-基于fpga的音乐播放器设计内容摘要:

} 后一首 a=(a+1)%num_music。 前一首 a=(a+num_music1)%num_music。 ( 3) 确认选歌 按下 KEY3 按键,确认当前所选歌曲,开始播放音乐。 if(key3) break。 ( 1) 循环播放模式 else if(swi[0])//连续播放 { a=(a+1)%num_music。 time(0,a+1,num_music)。 } 当开关 swi[0]拨动到‘ 1’位置时,为循环播放模式,播放下一首歌曲。 ( 2) 单曲循环模式 else if(swi[1])//循环播放 { a+=0。 time(0,a+1,num_music)。 //显示时间 } 当开关 swi[1]拨动到‘ 1’位置时,为单曲循环模式,循环播放当前歌曲。 ( 3) 随机播放模式 else if(swi[2])//随机播放 { a=(num_lyrics+Tmp1+Tmp2+music[a].m_name[0])%num_music。 time(0,a+1,num_music)。 //显示时间 } 当开关 swi[2]拨动到‘ 1’位置时,为随机播放模式,随机播放歌曲。 、快退、播放 /暂停功能 ( 1) 快进 if(swi[4])//快进 { b=(b+4)%cluster_num。 8 time(b*clupsec_num,a+1,num_music)。 //显示时间 usleep(20200)。 continue。 } 当开关 swi[4]拨动到‘ 1’位置时, b是第几个簇,执行 b=(b+4)%cluster_num实现快进。 ( 2) 快退 else if(swi[5])//快退 { b=(b+cluster_num4)%cluster_num。 time(b*clupsec_num,a+1,num_music)。 //显示时间 usleep(20200)。 continue。 } 当开关 swi[5]拨动到‘ 1’位置时,执行 b=(b+cluster_num4)%cluster_num实现快退。 ( 3)播放 /暂停功能由开关 swi[6]实现,实现代码: else if(swi[6])//暂停 { b=(b+cluster_num1)%cluster_num。 usleep(20200)。 continue。 } 当开关 swi[6]拨动到‘ 1’位置时,执行 b=(b+cluster_num1)%cluster_num,实现暂停。 ( 1)显示歌名 选歌定播放歌曲后,歌曲名会显示在 LCD上,调用函数: void show_name(char *name) { UINT16 i,j,length_temp,length_n。 //歌名显示的页面数 LCD_Init()。 length_temp=strlen(name)。 if(length_temp=32) { length_n=1。 9 } else length_n=(length_temp32)/16+1。 for(i=0。 ilength_n。 i++)//歌名显示的页面数,歌名滚动显示 { lcd_write_cmd(LCD_16207_0_BASE,0x80)。 //写第一行 usleep(100)。 for(j=0。 j16。 j++) { lcd_write_data(LCD_16207_0_BASE,name[j+i*16])。 usleep(100)。 } lcd_write_cmd(LCD_16207_0_BASE,0xC0)。 //写第 二行 usleep(100)。 for(j=0。 j16。 j++) { lcd_write_data(LCD_16207_0_BASE,name[j+i*16+16])。 usleep(100)。 } if(length_n1) usleep(1000000)。 else usleep(300000)。 } } ( 2)显示歌词 歌曲播放时 LCD则会显示歌曲的歌词,先读取歌词后显。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。