k1-k4按键状态显示设计报告单
#include
#define uchar unsigned char
#define uint unsigned int
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;
//延时
void DelayMS(uint x) //这是一个延时函数,延时毫秒级,后面的参数是几就是几毫秒
{
uchar i;
while(x--) for(i=0;i<120;i++);
}
//主程序
void main...全部
#include
#define uchar unsigned char
#define uint unsigned int
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;
//延时
void DelayMS(uint x) //这是一个延时函数,延时毫秒级,后面的参数是几就是几毫秒
{
uchar i;
while(x--) for(i=0;i<120;i++);
}
//主程序
void main()
{
P0=0xff; //51单片机为准双向口,读入前先写1
P1=0xff;
while(1)
{
LED1=K1; //前两个键按下则对应的灯亮,松开则灭
LED2=K2;
if(K3==0)
{
while(K3==0); //这一句是等按键释放
LED3=~LED3; //这一句是灯取反,实现按一次键亮再按一次灭依次往复
}
if(K4==0) //同K3
{
while(K4==0);
LED4=~LED4;
}
DelayMS(10); //延时10毫秒,也起到一个去抖动作用
}
}。
收起