永发信息网

如何将51单片机的音乐程序与其他程序融合,同时运行?初学者求助~希望可以回答详细~谢谢~

答案:4  悬赏:0  手机版
解决时间 2021-04-06 20:27
如何将51单片机的音乐程序与其他程序融合,同时运行?初学者求助~希望可以回答详细~谢谢~
最佳答案
音乐程序一般要用到定时器,所以要融合其他程序,需要是具体情况而定,这里凭空而谈是说不清楚的。
全部回答
多线程?用定时计数器试试,两个函数 隔一个时间短运行一个快速切换。先声明我没有试过啊,不知道能不能成功啊
有几句话想对初学者说,51都是从main函数开始逐条语句执行指令的,永远没有两条指令同时执行的情况(这里指的是程序语句,那种给了定时器初值让定时器定时的如TL0++的不算),就算是中断被触发后,也是先停止正在做的事情去相应中断服务函数。
所以你要好好地想一下你的程序流程,最好能画个程序流程图出来让有经验的人帮你看一下是否合理。你说的音乐程序指的是哪种的?蜂鸣器奏乐?语音芯片播放?还是解码芯片对存储卡解码的哪种?每一种都有自己的机制,程序跑法也不一样。
你的其他程序指的又是什么?它们之间在时间上有没有什么冲突?这都是你要考虑的。初学者,还是从简单的程序开始学吧,打好基础才是最重要的。追问我了解了,我的音乐程序是蜂鸣器奏乐,单独运行可以播放音乐,另外的一个程序是一个游戏代码,想在打游戏的时候同时播放音乐,不过音乐程序中已经运用了定时器中断,所以想用软件中断实现背景音乐~具体怎么融合这两个程序,使它们在一个单片机上运行呢?追答是蜂鸣器的话,就是输出各种频率的方波来实现发声咯,所以要保证 (1/定时器的最小定时时间 )小于你要是输出的方波的频率,否则有些声调就没法输出了。除此之外,每个调与调之间还有时间间隔的,这个时间也要大于定时器的最小定时时间。既然你已经有了现成的程序,那这两个问题都解决了,我估计它是用两个定时器来实现的。
接下来看看你的游戏程序需不需要用到同一个定时器,如果需要就改一下,注意中断的优先级追问恩,单独的音乐程序已经用了两个定时器实现了,单独的游戏程序也已经写好了,没有用到定时器,现在想把这个音乐作为背景音乐加入游戏中,用一个单片机实现这两个程序的融合,应该只能用软件实现中断了,该怎么写程序呢?
在一个函数delay的时候切换就好了,单片机一般的处理量都不大。
时间大部分都用在delay上了。利用好delay的时间就可以模拟出同时运行的效果。
一般是调用延时的时候保存当前函数的执行地址,切换到另外一个函数执行。这样循环就可以模拟出同时运行的效果。追问知道你的大概意思了,但是用delay处理的话,处理量应该很大吧~追答担心处理量大的话还可以用中断切换处理。
这就模仿OS了。
OS就是利用好delay的时间还有定时切换。追问恩,你说的是软件中断吧?把音乐程序与游戏程序定时切换,造成类似于视觉暂留的效果吧?关键是定时切换,这个怎么编程呢?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么知道胃很小
别克凯越11款火花塞用什么型号的
皎皎白月是不是成语
央视诗词大会主持人男,央视春晚贺电台词
联想笔记本710s电池是什么型号
怎样写好记叙文,怎样才能写好一篇记叙文?(
夏至未至立夏和小司的吻戏在第几集?
I don't doubt he will pass the tomorrow’
vegas渲染后的AVI格式的视频非常大,好几个G
雅芳专卖研美店在哪里啊,我有事要去这个地方
徐佳莹和林俊杰在我是歌手第四季歌王之战唱的
求教辣椒榕捆绑定植问题
带舟和山的诗句,描写山水的诗句,最后好山和
如图,BD⊥AC于D,GF⊥AC于F,∠1=∠2,那么E
开垦出来的荒滩地所有权利是私人的还是国家的
推荐资讯
什么牌子大米最好吃?
段婉曦名字有什么特殊含义么?起名字的寓意是
狗狗的蹄蹄上踩了一脚的油漆,油漆已经硬了,
读初二的学生被劝退了怎么办
杨桃隔夜怎么保存
研究性学习课题高铁的物理原理
let,is,go,and,have,a,|ook.(把建议改为询问)
国家电网漯河湘江路供电营业厅我想知道这个在
心尖的近义词是什么
岳塘区湘潭天之道(吉安路店)这个地址怎么能查
关于我国少数民族分布的叙述正确的是A.我国的
以我真想坚强勇敢起来为题目写一篇作文六百字
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?