📄 ps2.h
字号:
#ifndef __PS2_H__
#define __PS2_H__
//////////////////////////////////////////////////////////////////////////
// korfi [3/14/2007]
// korfi [3/17/2007]:修改引脚,用在交通灯控制仪上
//PS/2键盘的预定义
#include "VCKeil.h"//
#include "KfSST89E554RC.H"
#define KBBUF_SIZE 20
sbit KB_DAT=P1^2; //定义Keyboard引脚
sbit KB_CLK=P3^2;
//接口变量声明
extern unsigned char KbBuf[KBBUF_SIZE];
extern unsigned char KbCnt=0;//缓存位置
extern unsigned char KbFlagSta=0;
//标记不同状态:无新按键需处理0,新接收数据1,接收延迟错误2
extern bit KbOverTimeFlag=0;
extern void PS2_SendChar(unsigned char dat);//发送命令给PS/2设备
//void PS2_RecChar(void) interrupt INT_SOURCE_EX1//外部中断0
extern void PS2_Init(void);
////////////////////PS/2键盘命令
/*
上电或复位后,执行BAT(Basic Assurance Test),默认载入如下设置
机打延时:500ms 机打速率:10.9cps
第二套扫描码 机打/通码/断码
*/
//Device Reation
#define DEV_OK 0xAA//成功
#define DEV_ERR 0xFC//错误
//Host Command
#define KB_RESET 0xFF//复位
//#define KB_RESEND 0xFE//重发
#define KB_SETLED 0xED//设置键盘的LED状态
//MSB B7 B6 B5 B4 B3 B2 B1 B0 LSB
// 0 0 0 0 0 Caps Num Scroll ....Lock
#define KB_CAPSLOCK 0x04
#define KB_NUMLOCK 0x02
#define KB_SCROLLLOCK 0x01
#define KB_ALLKEY_MASK 0xF9//只发送通码,机打和断码禁止
//
//这里仅仅包含了小键盘的编码,其他编码请看
//第二套键盘编码表
#define KB_NUM 0x77
#define KP_YOUXIEHAO 0x4A//E0,0x4A
#define KB_KP_XINGHAO 0x7c
#define KB_KP_JIANHAO 0x7B
#define KB_KP7 0x6c
#define KB_KP8 0x75
#define KB_KP9 0x7D
#define KB_KP4 0x6B
#define KB_KP5 0x73
#define KB_KP6 0x74
#define KB_KP1 0x69
#define KB_KP2 0x72
#define KB_KP3 0x7A
#define KB_KP0 0x70
#define KB_BKSP 0x66
#define KB_KP_DEL 0x71
#define KB_KP_EN 0x5A//E0,5A
#define KB_BKCODE 0xF0//断码标记
//////////////////////////////////////////////////////////////////////////
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -