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

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

?? jianpan.c

?? 單片機4x4鍵盤程序
?? C
字號:
/***********************************矩陣鍵盤模塊的說明*************************
子程序名稱:jzkey.c
子程序功能:此模塊主要應用于4*4矩陣鍵盤,能實時返回當前的鍵值
子程序調用:
          /*******************************************
          函數名稱: Key_press
          功    能: 檢測是否有鍵按下
          參    數: 無
          返回值  : pressed--有鍵按下時為TRUE,否則為FALSE
          /********************************************/  
          /*******************************************
          函數名稱: Key_scan
          功    能: 掃描所按的鍵并返回鍵值
          參    數: 無
          返回值  : keycode--被按下鍵值
*******************************************************************************/

#include <iom128v.h>
#include <macros.h>
/******************數據類型宏定義******************/
#define uchar unsigned char
#define uint unsigned int
#define TRUE 1
#define FALSE 0
/******************按鍵常量******************/
#define KEY_DDR   DDRA			//按鍵方向定義
#define KEY_PORTO PORTA	  	//按鍵斷口輸出定義
#define KEY_PORTI PINA			//按鍵斷口輸入定義
#define OUT       0xFF	    //輸出常量
#define IN        0xF0		  //輸入常量

/*******************************************
函數名稱: Delayus
功    能: 延時指定微秒(8M晶振)
參    數: US--延時的微秒數(大約,不是很精確,MS越大越準確)
返回值  : 無
/********************************************/
void Delayus(uint US)		  
{
 uint i;
 US=US*5/4;		  	 //5/4是在8MHz晶振下,通過軟件仿真反復實驗得到的數值
 for( i=0;i<US;i++); 
}
/*******************************************
函數名稱: Delayms
功    能: 延時指定毫秒(8M晶振)
參    數: MS--延時的毫秒數
返回值  : 無
/********************************************/
void Delayms(uint MS)		  
{
 uint i,j;
 for( i=0;i<MS;i++)
 for(j=0;j<1141;j++);	//1141是在8MHz晶振下,通過軟件仿真反復實驗得到的數值
}
/*******************************************
函數名稱: Key_press
功    能: 檢測是否有鍵按下
參    數: 無
返回值  : pressed--有鍵按下時為TRUE,否則為FALSE
/********************************************/
uchar Mkey_press(void)
{
 uchar pressed;		 		
 KEY_DDR = OUT;				//定義數據端口為輸出
 KEY_PORTO = 0xF0;			//輸出數據(輸出檢測碼)
 KEY_DDR = IN;				//定義數據端口為輸入
 if(KEY_PORTI != 0xF0)		//檢測是否有鍵按下
 	pressed=TRUE;			//有鍵按下則返回TRUE
 else
 	pressed=FALSE;			//無鍵按下則返回FALSE
 KEY_DDR=OUT;				//數據端口還原為輸出
 return pressed;
}
/*******************************************
函數名稱: Key_scan
功    能: 掃描所按的鍵并返回鍵值
參    數: 無
返回值  : keycode--被按下鍵值
/********************************************/
uchar Mkey_scan(void)
{
 uchar i=0x7F,keycode=0xFF;		//i為掃描碼,
 Delayms(4);					//延時消抖
 if(Mkey_press()==TRUE)			//如果有鍵按下
 {
  	do
	{
	   i=(i<<1|i>>7);		//進行行掃描
	   KEY_DDR=0x0F;		//定義數據端口低四位為輸出,高四位為輸入
	   KEY_PORTO=i;			//輸出掃描碼	   	   
	   Delayms(5);			//防止讀入出錯,加入延時
	   keycode=KEY_PORTI;	//讀入原始鍵碼
	}while((keycode&0xF0)==0xF0);	//是否檢測到被按下按鍵(掃描到就跳出循環,否則繼續掃描)
	
	do
	{	
	}while(Mkey_press()==TRUE);	//等待按鍵釋放(為了防止按一次,執行多次的現象)
	Delayms(5);				//延時消抖										`	
	switch(keycode)				//將原始鍵碼翻譯成0~F
	{
	   case 0xEE:
	   		keycode=0x1;//1
			break;
	   case 0xDE:
	   		keycode=0x2;//2
			break;
	   case 0xBE:
	   		keycode=0x3;//3
			break;
	   case 0x7E:        
	   		keycode=0xc;//上翻
			break;
	   case 0xED:
	   		keycode=0x4;//4
			break;
	   case 0xDD:
	   		keycode=0x5;//5
			break;
	   case 0xBD:
	   		keycode=0x6;//6
			break;
	   case 0x7D:
	   		keycode=0xd;//下翻
			break;
	   case 0xEB:
	   		keycode=0x7;//7
			break;
	   case 0xDB:
	   		keycode=0x8;//8
			break;
	   case 0xBB:
	   		keycode=0x9;//9
			break;
	   case 0x7B:
	   		keycode=0xe;//左移
			break;
	   case 0xE7:
	   		keycode=0xa;//功能
			break;
	   case 0xD7:
	   		keycode=0x0;//0
			break;
	   case 0xB7:
	   		keycode=0xb;//確定
			break;
	   case 0x77:
	   		keycode=0xf;//右移
			break;
	}
 }
 return keycode;  		//返回經過翻譯的鍵碼
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
51精品久久久久久久蜜臀| 国产精品一区不卡| 色妞www精品视频| 亚洲久本草在线中文字幕| 日韩一区二区在线免费观看| 欧美日韩另类一区| 99精品黄色片免费大全| 91在线视频观看| 成人美女视频在线观看18| 波多野结衣在线aⅴ中文字幕不卡| 亚洲va欧美va国产va天堂影院| 亚洲国产成人在线| 中文字幕av一区二区三区免费看| 精品国产成人在线影院| 国产亚洲制服色| 亚洲日本欧美天堂| 中文字幕亚洲综合久久菠萝蜜| 亚洲欧美另类综合偷拍| 亚洲欧美综合另类在线卡通| 福利一区福利二区| 日韩一级片网址| 成人性视频免费网站| 一区二区三区四区高清精品免费观看 | 中文字幕乱码亚洲精品一区| 精品国内片67194| 成人中文字幕在线| 亚洲成a人片在线不卡一二三区| 欧美v国产在线一区二区三区| 国产成人av资源| 亚洲成人tv网| 中文字幕精品综合| 欧美日韩一区二区在线视频| 国产一区二区不卡| 欧美精品久久99| 中文字幕一区二区三区四区不卡| 午夜在线成人av| 韩国三级电影一区二区| 欧美日韩国产电影| 久久这里只有精品6| 极品美女销魂一区二区三区 | 亚洲成a天堂v人片| 久久精品欧美日韩| 亚洲精品你懂的| 26uuu精品一区二区三区四区在线| 99视频在线观看一区三区| 日韩精品亚洲专区| 亚洲少妇中出一区| 国产亚洲精品资源在线26u| 91.成人天堂一区| 色吊一区二区三区| 国产成人在线免费| 美女www一区二区| 亚洲午夜久久久久中文字幕久| 国产精品视频观看| 欧美成人一区二区三区在线观看| 欧美午夜电影一区| 一本到三区不卡视频| 国产成人精品aa毛片| 国产综合成人久久大片91| 日本午夜一本久久久综合| 亚洲一区二区三区精品在线| 亚洲欧洲一区二区在线播放| 国产视频一区在线观看| 欧美xingq一区二区| 欧美一区二区在线视频| 在线观看精品一区| 色综合亚洲欧洲| 波多野结衣在线aⅴ中文字幕不卡| 国产一区二区在线看| 麻豆91免费观看| 久久97超碰国产精品超碰| 亚洲成av人**亚洲成av**| 亚洲午夜三级在线| 亚洲福利一二三区| 肉色丝袜一区二区| 日本欧美韩国一区三区| 日韩国产欧美在线观看| 日日夜夜精品免费视频| 日韩黄色免费电影| 人禽交欧美网站| 日产国产高清一区二区三区| 日韩在线一区二区| 美女一区二区视频| 精品亚洲成a人| 国产精品99久久久久| 懂色av一区二区三区蜜臀 | 国产欧美在线观看一区| 国产日产欧美一区二区三区| 国产欧美精品在线观看| 国产精品免费丝袜| 亚洲国产精品久久不卡毛片| 午夜视频久久久久久| 日韩**一区毛片| 国产一区二区三区在线观看免费| 国产一区91精品张津瑜| 成人app网站| 欧美性猛交一区二区三区精品| 欧美挠脚心视频网站| 日韩色在线观看| 国产欧美日韩精品a在线观看| 最好看的中文字幕久久| 性做久久久久久久免费看| 蜜臀av国产精品久久久久| 国产精品夜夜嗨| 99久久精品国产毛片| 欧美日韩三级一区| 久久久久久久av麻豆果冻| 亚洲图片激情小说| 免费的国产精品| 成人精品免费网站| 欧美中文字幕一区二区三区亚洲| 日韩一区和二区| 国产精品第13页| 视频一区国产视频| 国产.欧美.日韩| 欧洲国内综合视频| 久久综合色综合88| 亚洲伦理在线精品| 久久99久久久欧美国产| 一本大道综合伊人精品热热| 欧美xxxxx牲另类人与| 亚洲男人天堂av| 久久精品国产亚洲高清剧情介绍| 99在线热播精品免费| 91精品国产色综合久久不卡电影| 久久九九全国免费| 天堂蜜桃91精品| 91女厕偷拍女厕偷拍高清| 欧美变态tickle挠乳网站| 亚洲与欧洲av电影| 国产91精品一区二区| 91精品蜜臀在线一区尤物| 亚洲欧美色一区| 韩国精品免费视频| 在线不卡免费av| 亚洲久草在线视频| 成人性生交大片免费看中文| 日韩一级片在线播放| 亚洲一区二区三区在线看| 成人黄色片在线观看| 欧美成人伊人久久综合网| 亚洲高清免费视频| 一本久道中文字幕精品亚洲嫩 | 国产精品不卡视频| 国产综合久久久久久久久久久久| 欧美精品在线观看播放| 亚洲男人天堂av| 不卡区在线中文字幕| 久久只精品国产| 精品一二三四区| 日韩欧美区一区二| 日韩精品五月天| 欧美日韩中文一区| 一区二区三区不卡在线观看| 成人国产在线观看| 欧美高清一级片在线观看| 国产乱人伦偷精品视频免下载| 中文字幕一区二区三区不卡在线 | 亚洲另类春色国产| www.色精品| 亚洲成av人影院| 欧美电影免费观看高清完整版在线观看| 亚洲精品视频一区| 日韩一卡二卡三卡国产欧美| 美国毛片一区二区| 激情综合色综合久久| av爱爱亚洲一区| 91女神在线视频| 宅男噜噜噜66一区二区66| 天天爽夜夜爽夜夜爽精品视频| 欧洲视频一区二区| 亚洲大型综合色站| 51精品视频一区二区三区| 免费成人美女在线观看.| 欧美一二区视频| 精品一区免费av| 久久久777精品电影网影网| 高清不卡在线观看av| 国产亚洲va综合人人澡精品 | 日韩av电影免费观看高清完整版 | 成人免费视频一区| 亚洲欧美在线视频| 91国产视频在线观看| 五月婷婷另类国产| 欧美成人激情免费网| 国产精品888| 亚洲欧美一区二区三区极速播放| 欧美性欧美巨大黑白大战| 秋霞av亚洲一区二区三| 精品国产人成亚洲区| 成人教育av在线| 亚洲一区国产视频| 精品免费一区二区三区| 国产成人午夜片在线观看高清观看| 亚洲国产高清在线观看视频| 色香蕉成人二区免费| 日本不卡视频在线| 国产日韩高清在线| 欧美曰成人黄网| 日产国产欧美视频一区精品|