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

📄 testatkeyboard.c

📁 ps/2键盘处理程序
💻 C
字号:
#include <REG52.H>
#include <string.h>
#include "..\ATKeyboard\ATKeyboard.H"

#define _DEBUG

#ifdef _DEBUG
#include "..\Debug\Debug.H"
#endif

sbit SPEAKER	=	P1^6;

//Delay at 22.1184M
//=====================延时函数=========================================
//延时50us
void Delay50us(unsigned char _50us)
{
	unsigned char data i;
	while(_50us--)
	{
		i=12;while(i--);
	}
}

//延时1ms
void Delay1ms(unsigned char _1ms)
{
	while(_1ms--)	Delay50us(20);
}

//========================通用驱动函数============================
//蜂鸣器函数,Times为响次数,OnTimes_ms为蜂鸣时长,OffTime_ms为间隔时长
//单位:ms
void Beep(unsigned char Times, unsigned char OnTime_ms, 
		  unsigned char OffTime_ms)
{	//Speaker At CPU P1.2
	while(Times--)
	{
		SPEAKER = 0;
		Delay1ms(OnTime_ms);
		SPEAKER = 1;
		Delay1ms(OffTime_ms);
	}
}


void main()
{
	unsigned char i;
#ifdef _DEBUG
	DebugInit();
	DebugString("Keyboard Monitor Program Start ...\r\n");
#endif
	EA = 1;		//开中断
	Beep(1,150,0);
	SelectKeyboard(ACTUAL_KEYBOARD);	//选取实际键盘
	ResetKeyboardMonitor();	//复位键盘监控
	StartMonitorKeyboard();	//开始监控键盘
	while(1)
	{
		//Delay1ms(200);Delay1ms(200);Delay1ms(200);Delay1ms(200);
		Delay1ms(200);Delay1ms(200);Delay1ms(200);Delay1ms(200);
		for(i=0;i<10;i++)
			SendKey(KeyCode_MainNumberKey[i]);
		for(i=0;i<10;i++)
			SendKey(KeyCode_SubNumberKey[i]);
		//SendKey(KEY_ENTER);
		for(i=0;i<26;i++)
			SendKey(KeyCode_Char[i]);
		SendKey(KEY_ENTER);
		/*
		if(stKeyboardData.Length > 10) 
		{f
			StopMonitorKeyboard(); //停止监控键盘
#ifdef _DEBUG1
			DebugString("Keyboard Buffer:\r\n");
			DebugData(stKeyboardData.Length,stKeyboardData.Length,stKeyboardData.cKeyBuffer);
#endif
			ResetKeyboardMonitor();	//复位键盘监控
			StartMonitorKeyboard(); //开始监控键盘
		}
		*/
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -