引用 轻音与二次元:
因为单纯用for循环的话感觉不方便精确定时,而用定时计数器的话很方便,只要把定时数值填填上去就好了
不是……我说的是
while(mum==1) //每一次定时计数器溢出后进入中断程序,都可根据进入次数即mum的值来选择执行那一部分程序
{
TH0=(65536-1)/256; //这里的1还是填填上去的。。。。具体要看模拟器出来的数值
TL0=(65536-1)%256;
C1=0;
eec++;
}
while(mum==2)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C1=1;
eec++;
}
while(mum==3)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C2=0;
eec++;
}
while(mum==4)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C2=1;
eec++;
}
while(mum==5)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C3=0;
eec++;
}
while(mum==6)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C3=1;
eec++;
}
while(mum==7)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C4=0;
eec++;
}
while(mum==8)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C4=1;
eec++;
}
while(mum==9)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C5=0;
eec++;
}
while(mum==10)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C5=1;
eec++;
}
while(mum==11)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C6=0;
eec++;
}
while(mum==12)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C6=1;
eec++;
}
while(mum==13)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C7=0;
eec++;
}
while(mum==14)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C7=1;
eec++;
}
while(mum==15)
{
TH0=(65536-1)/256;
TL0=(65536-1)%256;
C8=0;
eec++;
}
while(mum==16)
{
C8=1;//最后一次执行中断程序,不赋定时器初值
eec++;
}
这一段还有上面的完全可以用循环+指针来代替,用不着那么长的