渴望看懂这个复杂程序!

2019-07-16 01:17发布

//定时器0中断函数void T0_INT() interrupt 1{       TL0=LO_LIST[Song[Song_Index][Tone_Index]];       TH0=HI_LIST[Song[Song_Index][Tone_Index]];       SPK=~SPK;}
   其中LO_LIST[Song[Song_Index][Tone_Index]]怎么理解?一般都是TL0=0x**;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
starsnow
2019-07-16 09:28
闲中偷忙 发表于 2013-4-19 16:35
LO_LIST[Song[Song_Index][Tone_Index]];
HI_LIST[Song[Song_Index][Tone_Index]];
这两个是什么呢? ...

要说这个语句写的还是很好的嘛,从变量就能看出意思来。
Song 是一个二维数组,第一维保存了几首歌,第一维的每个数组是歌中的每一个音(相应的高低计数值对应的下标,即LO_LIST 和 HI_LIST)。然后用下标 Song_Index 和 Tong_Index 来获得相应歌曲的相应音符计数值下标,再去两个 LIST 中获取计数值,赋值给计时器,从而达到简化程序的目的。
我觉得这个设计很高级。学习学习。

一周热门 更多>