求个单片机程序,我用的是stc的52,要求用c语言来完成,要求有注释哦~

要求:当p0.2输入高电平时,只有p1.2输出高电平,p1.6,p1.7输出高电平
当p0.3输入高电平时,只有p1.3输出高电平,p1.6,p1.7输出高电平
当p0.4输入高电平时,只有p1.4输出高电平,p1.6,p1.7输出高电平
并且p0.2、p0.3、p0.4谁先输入高电平,就只对应输出后边的。即使后来的也输出了高电平但是也不能输出对应的信号了。(另外问一下高电平是不是指的是+5V)

#include<reg51.h> //头文件
sbit p02=P0^2; //p02表示P0^2引脚
sbit p03=P0^3; //p03表示P0^3引脚
sbit p04=P0^4; //p04表示P0^4引脚
void main() //主函数
{
P0=0x00; //P0口拉低
P1=0x00; //P1口拉低
while(1) //死循环
{
if(p02==1) //如果p02为高电平
{P1=0xc4; //则P1=11000100 即条件
while(p02==1); //如果p02一直为高电平 则不跳出while
}
if(p03==1) //同上
{P1=0xc8;
while(p03==1);
}
if(p04==1) //同上
{P1=0xd0;
while(p04==1);
}
}
}
高电平12V或5v
温馨提示:答案为网友推荐,仅供参考
相似回答