
此代码可实现的功能:
按下k1 依次点亮LED,按下k2 依次熄灭LED;
按下k3 LED全灭,按下k4 LED全亮。
(可以接在51单片机上,也可以进行仿真)
(单片机小白自己写的代码,有什么建议或者需要改进的地方还请指出,十分感谢!)
#include"reg52.h"
#define led P0
typedef unsigned char u8;
typedef unsigned int u16;
sbit k1=P2^0;
sbit k2=P2^1;
sbit k3=P2^2;
sbit k4=P2^3;
u16 a;
void delay(u16 i)
{
while(i--);
}
void main()
{
led=0xff;
while(1)
{
if(k1==0)
{
delay(20);
while(k1==0)
delay(20);
a++;
if(a>8)
a=0;
P0=(0xff<>1);
P0=~P0;
a=a-1;
if(a==-1)
{
P0=0x00;
a=8;
}
}
if(k3==0)
{
delay(20);
while(k3==0)
delay(20);
led=0xff;
a=0;
}
if(k4==0)
{
delay(20);
while(k4==0)
delay(20);
led=0x00;
a=8;
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)