c51单片机:两个独立按键控制一个led,k1按下松开led闪烁,k2按下松开led灭?

led接p0.3 k1接p3.6 k2接p3.7
2025-03-23 11:55:24
推荐回答(1个)
回答1:


#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit led=P2^0;//把所要控制的led灯定义为p2.0这个口
sbit k1=P2^1;
sbit k2=P2^2;

void delay(u16 i)
{
while(i--);
}//一个延时程序
void main()
{
if(k1==1)
while(1)
{
led=1;
delay(50000); //大约延时450ms
led=0;
if(k2==1)
break;
}
led=0;
}

思路很简单,就是用检测的方法去扫描相应的按键是否被触发,然后执行相应的子程序。