main()
{
while(1){
P1 = 254; delay();
P1 = 253; delay();
P1 = 251; delay();
}
}
轮流的时间间隔??
假如1S一次:
先设置中断2ms,
#include ******;包含头文件
设置全局变量 :
int ref_1s;
char index_id;
bit timer_1s_f;
中断程序:
ref_1s++;
if(ref_1s==500)
{
ref_1s=0;
timer_1s_f=1;
}
主程序:
void main()
{
IO口初始化;
清RAM空间;
定时器初始化();//设置2ms中断
while(1) //死循环
{
if(timer_1s_f) //查询1S时间标志
{
timer_1s_f=0;//清除标志
switch(index_id)
{
case 0:
_pa0=1;
_pa2=0;
_pa5=0;
break;
case 1:
_pa0=0;
_pa2=1;
_pa5=0;
break;
case 2:
_pa0=0;
_pa2=0;
_pa5=1;
break;
}
index_id = index_id==2? 0:++index_id;
}
}
}