小磷光一

PS2键盘在ADSP-BF533下的接口和中断初始化

0
阅读(2499)

 

/****************************************************************************
* 名称 :Init_KEYFlags
* 功能 :初始化键盘IO标志
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
static void Init_KEYFlags(void)
{
	*pFIO_INEN		= 0x0020;
	*pFIO_DIR		= 0x001f;
	*pFIO_EDGE		= 0x0000;
	*pFIO_MASKA_D	= 0x0020;
	*pFIO_POLAR		= 0x0020;
}
/****************************************************************************
* 名称 :Init_KEYInterrupts
* 功能 :初始化键盘中断
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
static void Init_KEYInterrupts(void)
{

    *pSIC_IAR0 = 0xffffffff;
	*pSIC_IAR1 = 0xffffffff;
	*pSIC_IAR2 = 0xffff5fff;				 
	register_handler(ik_ivg12, FlagA_ISR_KBD);		 
	*pSIC_IMASK = 0x00090000;	 
}
/****************************************************************************
* 名称 :Init_Platform4PS2_KBD
* 功能 :初始化PS2键盘
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void Init_Platform4PS2_KBD(void)
{
	Init_KEYFlags();
    Init_EBIU();
	PS_Clk_In();
	PS2_KEYDAT_DIR();
	Init_KEYInterrupts();
}

****************************************************************************/ 
#ifndef __PS2CODE_H__
#define __PS2CODE_H__
unsigned char UnShifted[59][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',
	0x0E, '`',
	0x4E, '-',
	0x55, '=',
	0x5D, '\\',
	0x29, ' ',
	0x54, '[',
	0x5B, ']',
	0x4C, ';',
	0x52, '\'',
	0x41, ',',
	0x49, '.',
	0x4A, '/',
	0x71, '.',
	0x70, '0',
	0x69, '1',
	0x72, '2',
	0x7A, '3',
	0x6B, '4',
	0x73, '5',
	0x74, '6',
	0x6C, '7',
	0x75, '8',
	0x7D, '9',
};

unsigned char Shifted[59][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',
	0x0E, '~',
	0x4E, '_',
	0x55, '+',
	0x5D, '|',
	0x29, ' ',
	0x54, '{',
	0x5B, '}',
	0x4C, ':',
	0x52, '"',
	0x41, '<',
	0x49, '>',
	0x4A, '?',
	0x71, '.',
	0x70, '0',
	0x69, '1',
	0x72, '2',
	0x7A, '3',
	0x6B, '4',
	0x73, '5',
	0x74, '6',
	0x6C, '7',
	0x75, '8',
	0x7D, '9',
};


#endif