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

📄 int0.c

📁 这是一个用c编的程序
💻 C
字号:
#include <reg51.h>
#include <intrins.h>
#include <SerialPort.h>
#include <ps2.h>
#define uchar unsigned char 
#define uint unsigned int
void keycase(void);
uchar codeunshifted[][2] =
{
	0x1C, 'a',
	0x32, 'b',
	0x21, 'c',
	0x23, 'd',
	0x24, 'e',
	0x2B, 'f',
	0x34, 'g',
	0x33, 'h',
	0x43, 'i',
	0x3B, 'j',
	0x42, 'k',
	0x4B, 'l',
	0x3A, 'm',
	0x31, 'n',
	0x44, 'o',
	0x4D, 'p',
	0x15, 'q',
	0x2D, 'r',
	0x1B, 's',
	0x2C, 't',
	0x3C, 'u',
	0x2A, 'v',
	0x1D, 'w',
	0x22, 'x',
	0x35, 'y',
	0x1A, 'z',
	0x45, '0',
	0x16, '1',
	0x1E, '2',
	0x26, '3',
	0x25, '4',
	0x2E, '5',
	0x36, '6',
	0x3D, '7',
	0x3E, '8',
	0x46, '9'
};
uchar BF1=0,key_ASCII;
void main(void)     //入口函数
{
	uchar i;
	EA=1;			//首先开启总中断
	EX0=1;  		//开启外部中断 0
	IT0=1;        	// 设置成 下降沿触发方式
	seriaportset();
		do{					//循环
		if(BF)
		{
		keycase();
		if(BF1)
		{
		P2=~keyram[0];

		for(i=0;i<=35;i++)
		{
		if(keyram[0]==codeunshifted[i][0])
		 {key_ASCII=codeunshifted[i][1];
		 send(key_ASCII); 
		 }
		 }
		BF1=0;
		 }
		BF=0;
		EA=1;
		}
		else
		EA=1;
		}
	while(1);
}
void keycase(void)
{
switch (dnum)
{	case 0:
	dnum++;
	break;
	case 1:
	if(keyv==0xf0)
	dnum=2;
	else dnum=0;
	break;
	case 2:
	if (keyram[0]==keyram[2])
{	BF1=1;
	dnum=0;	   }
	else dnum=0;
	break;
	default:
	break;
	}
}


⌨️ 快捷键说明

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