请大家帮忙看看这个程序哪里有问题谢谢了!
#include "reg51.h"
#define uint unsigned int
#define uchar unsigned char
#define Output 0xfe
#define Timer1 1000
#define Timer2 10000
/**********************************************
延时程序
***********************************************/
void mDelay(uint Delay)
{ uint i;
for(;Delay> 0;Delay--)
{ for(i=0;i <124;i++)
{;}
}
}
/************************************************
主程序
************************************************/
void main()
{ uint a[]={0x01,0x02};
uint b[]={0x00,0x01,0x02,0x03};
int j;
uint value;
P2=0xFF;
while(1)
{ P1=a[0];
mDelay(Timer1);//延时1s
value=P2;
for(j=3;j> =0;j--)
if(value==b[j])
{P3=0xfe;
mDelay(Timer2);
}
mDelay(Timer2);
P1=a[1];
mDelay(Timer1);
value=P2;
for(j=3;j> =0;j--)
if(value==b[j])
{ P3=0xfe;
mDelay(Timer2);
}
mDelay(Timer2);
}
}
p2端口设置成为输入后,还是始终不能将输入值赋给value,从而使得后面得for循环、以及if比较程序不能正确执行,进而p3.0这个口所接得led无法亮,我也不知道是什么原因,还望大家指导一下,先谢谢了!!!
发表时间:2006年9月14日9:46:53