⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ps2.h

📁 一个以前开发的实际应用的交通灯控制器程序
💻 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 + -