百度知道 - 信息提示
用51单片机的并行I/O口输出控制8个LED从LED1到LED8、再到LED1......,每次点亮
简单编了一下程序,,,
#include
sbit key=P3^4; //按键,按实际再改
void delay(unsigned int t)
{
while(--t);
}
void main()
{
unsigned char q;
P1=0xfe;//1111 1110 P1口led灯,实际不是再改
while(1)
{
P1=0xfe;//1111 1110
for(q=0;q<8;q++)
{
delay(25000); //0.5S,得按照实际晶振再改
P1<<=1;
if(q==7)
{P1=0xfe;}
}
if(key == 0)
{
delay(200); //按键防抖
if(key == 0)
{
P1=0xff;
P1=0x00;
P1=0xff;
P1=0x00;
P1=0xff;
P1=0x00;
}
}
}
}
拿了一个之前画的proteus图,少了个晶振和复位电路,你补一下自己
51单片机,通电8个led逐个点亮,然后右到左按一次健灭一个灯,然后8个灯全灭,过一会再逐个点亮
是这样大哥,通电片p0,p1,口流水从左到右自动循环点亮,当按下一次p27独立一个按键,高电平变低电平,led从右到左依次逐个熄灭,按下熄灭一个,然后全灭,停10秒自动从启动循环点亮。要求汇编程序,中断,计数,延时,循环,p26,p25按健能控制循环速度,感谢你了大哥哥。也感谢大家兄弟姐妹。