?? key.h
字號:
#ifndef _key_h_
#define _key_h_
#include<reg52.h>
#include<intrins.h>
sbit Hor1 = P2^7; // 水平第一行
sbit Hor2 = P2^6;
sbit Hor3 = P2^5;
sbit Hor4 = P2^4;
sbit Ver1 = P2^3; // 垂直第一列
sbit Ver2 = P2^2;
sbit Ver3 = P2^1;
sbit Ver4 = P2^0;
/********************************************************
Ver1 Ver2 Ver3 Ver4
↓ ↓ ↓ ↓
Hor1 → ValKey1 ValKey2 ValKey3 ValKey4
Hor2 → ValKey5 ValKey6 ValKey7 ValKey8
Hor3 → ValKey9 ValKey10 ValKey11 ValKey12
Hor4 → ValKey13 ValKey14 ValKey15 ValKey16
********************************************************/
#define ValKey1 1 // 定義鍵值
#define ValKey2 2
#define ValKey3 3
#define ValKey4 4
#define ValKey5 5
#define ValKey6 6
#define ValKey7 7
#define ValKey8 8
#define ValKey9 9
#define ValKey10 10
#define ValKey11 11
#define ValKey12 12
#define ValKey13 13
#define ValKey14 14
#define ValKey15 15
#define ValKey16 16
#define ValNull 0
/********************************************************
**名稱:KeyScan()
**功能:鍵盤掃描
**輸入:無
**返回:LcdData
**說明:無
********************************************************/
unsigned char KeyScan()
{
Hor1 = 0; Hor2 = 1; Hor3 = 1; Hor4 = 1; //掃描第一行
if (!Ver1)
{
DelayMs(10);
if (!Ver1);
{
return (ValKey1);
}
}
else if (!Ver2)
{
DelayMs(10);
if (!Ver2);
{
return (ValKey2);
}
}
else if (!Ver3)
{
DelayMs(10);
if (!Ver3);
{
return (ValKey3);
}
}
else if (!Ver4)
{
DelayMs(10);
if (!Ver4);
{
return (ValKey4);
}
}
Hor1 = 1; Hor2 = 0; Hor3 = 1; Hor4 = 1; //掃描第二行
if (!Ver1)
{
DelayMs(10);
if (!Ver1);
{
return (ValKey5);
}
}
else if (!Ver2)
{
DelayMs(10);
if (!Ver2);
{
return (ValKey6);
}
}
else if (!Ver3)
{
DelayMs(10);
if (!Ver3);
{
return (ValKey7);
}
}
else if (!Ver4)
{
DelayMs(10);
if (!Ver4);
{
return (ValKey8);
}
}
Hor1 = 1; Hor2 = 1; Hor3 = 0; Hor4 = 1; //掃描第三行
if (!Ver1)
{
DelayMs(10);
if (!Ver1);
{
return (ValKey9);
}
}
else if (!Ver2)
{
DelayMs(10);
if (!Ver2);
{
return (ValKey10);
}
}
else if (!Ver3)
{
DelayMs(10);
if (!Ver3);
{
return (ValKey11);
}
}
else if (!Ver4)
{
DelayMs(10);
if (!Ver4);
{
return (ValKey12);
}
}
Hor1 = 1; Hor2 = 1; Hor3 = 1; Hor4 = 0; //掃描第四行
if (!Ver1)
{
DelayMs(10);
if (!Ver1);
{
return (ValKey13);
}
}
else if (!Ver2)
{
DelayMs(10);
if (!Ver2);
{
return (ValKey14);
}
}
else if (!Ver3)
{
DelayMs(10);
if (!Ver3);
{
return (ValKey15);
}
}
else if (!Ver4)
{
DelayMs(10);
if (!Ver4);
{
return (ValKey16);
}
}
return ValNull;
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -