请教一个关于51单片机检测多路跳变电平的问题

2025-05-22 01:44:29
推荐回答(1个)
回答1:

以51单片机为例,以下提及的P1,P2为单片机8位双向IO口,而并非问题中的P1~P4
P1口低四位分别作为四个输入口
P2口低四位分别作为四个输出口

old_flag=0;
new_flag=0;
while(1)
{
new_flag=P1;
if((new_flag==1)||(new_flag==2)||(new_flag==4)||(new_flag==8))

{
if((old_flag<<1)==new_flag)
{
old_flag=new_flag ;
P2=new_flag;

}
if((old_flag==1)&&(new_flag==8))

{
P2=0;

old_flag=0;
}
}
}

未进行实际测试,上面只是提出的一种大体思路。海涵。
祝你好运
电子单片机团====步行者