📄 io-key.c
字号:
/*
键盘应用
Study-3 51 单片机开发板
试验现象:
按下KEY1: P20 灯亮
按下KEY2: P21 灯亮
按下KEY3: 蜂鸣器响
按下KEY4: 灯灭、蜂鸣器停
mail me:
zhaoliang0801@gmail.com
zhaoliang_0801@dl.cn
*/
// *******************************************************
// 头文件
#include "my51.h"
// *******************************************************
// 管脚定义
sbit BUZZER = P1^3;
sbit LED1 = P2^0;
sbit LED2 = P2^1;
// *******************************************************
// 宏声明
#define KEY (P3&0xf0)
#define KEY1 0X70
#define KEY2 0Xb0
#define KEY3 0Xd0
#define KEY4 0Xe0
#define BUZZER_ON BUZZER=0
#define BUZZER_OFF BUZZER=1
#define LED1_ON LED1=0
#define LED2_ON LED2=0
#define LED1_OFF LED1=1
#define LED2_OFF LED2=1
// *******************************************************
// 函数声明
void Key_delay (void);
// *******************************************************
// 主函数
// TRUE 在头文件中应用
void main (void)
{
while(TRUE)
{
if (KEY != 0x0F)
{
Key_delay ();
if(KEY != 0x0F)
{
switch (KEY)
{
case KEY1:
LED1_ON;
break;
case KEY2:
LED2_ON;
break;
case KEY3:
BUZZER_ON;
break;
case KEY4:
BUZZER_OFF;
LED1_OFF;
LED2_OFF;
break;
default:
break;
}
}
}
}
}
// *******************************************************
// 键盘延时子函数
// 去抖延时
void Key_delay(void)
{
unsigned char i,j;
for (i=25; i>0; i--)
for (j=50; j>0; j--);
}
// *******************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -