void serial(void) interrupt 4 using 1
{
unsigned char kk;
if(RI)
{
if(T0_FLAG==1)
{
STACK[i_STACK++]=SBUF;
if(i_STACK> 60)
{
i_STACK=0;
}
}
else
{
if(T0_FLAG==0)
{
T0_FLAG=1;
DT=0;
STACK[0]=SBUF;
i_STACK=1;
}
}
RI = 0;
}
}
1:局部变量定义了没用;
2:一行最好一条语句;
3:FLAG用法最好用法:if(TO_FLAG);
4:.......
其实两个中断的作用太简单,你分析一下就知道了.
第一个中断也就是为了定时用,
第二个中断为了串口发送和接收数据.