用51单片机的并行I/O口输出控制8个LED从LED1到LED8、再到LED1......,每次点亮 20
用51单片机的并行I/O口输出控制8个LED从LED1到LED8、再到LED1......,每次点亮一个LED,间隔时间大约0.5s,并不断循环。用一个按键开关控制引起中...
用51单片机的并行I/O口输出控制8个LED从LED1到LED8、再到LED1......,每次点亮一个LED,间隔时间大约0.5s,并不断循环。用一个按键开关控制引起中断,下降沿触发,中断后8个LED一起闪3下,然后恢复前面的循环。画出硬件电路连接示意图,编写完整的程序。
大神们帮帮忙,悬赏有点少,但是是全部家当了 展开
大神们帮帮忙,悬赏有点少,但是是全部家当了 展开
1个回答
展开全部
简单编了一下程序,,,
#include<reg52.h>
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图,少了个晶振和复位电路,你补一下自己
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询