標題:
把軟件延時改成定時中斷延時的問題
[打印本頁]
作者:
heicad
時間:
2016-3-11 23:17
標題:
把軟件延時改成定時中斷延時的問題
想把以下的程序改成用定時器方法延時可是6一直不可以求大神解答
原程序
不知那里出問題了,燈和數(shù)碼管一直亮第一個
void led1()
{
unsigned int i;
led=0xfe;
P0=table[i];
Delay10ms(50);
while(1)
{
for(i=0;i<7;i++)
{
led=_crol_(led,1);
P0=table[i+1];
Delay10ms(50);
}
for(i=7;i>0;i--)
{
led=_cror_(led,1);
P0=table[i-1];
Delay10ms(50);
}
}
}
改成了
void led1()
{
unsigned int i;
EA=1;
TMOD=0x01;
ET0=1;
TR0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
led=0xfe;
P0=table[i];
while(1);
}
void timer0() interrupt 1
{ int i;
TR0=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
if(tt==10)
for(i=0;i<7;i++)
{
led=_crol_(led,1);
P0=table[i+1];
}
if(tt==20)
for(i=7;i>0;i--)
{ tt=0;
led=_cror_(led,1);
P0=table[i-1];
}
}
復制代碼
作者:
heicad
時間:
2016-3-11 23:17
換的程序大概知道為什么錯了,還是不理解定時延時的寫法,程序的注意目的是完成八個0.5秒的流水燈的左右位移再加上數(shù)碼管對應數(shù)字切換,求大神幫忙寫個!
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1