#include<reg51.h>
#define uchar unsigned char
void delay(uchar x)
{
uchar k;
while(x--)
for(k=0;k<125;k++){}
}
//延时函数
void main()
{
P1=0x0f;
if(P1&0x0f!=0x0f)
{
delay(10);
P1=0x0f;
while(P1&0x0f!=0x0f)
{
if(P1=0x0e)
{
P2=0x9f;
}
else
P2=0x00;
}
}
}
为什么明明P1满足P1=0x0e的条件但是P2还都是高电位
#define uchar unsigned char
void delay(uchar x)
{
uchar i,j;
for(i=x;i>0;i--)
for(j=100;j>0;j--);
} //延时函数
void main()
{
P1=0xf0;
delay(10);
if(P1==0xf0)
P2=0xff;
else
P2=0x00;
}这是我改的你的程序,我在protues上仿真过了。可以,我不知道你的要求是什么,我的程序是按下按键显示8。不安按键,不显示。
一周热门 更多>