编程题 硬件电路中由8051单片机P1口控制8个放光二极管,编程实现依次点亮8个发光二极管?

2024-12-16 13:20:30
推荐回答(3个)
回答1:

首先搞清LED管是高电平导通还是低电平导通。
如果是低电平导通,P1赋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)
{
P1=0xfe; //第1个管亮
delay(500);
P1=0xfd; //第2个管亮
delay(500);
P1=0xfb; //依次类推
delay(500);
P1=0xf7;
delay(500);
P1=0xef;
delay(500);

P1=0xdf;
delay(500);

P1=0xbf;
delay(500);

P1=0x7f;
delay(500);
}
}

程序大致如此,delay函数负责延迟500ms.有问题自己再调试调试

回答2:

你好,您需要的是c代码,还是汇编,如果是汇编我可以给你编,如果是c代码,见一楼的,呵呵

回答3:

是P1.0~~P1.8吧? 间隔点亮具体是怎样?