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

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

?? switch.c

?? Interface 4x4 matrix keypad with 8051 IO
?? C
?? 第 1 頁 / 共 2 頁
字號:
							AddQueue(c13,&key_buff);
							} else { 
								surekey=toupper(c13);
								AddQueue(toupper(c13),&key_buff);
							}
						 }
			             break;
				case 14: if (!scrollmode) {
							surek=1; 
							//AddQueue(0x0D,&key_buff);
							//surekey=0x0D;
							surekey=c14;
							AddQueue(c14,&key_buff);
						 }
						 break;
				case 15: if (!scrollmode) {
							surek=1; 
							if (!big) {
							surekey=c15;
							AddQueue(c15,&key_buff);
							} else { 
								surekey=toupper(c15);
								AddQueue(toupper(c15),&key_buff);
							}
						 }
			             break;
			}
		} // if (newp_l&a)
		a=a<<1;
	} // for (b=0;b<16;b++)
   }  // if(newp_l)    
}

void keyscan(void) small using 3
{

  u8  j;
  u16 i;

  switch(rowcnt) {
    case 0: I2C_Write_Keypad(0x7F); //01111111b row3
	        break;
    case 1: I2C_Write_Keypad(0xBF); //10111111b row2
   		    break;
    case 2: I2C_Write_Keypad(0xDF); //11011111b row1
			break;
    case 3: I2C_Write_Keypad(0xEF); //11101111b row0
		    break;
  }
  newscan=(newscan<<4)|(I2C_Read_Keypad()&0x0F);
  rowcnt++;
  if(rowcnt==4) {
    rowcnt=0;
    if(newscan!=oldscan) {
      newpush=(oldscan^newscan)&oldscan;
    
	  if (newrelease!=newpush) {					//detect other key
          if (!numkey) {
		  storekey(newrelease, *(smallkeys[0]+k), *(smallkeys[1]+k), *(smallkeys[2]+k), *(smallkeys[3]+k), 
				               *(smallkeys[4]+k), *(smallkeys[5]+k), *(smallkeys[6]+k), *(smallkeys[7]+k),
					           *(smallkeys[8]+k), *(smallkeys[9]+k), *(smallkeys[10]+k), *(smallkeys[11]+k),
							   *(smallkeys[12]+k), *(smallkeys[13]+k), *(smallkeys[14]+k), *(smallkeys[15]+k)); 
		  k=0;
		  } else storekey(newrelease, '1', '2', '3', '#', '4', '5', '6','$', '7', '8', '9', '%', '^', '0', '@', '_');
	  }  
   	  if ((newrelease==newpush)&&newpush) k++;     //detect same key

	  newrelease=(oldscan^newscan)&newscan;
      if(newpush) {
		i=1;		
		for (j=0;j<16;j++) {
		  if (newpush&i) {
			  switch(j) {
			    case 0: if (scrollmode) scrollhome=1;
					    else { 
							tempk=1;
							fastkey='1';
							if (*(smallkeys[0]+k)==0) k=0;
							if (!numkey) {
							if (!big)
							tempkey=*(smallkeys[0]+k);
							else tempkey=toupper(*(smallkeys[0]+k));
							} else tempkey='1';
							printf("%c\n",tempkey);
						}
				        break;
			    case 1: if (scrollmode) scrollup=1;
						else { 
							tempk=1;
							fastkey='2';
							if (*(smallkeys[1]+k)==0) k=0;
							if (!numkey) {
							if (!big)
							tempkey=*(smallkeys[1]+k);
							else tempkey=toupper(*(smallkeys[1]+k));
							} else tempkey='2';
							printf("%c\n",tempkey);
						}
				        break;
			    case 2: if (scrollmode) scrollpup=1;
						else {
							tempk=1;
							fastkey='3';
							if (*(smallkeys[2]+k)==0) k=0;
							if (!numkey) {
							if (!big)
							tempkey=*(smallkeys[2]+k);
							else tempkey=toupper(*(smallkeys[2]+k));
							} else tempkey='3';
							printf("%c\n",tempkey);
						}
						break;
				case 3: if (!scrollmode) menu=1;	
						break;
				case 4: if (scrollmode) scrollleft=1;
						else {
							tempk=1;
							fastkey='4';
							if (*(smallkeys[4]+k)==0) k=0;
							if (!numkey) {
							if (!big)
							tempkey=*(smallkeys[4]+k);
							else tempkey=toupper(*(smallkeys[4]+k));
							} else tempkey='4';
							printf("%c\n",tempkey);
						}
				        break;
				case 5: if (!scrollmode) {
							tempk=1;
							fastkey='5';
							if (*(smallkeys[5]+k)==0) k=0;
							if (!numkey) {
							if (!big)
							tempkey=*(smallkeys[5]+k);
							else tempkey=toupper(*(smallkeys[5]+k));
							} else tempkey='5';
							printf("%c\n",tempkey);
						}
				        break;
				case 6: if (scrollmode) scrollright=1;
						else {
							tempk=1;
							fastkey='6';
							if (*(smallkeys[6]+k)==0) k=0;
							if (!numkey) {
							if (!big)
							tempkey=*(smallkeys[6]+k);
							else tempkey=toupper(*(smallkeys[6]+k));
							} else tempkey='6';
							printf("%c\n",tempkey);
						}
				        break;
				case 7: switch (n) {
						case 0: big=1;numkey=0;scrollmode=0;n=1;
							    break;
						case 1: big=0;numkey=1;scrollmode=0;n=2;
								break;
						case 2: big=0;numkey=0;scrollmode=1;n=3;
//     							send_command(T1G1);         // Text on, Graphic on, Cursor off
	    						break;
						case 3: big=0;numkey=0;scrollmode=0;n=0;
//								send_command(T1G1|C1B1);    // Text on, Graphic on, Cursor on, Blink on
								break;
//						case 0: big=1;numkey=1;scrollmode=0;n=1;
//							    break;
//						case 1: big=1;numkey=0;scrollmode=1;n=2;
//								send_command(T1G1);         // Text on, Graphic on, Cursor off
//								break;
//						case 2: big=1;numkey=0;scrollmode=0;n=0;
//								send_command(T1G1|C1B1);    // Text on, Graphic on, Cursor on, Blink on
//								break;
						};
						//if (big==0)
						//	 if (numkey==0) big=1;
						//	 else {numkey=0;big=0;}
						//	 else if (numkey==0){big=0;numkey=1;}
						  //        else numkey=0;							 
//						 printf("big=%bd",big?1:0);
//						 printf("numkey=%bd",numkey?1:0);
						break;
				case 8: if (scrollmode) scrollend=1;
						else {
							tempk=1;
							fastkey='7';
							if (*(smallkeys[8]+k)==0) k=0;
							if (!numkey) {
							if (!big)
							tempkey=*(smallkeys[8]+k);
							else tempkey=toupper(*(smallkeys[8]+k));
							} else tempkey='7';
							printf("%c\n",tempkey);
						}
				        break;
			    case 9: if (scrollmode) scrolldown=1;
						else {
							tempk=1;
							fastkey='8';
							if (*(smallkeys[9]+k)==0) k=0;
							if (!numkey) {
							if (!big)
							tempkey=*(smallkeys[9]+k);
							else tempkey=toupper(*(smallkeys[9]+k));
							} else tempkey='8';
							printf("%c\n",tempkey);
						}
				        break;
				case 10: if (scrollmode) scrollpdown=1;
						 else {
							tempk=1;
							fastkey='9';
							if (*(smallkeys[10]+k)==0) k=0;
							if (!numkey) {
							if (!big)
							tempkey=*(smallkeys[10]+k);
							else tempkey=toupper(*(smallkeys[10]+k));
							} else tempkey='9';
							printf("%c\n",tempkey);
						 }
				         break;
 				case 11: if (!scrollmode)
						 previous=1;
						 if (tempk) tempk=0;
						 else tempk=1;
                         tempk=1;
					     tempkey=0x5F;
						 AddQueue('%',&key_buff);
					     break;
				case 12: if (!scrollmode)
						 backsp=1;
						 if (tempk) tempk=0;
						     else tempk=1;
                         tempk=1;
					     tempkey=0x5F;
						 AddQueue(0x08,&key_buff);
					     break;
				case 13: if (!scrollmode) { 
							tempk=1;
							fastkey='0';
 							if (*(smallkeys[13]+k)==0) k=0;
							if (!numkey) {
							if (!big)
							tempkey=*(smallkeys[13]+k);
							else tempkey=toupper(*(smallkeys[13]+k));
							} else tempkey='0';
							printf("%c\n",tempkey);
						 }
				         break;
				case 14: if (!scrollmode) 
						 enter=1;
		//				 if (tempk) tempk=0;
		//				     else tempk=1;
						 big=1;numkey=0;scrollmode=0;n=0;	// Go to normal mode after enter
//						 send_command(T1G1|C1B1);			// Text on, Graphic on, Cursor on, Blink on				 tempk=1;
					     tempkey=0x5F;
						 AddQueue(0x0D,&key_buff);
		                 break;
				case 15: if (!scrollmode)
						 next=1;
						 if (tempk) tempk=0;
						 else tempk=1;
                         tempk=1;
					     tempkey=0x5F;
						 AddQueue('_',&key_buff);
					     break;
			  }
          } // if (newpush&i)
		  i=i<<1;
		}  // for (j=0;j<16;j++)
      } // if(newpush)
      oldscan=newscan;
	  l=0;
    } //if(newscan!=oldscan)

	l++;
	if (l==15) {
		l=0;
		if (!numkey) {
		  storekey(newrelease, *(smallkeys[0]+k), *(smallkeys[1]+k), *(smallkeys[2]+k), *(smallkeys[3]+k), 
				               *(smallkeys[4]+k), *(smallkeys[5]+k), *(smallkeys[6]+k), *(smallkeys[7]+k),
					           *(smallkeys[8]+k), *(smallkeys[9]+k), *(smallkeys[10]+k), *(smallkeys[11]+k),
							   *(smallkeys[12]+k), *(smallkeys[13]+k), *(smallkeys[14]+k), *(smallkeys[15]+k)); 
		newrelease=0;
		} else { 
			storekey(newrelease, '1', '2', '3', '#', '4', '5', '6','$', '7', '8', '9', '%', '^', '0', '@', '_');
		    newrelease=0;    
		}

	}
   
  } //if(rowcnt==4)
}
#endif
// ~10 ms
bit oneSecInt = 0;
//bit tenSecInt = 0;
//bit oneMinInt = 0;
//bit tenMinInt = 0;
//extern bit DecodeKb;
extern u8 bitCounter;

#define keyscanivl  -34300
void timer1(void) small interrupt 3 using 3
{
	static u8 oneSec=0;
//	static u16 tenSec=0;
//	static u16 oneMin=0;
//	static u16 tenMin=0;
   	TH1=keyscanivl>>8;
	TL1=keyscanivl&0x00FF;
	//bitCounter=11;	//Workaround
	if(bitCounter==11) ScanSwitch();	//Scan Switch only when no keyboard interrupt
	//ScanSwitch();
   //if(!KbInt) ScanSwitch();
	oneSec++;
	if(oneSec==100) {
		oneSecInt=1;
		oneSec=0;
		
		//if(DecodeKb||(bitCounter==10)) {		
		 //	bitCounter=11;
		//	DecodeKb=0;
		//}

	}
//	tenSec++;
//	if(tenSec==1000) {
//		tenSecInt=1;
//		tenSec=0;
//	}
//	oneMin++;
//	if(oneMin==6000) {
//		oneMinInt=1;
//		oneMin=0;
//	}
//	tenMin++;
//	if(tenMin==60000) {
//		tenMinInt=1;
//		tenMin=0;
//	}
//	keyscan();
//  oneminute++;
//  if (oneminute==1000) {
//  if (oneminute==60000) {		//ten minutes
//	  oneminute=0;
//	  standby=1;
//  }
}

void init_switch(void)
{
  TMOD |= 0x10;               // Timer 1, Mode 1, 16-bit
  TH1   = keyscanivl>>8;
  TL1   = keyscanivl&0x00FF;
  ET1   = 1;                  // Enable Timer 1 Overflow Interrupt
  TR1   = 1;                  // Timer 1 Run
  Init_queue(&switch_buff);
//  Init_queue(&key_buff);
//  I2C_Write_Keypad(0xff);

}





//#endif 
/*------------------------------------------------------------------*-
  ---- END OF FILE -------------------------------------------------
-*------------------------------------------------------------------*/




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区香蕉蜜桃| 欧美日韩综合不卡| 91网页版在线| 精品久久久久久久久久久院品网 | 欧美不卡一区二区三区四区| 国产精品久久久一区麻豆最新章节| 香蕉影视欧美成人| 色av一区二区| 国产精品国产三级国产aⅴ中文| 免费人成在线不卡| 在线不卡免费欧美| 一区二区三区在线免费播放| 成人国产精品免费| 久久久综合视频| 美女一区二区在线观看| 欧美电影在哪看比较好| 亚洲综合av网| 一本一本大道香蕉久在线精品| 欧美精品一区二区三区在线播放 | 亚洲一区二区欧美| 91麻豆精东视频| 亚洲色图.com| 91丨九色丨黑人外教| 欧美激情综合五月色丁香| 国产主播一区二区三区| 欧美成人一区二区| 精品一区二区在线视频| 欧美成人在线直播| 精品制服美女久久| 久久久久青草大香线综合精品| 久久国产精品色| 亚洲精品在线观看网站| 国产91在线|亚洲| 国产精品久久久久永久免费观看| 国产精选一区二区三区| 中文字幕免费一区| 色综合咪咪久久| 亚洲国产成人高清精品| 91.麻豆视频| 精品在线一区二区三区| 亚洲国产精品黑人久久久| 99在线精品观看| 亚洲在线视频网站| 欧美一区二区三区人| 精品无人码麻豆乱码1区2区| 日本一区二区三区免费乱视频| 不卡大黄网站免费看| 一区二区三区中文字幕精品精品 | 午夜精品视频在线观看| 日韩片之四级片| 久久99精品久久久久久| 国产人成一区二区三区影院| 色婷婷亚洲综合| 日本aⅴ亚洲精品中文乱码| 久久久久亚洲蜜桃| 91精品办公室少妇高潮对白| 日本中文一区二区三区| 国产精品久久夜| 制服丝袜在线91| 国产91综合一区在线观看| 亚洲夂夂婷婷色拍ww47| 精品精品欲导航| 91日韩在线专区| 人人爽香蕉精品| 中文字幕字幕中文在线中不卡视频| 欧美亚洲高清一区二区三区不卡| 久久精品国产免费看久久精品| 中文字幕制服丝袜成人av| 欧美日韩国产综合视频在线观看| 国产乱色国产精品免费视频| 亚洲一区二区三区自拍| 久久综合中文字幕| 在线观看一区二区视频| 国产精品一区二区男女羞羞无遮挡| 亚洲黄色片在线观看| 精品国产亚洲在线| 欧美在线999| 丁香五精品蜜臀久久久久99网站 | 欧美一区二区在线不卡| 成人av在线影院| 久久er99精品| 亚洲一区二区黄色| 国产精品黄色在线观看| 久久免费美女视频| 欧美一级高清片| 在线一区二区观看| 国产suv精品一区二区883| 久久精品噜噜噜成人88aⅴ| 一区二区免费看| 亚洲欧洲国产专区| 精品国产一区二区三区久久久蜜月 | 国产精品九色蝌蚪自拍| 欧美成人在线直播| 91精品午夜视频| 欧美午夜在线观看| 99re热视频精品| 成人av影院在线| 国产精品99久| 国产一二三精品| 美女视频一区二区三区| 五月综合激情网| 偷拍一区二区三区| 亚洲777理论| 婷婷夜色潮精品综合在线| 亚洲午夜电影网| 一二三区精品福利视频| 亚洲欧美偷拍卡通变态| 中文字幕一区二区三区在线观看| 国产午夜精品福利| 久久亚洲私人国产精品va媚药| 日韩视频免费观看高清完整版在线观看 | 成人在线综合网| 国产成人av一区二区三区在线观看| 久久电影网站中文字幕| 精品无人码麻豆乱码1区2区 | 日本午夜一本久久久综合| 亚洲国产成人av好男人在线观看| 亚洲美女在线一区| 一区二区三区不卡在线观看| 亚洲精品久久久久久国产精华液| 亚洲精品福利视频网站| 亚洲午夜久久久久久久久久久| 亚洲成精国产精品女| 天天综合色天天综合| 日本不卡的三区四区五区| 理论片日本一区| 国产成人免费在线观看| 成人91在线观看| 欧洲一区二区三区在线| 欧美日韩国产综合草草| 欧美一级日韩不卡播放免费| 欧美v亚洲v综合ⅴ国产v| 久久久久亚洲综合| 综合欧美一区二区三区| 亚洲成av人在线观看| 久久99久久99| 99国产精品国产精品毛片| 在线观看日韩高清av| 欧美tk—视频vk| 中文字幕日韩一区| 午夜视频久久久久久| 国产真实精品久久二三区| 91污在线观看| 日韩欧美精品三级| 最新热久久免费视频| 午夜精品福利在线| 国产精品一区二区在线播放| 99re在线精品| 日韩小视频在线观看专区| 亚洲国产岛国毛片在线| 亚洲高清久久久| 国产一区二区三区综合| 欧美性猛交一区二区三区精品| 精品国产欧美一区二区| 日韩毛片精品高清免费| 久久激情五月激情| 欧美影院午夜播放| 日本一区二区三区视频视频| 水蜜桃久久夜色精品一区的特点| 国产成人综合在线播放| 欧美军同video69gay| 中文字幕日韩一区二区| 国内一区二区视频| 欧美撒尿777hd撒尿| 中文字幕免费不卡| 免费在线观看视频一区| 色综合久久久久综合| 久久精品人人做人人爽97| 日韩精品乱码av一区二区| 色综合久久久久综合体| 国产欧美日韩不卡| 国产一区二区三区在线观看免费 | 免费看欧美女人艹b| 色噜噜狠狠成人中文综合| 国产亚洲欧美在线| 免费成人美女在线观看| 欧美日韩专区在线| 亚洲欧美激情小说另类| 成人福利在线看| 久久亚洲一区二区三区明星换脸 | 亚洲一区二区成人在线观看| 国产精品性做久久久久久| 日韩一区国产二区欧美三区| 亚洲影院理伦片| 色悠悠久久综合| 亚洲欧洲精品成人久久奇米网| 国产高清一区日本| 久久综合久久综合亚洲| 免费观看在线综合| 欧美一区二区精品在线| 午夜精品一区在线观看| 欧美日韩一区二区三区在线看| 亚洲精品国产a久久久久久| 色婷婷综合久久久中文字幕| 亚洲乱码国产乱码精品精98午夜| 成人动漫中文字幕| 国产精品二三区| 色综合视频在线观看| 亚洲在线观看免费| 欧美午夜免费电影|