#include
typedef unsigned char uint8; //定义uin8类型 为unsigned char
typedef unsigned int uint16; //定义uin16类型 为 unsigned int
void delay(uint16 x) //延时子程序
{
uint16 i,j;
for(i = x; i > 0; i --) //循环执行x次
for(j = 114; j > 0; j --); //循环114次
}
void Move_LED() //LED 控制子程序
{
if ((P1 & 0x01) == 0x00) P0 ^= 0x01; //P1 第0位为0时
//P0口第0位翻转
else if((P1 & 0x02) == 0x00) P0 ^= 0x02; //P1 第1位为0时
//p0口第1位翻转
else if((P1 & 0x04) == 0x00) P0 ^= 0x04; //第2位 同上
else if((P1 & 0x08) == 0x00) P0 ^= 0x08; //第3位 同上
}
void main() //主程序
{
uint8 Key = 0x00;
while(1) 主循环
{
if(P1 != Key) //P1口状态是否改变
{
Key = P1; //保存当前P1口状态
Move_LED(); //执行子程序
delay(10); //执行延时程序
}
}
}