完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
在做一个电子万年历,想播放一段音乐当做闹铃铃声,但播放音乐的时候,lcd显示屏上的时间(秒钟)就不动了(但实际上时间是在走动的),音乐停后才能正常显示走动。例如我设置闹钟为9:30,设置为响1分钟。但在9 : 29:59的时候闹钟响了,秒钟一直定住不动定格在9 : 29:59 ,这时闹钟音乐是播放着的,闹铃响完后(大约8秒)停顿一下,lcd的时间就会显示9:30:07,然后音乐重播,完了就显示9 : 30:15然后是9 : 30:23。。。。
这样一直每8秒才显示一次。这样子应该怎么解决? 下面是我用的音乐子函数: void PlayMusic(void) { uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159, 212,212,106,126,159,169,190,119,119,126,159,142,159,0}; uchar code SONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24, 9,3,12,12,12,12,12,9,3,12,12,12,24,0}; uint i=0, j=0, k=0; while(SONG_LONG[i]!=0||SONG_TONE[i]!=0) { for(j=0;j beep=~beep; for(k=0;k DelayM(10); i++; } beep=1; } |
|
相关推荐
4个回答
|
|
|
外面挂个flash,整首音乐你都可以下载到里面去
|
|
|
|
|
|
【电子产品研发交流】(323764552) 欢迎来群里共同探讨!
|
|
|
|
|
|
音乐播放和LCD数据更新部分的代码是用中断触发的,还是放在某个循环中的?
|
|
|
|
|
|
你在发声的时候是通过延时控制发声时间的,这段时间cpu在执行延时操作。因此不会对lcd进行更新操作,要等到音乐播放完才进行下一步操作。因此,发声时间最好就是通过定时器中断控制。这样cpu才能空出来执行其他操作。
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
265 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
789 浏览 0 评论
1306 浏览 2 评论
787 浏览 0 评论
【RA4M2-SENSOR开发板评测】Analogue+Timers综合测试
1587 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16902 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 10:27 , Processed in 0.703089 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
8106