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

📄 key.c

📁 vC++读写HID_USB设备,包含hid_usb的固件程序和上位机程序
💻 C
字号:
#include "key.h"
#include "config.h"

volatile uint8 KeyCurrent,KeyOld,KeyNoChangedTime;
volatile uint8 KeyPress,KeyDown,KeyUp,KeyLast;
volatile uint8 KeyChangeable;

void Timer0Init(void)
{
	EA = 0;
	TMOD &= 0xf0;
	TMOD |= 0x01;
	TH0 = 0xdc;	//定时中断约5ms
	ET0 = 1;	//TIMER0中断允许
	TR0 = 1;	//开始计数
	EA = 1;
}

void KeyInit(void)
{
	KeyIO = 0xff;
	KeyCurrent = 0;
	KeyOld = 0;
	KeyNoChangedTime = 0;
	KeyPress = 0;
	KeyDown = 0;
	KeyUp = 0;
	KeyLast = 0;
	KeyChangeable = 1;
	Timer0Init();
}

void Timer0ISP(void) interrupt 1
{
	TH0 = 0xdc;	//timer0 溢出中断约5ms
	if(0 == KeyChangeable)
		return;
	KeyCurrent = ~(KeyIO);
	if(KeyCurrent != KeyOld)
	{
		KeyNoChangedTime = 0;
		KeyOld = KeyCurrent;
		return;
	}
	else
	{
		KeyNoChangedTime++;
		if(KeyNoChangedTime >= 1)
		{
			KeyNoChangedTime=1;
			KeyPress = KeyOld;
			KeyDown |= (~KeyLast) & KeyPress;
			KeyUp |= KeyLast & (~KeyPress);
			KeyLast = KeyPress;
		}
	}
}

⌨️ 快捷键说明

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