电路如图所示,编写可键控的流水灯程序。要求实现的功能为,Kl是总开关,当Kl首次按下时,流水灯由下往上流动;当K2按下时停止流动,且全部灯灭;当K3按下时使灯由上往下流动,K4则使灯由下往上流动。填写对应空语句(含图)
#include "reg51.h¨
unsigned char led[]={0xfe,0xfd,0xfb,0xf7}; //LED灯的花样数据
void delay(unsigned int time) //延时函数
{ unsigned char j=225;
for(; time>0;time-) for(;j>0;j-); }
void main()
{ bit dir=0,run=0; //标志位定义及初始化
____ ;
while(1)
{ switch (P3&0x0f) //读取键值
{ case 0x0e: run=1;break; //K1动作,设run=1
case 0x0d: run=0;dir= 0;break;//K2动作,设run= dir=0
case 0x0b: dir=1;break; //K3动作,设dir=1
case 0x07: dir=0;break; //K4动作,设dir=0
default:break; }
if (run)
{if(dir) //若run= dir=1,自上而下流动
{ ____
{ ____; ____; } }
else //若run=1,dir=0,自下而上流动
{ for(i=3;i>=0;i--)
{P0=led [i]; delay(20000); }}
}
else P0=0xff; //若run=0,灯全灭
}
}