void ZHX1010_int(void)interrupt4
{
uchar key1;
if(RI) //如果为接收中断
{
key1=SBUF;//读接收寄存器数据
RI=0;//清接收标志位
if((KWFLAG==0)&&(key1=KEYWORD[0])) //密码正确时,置标志位key_FLAG为1
{
KWFLAG=1;
}
else if ((KWFLAG ==1)&&(key1!=KEYWORD[1])) //密码正确第二位错误时清标志位
{
KWFLAG=0;
}
else if ((KWFLAG==1)&&(key1==KEYWORD[1])) //密码正确时,置标志位key_FLAG为2
{
KWFLAG=2;
}
}
}
其中
uchar KEYWORD[2]={0xaa,0xbb};
当第一个密码正确时,设置标志位为1,当第一位正确第二位错误时,清标志位,只有当两个密码都正确时才设置标志位为2
这个程序是怎么执行的,能实现要求的条件吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
缺条件,就是让KWFLAG=2后恢复0或者1的功能。
一周热门 更多>