51单片机100例实例之12例
//项目名称:4只按键控制LED状态显示
//项目再创作者:科技小宅神
//完成时间:2021/01/21

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
//按键和LED的引脚定义
sbit LED1 = P0^0;
sbit LED2 = P0^1;
sbit LED3 = P0^2;
sbit LED4 = P0^3;
sbit K1 = P1^0;
sbit K2 = P1^1;
sbit K3 = P1^2;
sbit K4 = P1^3;
//1毫秒延时程序
void DelayMS(uint x)
{
uchar t;
while(x--)
{
for(t=120;t>0;t--);
}
}
//主程序
void main()
{
P0=0xff;
P1=0xff;
while(1)
{
LED1 = K1;//K1按下时LED1亮,松开时灭
LED2 = K2;//K2按下时LED2亮,松开时灭
if(K3==0)
{
while(K3==0)
{
LED3=~LED3;//状态反转
}
}
if(K4==0)
{
while(K4==0)
{
LED4=~LED4;//状态反转
}
}
DelayMS(10);
}
}