参照下图,实现当KEY键第1次按下时8个LED从上向下依次显示,KEY键第2次按下时LED从下向上依次显示。(作业完成后拍照上传)
1.画出程序流程图
2.
编写程序
参考GPT和自己的思路:
很高兴能为您提供帮助。
1.以下是51单片机键控流水灯的程序流程图:

{
while(i--);
}
void up() interrupt 0 //LED时间控制
{
if(count==8)
{
count=0;
}
LED= ~(1<<count); //通过移位实现LED灯依次亮起
delay(10000);
count++;
}
void main()
{
P2=0xff; //初始化P2口,将LED熄灭
IE=0x81; //开启中断
IT0=1; //中断类型为下降沿触发
while(1)
{
if(KEY1==0) //检测按键是否按下
{
while(KEY1==0); //等待按键释放
if(count==0) //第一次按下
{
while(count<=7) //LED从上向下亮起
{
LED=~(1<<count);
delay(100000);
count++;
}
}
else //第二次按下
{
count=7;
while(count>=0) //LED从下向上亮起
{
LED=~(1<<count);
delay(100000);
count--;
}
}
}
}
}