亮一会灭一会儿C语言程序,求个开关控制led灯亮灭的程序

本文档详细介绍了使用8051单片机通过P1、P2和P3口控制LED灯的程序。通过两个独立按键k1和k2实现灯组切换,每个按键按下后对应一组LED灯亮起,松开后延时关闭。展示了中断、延时函数和位操作在硬件控制中的应用。
摘要由CSDN通过智能技术生成

#include //单片机头文件

sbit k1=P1^0;//

sbit k2=P1^1;//

sbit D1=P2^0;//

sbit D2=P2^1;//

sbit D3=P2^2;//

sbit D4=P3^0;//

sbit D5=P3^1;//

sbit D6=P3^2;//

bit flag=0;

/*********************************************************************************************/

void DELAY_MS (unsigned int a){

unsigned int i;

while( a-- != 0){

for(i = 0; i < 125; i++);

}

}

/*********************************************************************************************/

void main (void)

{

unsigned char i;

P2=P3=0X00;

while(1){

if(k1==0&&flag==0){        //

DELAY_MS(10);

if(k1==0&&flag==0){

flag=1;

D1=D2=D3=1;//上面三个灯亮

}

}

if(k1==1){

flag=0;

D1=D2=D3=0;//上面三个灯灭

}

if(k2==0&&flag==0){//

DELAY_MS(10);

if(k2==0&&flag==0){

flag=1;

D4=D5=D6=1;//下面三个灯亮

}

}

if(k2==1){

flag=0;

D4=D5=D6=0;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值