画出一个仿真图,让p2口接8个LED发光二极管,并书写一道程序,让LED灯做亮灭闪烁每一秒闪烁一次

2025-04-09 20:13:15
推荐回答(1个)
回答1:

首先搞清LED管是高电平导通还是低电平导通。
如果是低电平导通,P2赋0x00时,发光管全亮,0xff时,全灭。
具体程序:
#define uint unsigned int
#define uchar unsigned char
void delay(uint time_out)
{
uint i,j;
for(i=0;i{
for(j=0;j<110;j++)
{;}
}
}
void main(){
while(1)
{
P2=0xfe; //第1个管亮
delay(500);
P2=0xfd; //第2个管亮
delay(500);
P2=0xfb; //依次类推
delay(500);
P2=0xf7;
delay(500);
P2=0xef;
delay(500);
P2=0xdf;
delay(500);
P2=0xbf;
delay(500);
P2=0x7f;
delay(500);
}
}
程序大致如此,delay函数负责延迟500ms.有问题自己再调试调试