程序求助
时间:10-02
整理:3721RD
点击:
#include <reg51.h>
void delay(int);
//sbit led=P1;
sbit k1=P3^4;
void main()
{
if(k1==0)
{
delay(10);
if(k1==0)
{
P1=0xfe;
}
}
/* while(!k1)
{
P1=0xff;
} */
}
void delay(int xm)
{
int i,j;
for(i=xm;i>0;i--)
for(j=100;j>0;j--)
}
为什么按键松开后P1口还是0xfe这个代码?
void delay(int);
//sbit led=P1;
sbit k1=P3^4;
void main()
{
if(k1==0)
{
delay(10);
if(k1==0)
{
P1=0xfe;
}
}
/* while(!k1)
{
P1=0xff;
} */
}
void delay(int xm)
{
int i,j;
for(i=xm;i>0;i--)
for(j=100;j>0;j--)
}
为什么按键松开后P1口还是0xfe这个代码?
你自己模拟执行一下就知道了嘛!执行完按键后,P1就是0xfe,有没有其他程序给P1重新赋值,那你想P1自动复位啊
你的按键程序有问题,要设计一个中间变量
但你按下时,程序执行了 P1=0xfe;退出大括号,之后就没有对P1操作了,P1怎么会改变?程序if要加多else
P1=0x__;
