单片机编程设计要求如下:在单片机的P0口接有8个发光二极管作为指示灯,P1.0~P1.3接有4个按键

设计要求如下:在单片机的P0口接有8个发光二极管作为指示灯,P1.0~P1.3接有4个按键开关,当不同的脚上的按键按下时,实现如下功能:
按下P1.0脚的按键—8只灯全亮然后全灭,再全亮然后全灭,交替闪亮;
按下P1.1脚的按键—按此键则停止点亮8只灯,所有灯全灭;
按下P1.2脚的按键—LED指示灯由上向下流动点亮;
按下P1.3脚的按键—LED指示灯由下向上流动点亮。

第1个回答  2014-10-27
#include<reg51.h>
#define uchar unsigned char
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
uchar LED=0xfe;
void delay(uchar a)
{
uchar i,j;
for(i=0;i<a;i++)
for(j=0;j<120;j++);
}
main()
{
P0=0xff;
while(1)

{

while(key1==0){P0=0x00;delay(200);P0=0xff;delay(200)}

while(key2==0){P0=0xff;}

while(key3==0){P0=LED;LED=(LED<<1)|0x01;if(LED==0xff)LED=0xfe;delay(200);}

while(key4==0){P0=LED;LED=(LED>>1)|0x80;if(LED==0xff)LED=0x7f;delay(200);}

}

}本回答被网友采纳
第2个回答  2014-10-26
上图,没图不好写。
第3个回答  2014-10-26
给你做proteus仿真吗?
还是要实物?
相似回答