亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? drv_key.c

?? 在EPSON開發平臺上實現鍵盤控制 并通過外部LED顯示出來
?? C
字號:
/********************************************************************************************************
 *													*
 *	Copyright (C) SEIKO EPSON CORP. 2002								*
 *													*
 *	File name: Drv_key.c										*
 *	  This is key matrix driver for Star.								*
 *													*
 *													*
 *	Revision history										*
 *		2002.05.30	Andrew Yin	Start.							*
 *		2002.09.29	Andrew Yin	Modify( Change the P26, P27 to P15, P16 for KeyMatrix).	*
 *													*
 *******************************************************************************************************/

#include "common.h"
#include "int.h"
#include "io.h"
#include "main.h"

void vInitKey( void );
void vIntKey( void );
//void delay();

unsigned char rucK5PortData;
unsigned char gucKeyCode =0;//鍵盤緩沖。當鍵被按下,該鍵碼被保存在鍵盤緩沖區中。目前該緩沖區大小為一個,所以只能保存一個鍵。


void vInitKey( void )//初始化鍵盤,設置鍵盤的觸發方式和條件(比較寄存器和掩碼寄存器),中斷優先級(目前為4),最后打開鍵盤中斷。
{
	*(volatile unsigned char *)0x402D8 &= 0x0FC;// p20,p21功能設定為io
	
	*(volatile unsigned char *)0x402D4 &= 0x9F; // p15,p16功能設定為io
	
	*(volatile unsigned char *)0x402DA |= 0x03; // p20,p21方向設定為輸出
	
	*(volatile unsigned char *)0x402D6 |= 0x60; // p15,p16方向設定為輸出
	
	*(volatile unsigned char *)0x402D9 &= 0x0FC;// P20 = P21 ='L'
	
	*(volatile unsigned char *)0x402D5 &= 0x9F; // P15 = P16 ='L'
	
	//[0x402ca]
	*(volatile unsigned char *)IN_SPPK_ADDR &= 0x0fc;	//中斷源為K50, K51,K52,K53,K54
	//[0x402cc]
	*(volatile unsigned char *)IN_SCPK0_ADDR |= 0x1F;	//set K50-K54 下降沿中斷
	//[0x402ce]
	*(volatile unsigned char *)IN_SMPK0_ADDR |= 0x1F;	//set K50-K54 中斷使能
	//[0x40262]
	*(volatile unsigned char *)INT_PK0_PK1_ADDR &= 0x0f8;
	*(volatile unsigned char *)INT_PK0_PK1_ADDR |= INT_PRIL_LVL4;	//set Key input0 interruput level 4
	//[0x40280]
	*(volatile unsigned char *)INT_FP0_FK_ADDR &= 0xef;		// 清除鍵盤中斷標志
	//[0x40270]
	*(volatile unsigned char *)INT_EP0_EK_ADDR |= 0x10;		// 使能鍵盤總中斷
	
}

void vIntKey( void )//鍵盤中斷服務程序。將按鍵保存到鍵盤緩沖中,由用戶讀取。并且清除鍵盤中斷標志。
{
	asm("pushn	%r15");			// save r1,r2...r15
	asm("ld.w	%r9,%psr");		// EI,enable interrupt 
	asm("or 	%r9,0x10");
	asm("ld.w	%psr,%r9");
  *(volatile unsigned char *)INT_EP0_EK_ADDR &= ~0x10;//關閉鍵盤中斷
  
  	//check No 1,4,7,Menu,*   set P15 = 0, other = 1
	*(volatile unsigned char *)IO_P2D_ADDR |= 0x03;	// set P15 = 0
	*(volatile unsigned char *)IO_P1D_ADDR &= 0x0DF;
	*(volatile unsigned char *)IO_P1D_ADDR |= 0x40;
  	
  	rucK5PortData = *(volatile unsigned char *)IN_K5D_ADDR & 0x1F;
 	while (1)                                      //去抖動
 	{

 		if (rucK5PortData == (*(volatile unsigned char *)IN_K5D_ADDR & 0x1F))
 			break;
 		else
 			rucK5PortData = *(volatile unsigned char *)IN_K5D_ADDR & 0x1F;	// [0x402c1]
 	}

 	if(rucK5PortData == 0x17 )
 		gucKeyCode = 35;
 	else 
 		gucKeyCode = NULL;
	
	if (gucKeyCode == NULL)
	{
		//check No 2,5,8,0,Cancel,   set P21 = 0, other = 1
		*(volatile unsigned char *)IO_P2D_ADDR &= 0xfd;	// set P21 = 0
		*(volatile unsigned char *)IO_P2D_ADDR |= 0x01;
		*(volatile unsigned char *)IO_P1D_ADDR |= 0x60;
			 	
	 	rucK5PortData = *(volatile unsigned char *)IN_K5D_ADDR & 0x1F;	// [0x402c1]
	  /*
	   	switch( rucK5PortData )
	 	{
	 		case 0x1E:
	 			gucKeyCode = RIGHTKEY;		//K50
	 			break;
	 		case 0x1D:
	 			gucKeyCode = MENUKEY;		//K51
	 			break;
	 		case 0x1B:
	 			gucKeyCode = NO7KEY;		//K52
	 			break;
	 		case 0x17:
	 			gucKeyCode = NO8KEY;		//K53
	 			break;
	 		case 0x0F:
	 			gucKeyCode = NO9KEY;		//K54
	 			break;
	 		default:
	 			gucKeyCode = NULL;
	 	}
	 	*/
	 	if(rucK5PortData == 0x1E )
 		  gucKeyCode = 29;
 		else 
 			gucKeyCode = NULL;
	}
	
	if (gucKeyCode == NULL)
	{
		//check No 3,6,9,#,ONOFF,   set P20 = 0, other = 1
		*(volatile unsigned char *)IO_P2D_ADDR &= 0xfe;	// set P20 = 0
		*(volatile unsigned char *)IO_P2D_ADDR |= 0x02;
		*(volatile unsigned char *)IO_P1D_ADDR |= 0x60;
	 	
	 	rucK5PortData = *(volatile unsigned char *)IN_K5D_ADDR & 0x1F;	// [0x402c1]
	   /*
	   	switch( rucK5PortData )
	 	{
	 		case 0x1E:
	 			gucKeyCode = LEFTKEY;		//K50
	 			break;
	 		case 0x1D:
	 			gucKeyCode = CALLKEY;		//K51
	 			break;
	 		case 0x1B:
	 			gucKeyCode = ASTERISKKEY;		//K52
	 			break;
	 		case 0x17:
	 			gucKeyCode = NO0KEY;		//K53
	 			break;
	 		case 0x0F:
	 			gucKeyCode = SHARPKEY;		//K54
	 			break;
	 		default:
	 			gucKeyCode = NULL;
	 	}
	 	*/
	if(rucK5PortData == 0x17 )
 		gucKeyCode = 37;
 	else 
 		gucKeyCode = NULL;
	 	
	}
	
	if (gucKeyCode == NULL)
	{
		//check Call,Down,Right,Left,Done,   set P16 = 0, other = 1
		*(volatile unsigned char *)IO_P2D_ADDR |= 0x03;	// set P16 = 0
		*(volatile unsigned char *)IO_P1D_ADDR &= 0x0BF;
		*(volatile unsigned char *)IO_P1D_ADDR |= 0x20;
	 	
	 	rucK5PortData = *(volatile unsigned char *)IN_K5D_ADDR & 0x1F;	//	 [0x402c1]
	  /*
	   	switch( rucK5PortData )
	 	{
	 		case 0x1E:
	 			gucKeyCode = DONEKEY;		//K50
	 			break;
	 		case 0x1D:
	 			gucKeyCode = ONOFFKEY;		//K51
	 			break;
	 		case 0x1B:
	 			gucKeyCode = NO1KEY;		//K52
	 			break;
	 		case 0x17:
	 			gucKeyCode = NO2KEY;		//K53
	 			break;
	 		case 0x0F:
	 			gucKeyCode = NO3KEY;		//K54
	 			break;
	 		default:
	 			gucKeyCode = NULL;
	 	}
	 	*/
	if(rucK5PortData == 0x0F )
 		gucKeyCode = 28;
 	else 
 		gucKeyCode = NULL;
	}
		
	*(volatile unsigned char *)0x402D9 &= 0x0FC; // P20 = P21 ='L'
	
	*(volatile unsigned char *)0x402D5 &= 0x9F;  // P15 = P16 ='L'
	
	*(volatile unsigned char *)INT_FP0_FK_ADDR &= 0xef;		// 清除鍵盤中斷標志
	//[0x40270]
	*(volatile unsigned char *)INT_EP0_EK_ADDR |= 0x10;		// 使能鍵盤中斷

	asm("popn	%r15");			// restore r1,r2...r15
	asm("reti");

}

/*
void delay()
{
	int i,j;
	for (i = 0;i<20000;i++)
		j += (i >1000)?i/2 *3 +10: i;
}
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精一品亚洲二区在线视频| 欧美a一区二区| 国产视频一区在线播放| 精品美女在线播放| 欧美高清视频www夜色资源网| 欧美中文字幕一区| 在线不卡中文字幕| 欧美精品xxxxbbbb| 欧美xxxx老人做受| 精品国产一区二区精华| 国产性天天综合网| 最新久久zyz资源站| 亚洲码国产岛国毛片在线| 夜夜嗨av一区二区三区网页| 亚洲一区二区四区蜜桃| 日韩精品欧美成人高清一区二区| 天天av天天翘天天综合网色鬼国产 | 在线观看视频欧美| 欧美精品xxxxbbbb| 亚洲少妇30p| 亚洲欧美另类小说视频| 亚洲国产综合色| 极品少妇xxxx偷拍精品少妇| 国产精品1区二区.| 一本色道综合亚洲| 日韩欧美二区三区| 最新高清无码专区| 蜜臀久久99精品久久久画质超高清 | 久久99深爱久久99精品| 国产精品一区二区91| 91精品办公室少妇高潮对白| 制服丝袜亚洲精品中文字幕| 久久久噜噜噜久久中文字幕色伊伊 | 91麻豆成人久久精品二区三区| 欧美日韩在线直播| 国产偷国产偷精品高清尤物| 夜夜精品浪潮av一区二区三区| 蜜桃精品视频在线| 97精品国产露脸对白| 欧美福利电影网| 国产精品美女久久福利网站| 日本不卡一二三| 一本大道av伊人久久综合| 日韩欧美一区中文| 一区二区三区在线观看网站| 国内精品视频一区二区三区八戒| 91美女精品福利| 久久综合色鬼综合色| 一个色妞综合视频在线观看| 国产高清在线精品| 日韩天堂在线观看| 一区二区国产视频| 成人av综合在线| 日韩免费性生活视频播放| 久久99在线观看| 91福利在线免费观看| 久久影院午夜论| 日韩高清一区在线| 欧美综合一区二区三区| 欧美激情一区二区三区在线| 久久97超碰色| 欧美一区二区三区视频免费| 91高清视频免费看| 中文字幕永久在线不卡| 韩国av一区二区三区| 欧美一级理论性理论a| 亚洲一区在线观看视频| 91视频观看视频| 国产精品二三区| 国产99精品在线观看| 久久久99精品免费观看不卡| 麻豆一区二区在线| 日韩精品在线一区二区| 日本不卡中文字幕| 欧美麻豆精品久久久久久| 亚洲成人中文在线| 欧美精品第1页| 日本强好片久久久久久aaa| 欧美日本一区二区在线观看| 亚洲va欧美va人人爽午夜| 欧美午夜精品电影| 日韩影视精彩在线| 欧美一区二区视频在线观看 | 3d成人h动漫网站入口| 偷偷要91色婷婷| 欧美精品国产精品| 精品一区精品二区高清| 国产婷婷精品av在线| 国产成人午夜电影网| 日本一区二区免费在线观看视频| 大胆亚洲人体视频| 亚洲欧美日韩一区二区 | 国产精品午夜电影| 色悠悠久久综合| 午夜精品福利久久久| 666欧美在线视频| 国产一区高清在线| 婷婷综合久久一区二区三区| 日韩亚洲欧美在线| 国产成人亚洲综合a∨猫咪| 中文字幕日本乱码精品影院| 欧美色大人视频| 国产一区在线精品| 一区二区在线免费观看| 欧美日韩国产综合视频在线观看| 久久99最新地址| 亚洲欧美日韩精品久久久久| 日韩欧美在线网站| 99精品视频在线观看免费| 香蕉加勒比综合久久| 久久久99精品久久| 精品视频在线免费观看| 国产精品888| 亚洲国产日韩a在线播放性色| 日韩精品一区二区三区中文精品| 岛国精品在线观看| 日韩影院免费视频| 日韩伦理电影网| 精品国产乱码久久久久久牛牛| av不卡一区二区三区| 蜜臀久久99精品久久久画质超高清| 中文字幕欧美区| 日韩视频在线你懂得| 91成人免费在线| 国产精品18久久久久久久久| 香蕉久久夜色精品国产使用方法| 国产亚洲欧洲997久久综合| 欧美日韩一区成人| 色综合 综合色| 风间由美中文字幕在线看视频国产欧美 | 91日韩精品一区| 韩国女主播一区| 日日夜夜一区二区| 亚洲美女偷拍久久| 中文字幕在线不卡一区 | 国产精品激情偷乱一区二区∴| 日韩欧美一级二级三级久久久| 欧洲一区二区三区免费视频| 成人免费看黄yyy456| 国产一区二区三区电影在线观看| 亚洲一二三四区不卡| 亚洲欧洲精品天堂一级| 久久色视频免费观看| 欧美一级国产精品| 7777精品伊人久久久大香线蕉超级流畅| 波多野结衣精品在线| 国产91精品精华液一区二区三区 | 色婷婷狠狠综合| 99精品欧美一区| eeuss鲁片一区二区三区在线看| 国产精品一区二区不卡| 国产精品 欧美精品| 国产成人午夜精品5599 | 91在线一区二区| 国产一区二区三区综合| 国产精品一品视频| 国产在线精品不卡| 国产二区国产一区在线观看 | 国产精品国产三级国产有无不卡| 久久夜色精品一区| 欧美国产日本韩| 国产精品家庭影院| 一区二区三区色| 亚洲国产精品麻豆| 免费欧美在线视频| 精品无人区卡一卡二卡三乱码免费卡 | 成人妖精视频yjsp地址| 成a人片国产精品| 99久久国产综合色|国产精品| 色综合久久久久久久久| 欧美色图在线观看| 日韩写真欧美这视频| 国产女人aaa级久久久级| 国产精品久久久久一区| 一区二区三区成人| 日韩—二三区免费观看av| 美女视频黄久久| 粉嫩aⅴ一区二区三区四区五区| 99久久国产综合色|国产精品| 欧美少妇bbb| 久久精品视频网| 亚洲午夜久久久久久久久久久 | 欧美日韩精品免费观看视频| 精品国产一区二区三区四区四| 国产拍揄自揄精品视频麻豆| 1区2区3区国产精品| 午夜精品123| 成人激情黄色小说| 欧美日韩综合在线免费观看| 2023国产一二三区日本精品2022| 欧美国产精品中文字幕| 亚洲国产成人91porn| 狠狠色丁香九九婷婷综合五月| 波多野结衣视频一区| 欧美一级片在线观看| 亚洲欧洲av色图| 国模冰冰炮一区二区| 欧美体内she精高潮| 中文字幕不卡在线播放| 日本美女视频一区二区|