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

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

?? key_pro.c

?? 在8052下實現(xiàn)電平電壓測試功能,自己開發(fā)的單片系統(tǒng)
?? C
字號:
/*
----------------------------------------------------------
;		(c) Copyright xami All Rights Reserved              
----------------------------------------------------------
;	SOURCE_FILE:    KEY_PRO.C
;	APPLICATION:	80c51\80c52
;	DESCRIPTION:    用戶交互,按鍵處理<程序核心>
;	AUTHOR:         xami
;	DATE:           28 Apr. 2007
----------------------------------------------------------
*/
#include<put_digit.c>		//輸入頻率數(shù)據(jù)
#include<get_digit.c>		//取得頻率數(shù)據(jù)
#include<format.c>			//格式化頻率值,送顯示


void key_process(uchar key)
{

uchar legit_f_num= 0;		//作為輸入的頻率是否正確的判斷位

switch(key){
	/*菜單鍵*/
	case 0x18:{								//無條件響應
		mode= in_menu;
		for(i= 0;i<= 9;i++){
		dis_num[i]= menu[mode_list][i];}
		}break;/*end case 0x18*/
	
	/*向上、向下鍵處理*/
	//up:
	case 0x28:{								//菜單、設置幅度模式下響應
	if(mode== in_menu){																			//+菜單模式下
		if(mode_list< 5){
		mode_list++;
		for(j= 0;j<= 9;j++){
		dis_num[j]= menu[mode_list][j];}
		}else{					//直接顯示err_
		show_err();}
	}else if((mode== in_submenu) && (mode_list== SE_U)){		//+設置幅度模式下
		if(mode_set_u_list< 5){
		mode_set_u_list++;
		for(j= 0;j<= 9;j++){
		dis_num[j]= u_step[mode_set_u_list][j];}
		}else{
		show_err();}
	}else if((mode== in_submenu) && (mode_list== STEP)){		//+步進顯示模式
		if(have_step== 0){
			show_err();
		}else{
		if(step_i< 10){
		step_i++;
		for(j= 0;j<= 3;j++){							//voltage
		dis_num[j]= step_u[step_i][j];}
		temp_f= step_i*step_long + setf_f;	
		panduan();	
		for(j= 4;j<= 9;j++){							//frequency(為簡化計算,直接對緩存的頻率顯存改變)
		dis_num[j]= digit_temp[j-4];}
		}else{		
		show_err();}
		}			
	}else{show_err();}				//其他模式下,直接顯示err_	
	}break;/*end case 0x28*/

	//down:
	case 0x48:{								//菜單、設置幅度模式下響應
	if(mode== in_menu){																			//+菜單模式下
		if(mode_list> 0){
		mode_list--;
		for(j= 0;j<= 9;j++){
		dis_num[j]= menu[mode_list][j];}
		}else{						//直接顯示err_
		show_err();}
	}else if((mode== in_submenu) && (mode_list== SE_U)){		//+設置幅度模式下
		if(mode_set_u_list> 0){
		mode_set_u_list--;
		for(j= 0;j<= 9;j++){
		dis_num[j]= u_step[mode_set_u_list][j];}
		}else{
		show_err();}
	}else if((mode== in_submenu) && (mode_list== STEP)){		//+步進顯示模式
		if(have_step== 0){
			show_err();
		}else{
		if(step_i> 0){
		step_i--;
		for(j= 0;j<= 3;j++){						//voltage
		dis_num[j]= step_u[step_i][j];}
		temp_f= step_i*step_long + setf_f;		
		panduan();	
		for(j= 4;j<= 9;j++){						//frequency(為簡化計算,直接對緩存的頻率顯存改變)
		dis_num[j]= digit_temp[j-4];}
		}else{		
		show_err();}
		}			
	}else{show_err();}				//其他模式下,直接顯示err_	
	}break;/*end case 0x48*/

	//確認鍵處理
	case 0x88:{							//無條件響應,判斷在哪個菜單下,相應處理
	if(mode == in_menu){							//+在主菜單模式下//
		mode= in_submenu;	//轉(zhuǎn)到子菜單
		switch(mode_list){
			case SH_O:{						//+顯示零偏
			if(u_zero!= 0){
			/*
			dis_num[9]=	0x6D;
			dis_num[8]=	0x76;
			dis_num[7]=	0x08;
			dis_num[6]=	0x3F;
			*/
			dis_num[5]= digit[0][((int)(u_zero/100))%10];
			dis_num[4]= digit[0][((int)(u_zero/10))%10];
			dis_num[3]= digit[1][((int)u_zero)%10];
			dis_num[2]= digit[0][((int)(u_zero*10))%10];
			dis_num[1]= digit[0][((int)(u_zero*100))%10];
			dis_num[0]= digit[0][((int)(u_zero*1000))%10];		
			}else{							//顯示"null"
			show_null();
			}
			return;
			}break;

			case SH_F:{						//+顯示頻率
			if(setf_f== 0){						//未設定過頻率,顯示null			
			show_null();
			}else{								//設定過頻率,則把值放入顯存
			//結果放進顯存
			/*
			dis_num[0]=	0x6D;
			dis_num[1]=	0x76;
			dis_num[2]=	0x08;
			dis_num[3]=	0x71;
			*/
			//把頻率放真值放到臨時頻率,以便運行下面的panduan(),生成想要的頻率顯存
			temp_f= setf_f;	
			panduan();	
			dis_num[4]= digit_temp[0];
			dis_num[5]= digit_temp[1];
			dis_num[6]= digit_temp[2];			
			dis_num[7]= digit_temp[3];			
			dis_num[8]= digit_temp[4];			
			dis_num[9]= digit_temp[5];
			return;
			}
			}break;	
			
			case SH_U:{						//+顯示電壓
			res_u= get_u();
			res_u+= u_zero;			//加上零偏值
			/*
			dis_num[0]=	0x6D;
			dis_num[1]=	0x76;
			dis_num[2]=	0x08;
			dis_num[3]=	0x3E;
			*/
			dis_num[4]= digit[0][((int)(res_u/100))%10];
			dis_num[5]= digit[0][((int)(res_u/10))%10];
			dis_num[6]= digit[1][((int)res_u)%10];
			dis_num[7]= digit[0][((int)(res_u*10))%10];
			dis_num[8]= digit[0][((int)(res_u*100))%10];
			dis_num[9]= digit[0][((int)(res_u*1000))%10];
			return;
			}break;		
			
			case SE_F:{
			//初始化數(shù)字緩存
			digit_temp[0]= 0x00;
			digit_temp[1]= 0x00;
			digit_temp[2]= 0x00;
			digit_temp[3]= 0x00;
			digit_temp[4]= 0x00;
			digit_temp[5]= 0x00;	
			for(i= 0;i< 6;i++){
			have_p[i]= 0;}
			w= 6;						
			}break;
	
			case SE_U:{
			for(i= 0;i<= 9;i++){
			dis_num[i]= u_step[mode_set_u_list][i];}
							
			}break;	

			case STEP:{
			//初始化數(shù)字緩存
			digit_temp[0]= 0x00;
			digit_temp[1]= 0x00;
			digit_temp[2]= 0x00;
			digit_temp[3]= 0x00;
			digit_temp[4]= 0x00;
			digit_temp[5]= 0x00;	
			for(i= 0;i< 6;i++){
			have_p[i]= 0;}
			w= 6;							
			}break;
			
			default: break;
		}		
	}else if(mode == in_submenu){			//+在子菜單模式下//
		//mode = in_menu;
		switch(mode_list){
			case SH_O:{				
				mode= in_menu;
				for(i= 0;i<= 9;i++){
				dis_num[i]= menu[mode_list][i];}					
			}break;
		
			case SH_F:{				
				mode= in_menu;
				for(i= 0;i<= 9;i++){
				dis_num[i]= menu[mode_list][i];}					
			}break;

			case SH_U:{				
				mode= in_menu;
				for(i= 0;i<= 9;i++){
				dis_num[i]= menu[mode_list][i];}					
			}break;

			case SE_F:{				
		while(legit_f_num == 0){			//是合法的頻率退出						
			key= get_digit();
			setf_f= temp_f;
			if(key == 0x18){
				mode= in_menu;	
				for(i= 0;i<= 9;i++){
				dis_num[i]= menu[mode_list][i];}	
				return;			
			}

			/*判斷是不是合法的頻率,合法則使循環(huán)結束*/
			if((setf_f> 0) && (setf_f< 20971520)){				//0~20 MHz
				show_good();
				legit_f_num = 1;		//跳出while(legit_f_num == 0)
			}else{
				show_err();
			}
		}//end for "while(legit_f_num == 0)"
				mode= in_menu;
				for(i= 0;i<= 9;i++){
				dis_num[i]= menu[mode_list][i];}			
			//送ad9851,產(chǎn)生相應的頻率		
			input9851(setf_f);				
			}

			case SE_U:{				
			switch(mode_set_u_list){			//硬件開關轉(zhuǎn)換
				case 0:{
					P2_2=1;
					P2_3=0;
					P2_4=1;	
				}break;
				case 1:{
					P2_2=0;
					P2_3=0;
					P2_4=1;	
				}break;
				case 2:{
					P2_2=1;
					P2_3=1;
					P2_4=0;	
				}break;
				case 3:{
					P2_2=0;
					P2_3=1;
					P2_4=0;	
				}break;
				case 4:{
					P2_2=1;
					P2_3=0;
					P2_4=0;	
				}break;
				case 5:{
					P2_2=0;
					P2_3=0;
					P2_4=0;			
				}break;
				default: break;
			}
				mode= in_menu;
				for(i= 0;i<= 9;i++){
				dis_num[i]= menu[mode_list][i];}				
			}break;

			case STEP:{				
		while(legit_f_num == 0){			//是合法的頻率退出						
			key= get_digit();
			if(key == 0x18){
				mode= in_menu;
				for(i= 0;i<= 9;i++){
				dis_num[i]= menu[mode_list][i];}
				return;
			}
			step_f= temp_f;						
			/*判斷是不是合法的頻率,合法則使循環(huán)結束*/
			if((step_f> 0) && (step_f< 10971520)){		//0MHz~(20MHz-10000000)    (*和設置頻率不同點,以便10次步進后為20MHz)
				show_good();
				legit_f_num = 1;		//跳出while(legit_f_num == 0)
			}else{
				show_err();
			}
		}//end for "while(legit_f_num == 0)"
				mode= in_menu;
				for(i= 0;i<= 9;i++){
				dis_num[i]= menu[mode_list][i];}	
			//計算步進值,并送ad9851,產(chǎn)生相應的頻率,
			if(step_f< 100)step_long= 10;
			else if(step_f< 1000)step_long= 100;
			else if(step_f< 10000)step_long= 1000;				
			else if(step_f< 100000)step_long= 10000;				
			else if(step_f< 1000000)step_long= 100000;				
			else step_long= 1000000;				
				
			for(i= 0;i<= 10;i++){					//實際進行11次步進
				temp_f= i*step_f;
				input9851(temp_f);
				delay(7);										//等待頻率穩(wěn)定
				res_u= get_u();
				res_u+= u_zero;			//加上零偏值
			/*
			dis_num[0]=	0x6D;
			dis_num[1]=	0x76;
			dis_num[2]=	0x08;
			dis_num[3]=	0x3E;
			*/
				//不高兩位
				//dis_num[4]= digit[0][((int)(res_u/100))%10];
				//dis_num[5]= digit[0][((int)(res_u/10))%10];
				step_u[i][0]= digit[1][((int)res_u)%10];
				step_u[i][1]= digit[0][((int)(res_u*10))%10];
				step_u[i][2]= digit[0][((int)(res_u*100))%10];
				step_u[i][3]= digit[0][((int)(res_u*1000))%10];			
				show_good();//步進完一次顯示一下成功(因為此過程可能比較長,使用戶知道還在正常運行)			
			}
			have_step= 1;															//設置過步進(用于向上、向下鍵控制時的判斷)
			if((step_f> 0) && (step_f< 20971520)){		//再控制ad9851設置為設定的頻率
				input9851(setf_f);
			}		
		
			}break;
			
			default:break;
		
		}		
	}else{														//+別的情況//
		show_err();
	}	
	}break;/*end case 0x88*/
	
default:break;
}/*end switch(key)*/
}/*end key_process*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人伦禁忌dvd放荡欲情| 国产精品亚洲а∨天堂免在线| 99精品视频在线观看免费| 久久网站热最新地址| 国产高清久久久久| 国产精品免费久久| 一本一道久久a久久精品| 一区二区高清在线| 欧美女孩性生活视频| 免费成人小视频| 久久综合中文字幕| 99久久精品免费看国产| 亚洲最新视频在线观看| 欧美一区二区人人喊爽| 国产一区二区三区四区五区美女| 欧美极品xxx| 欧美在线你懂得| 久久99蜜桃精品| 中文字幕亚洲视频| 91精品国产综合久久久蜜臀粉嫩| 精久久久久久久久久久| 成人免费在线视频| 91精品国产福利| 懂色av一区二区三区蜜臀| 亚洲精品欧美综合四区| 日韩欧美亚洲国产另类| 豆国产96在线|亚洲| 午夜激情一区二区| 久久精品亚洲乱码伦伦中文| 在线区一区二视频| 国产精品一区在线观看乱码| 亚洲国产日日夜夜| 久久久久国产精品厨房| 欧美日韩国产高清一区二区 | 久久丝袜美腿综合| 色综合色综合色综合| 精品亚洲欧美一区| 亚洲成人免费av| 国产精品欧美久久久久无广告| 欧美日韩黄色影视| 91视频国产观看| 国产福利一区在线| 日韩电影一二三区| 亚洲欧美激情小说另类| 国产日韩欧美精品综合| 91精品国产综合久久精品性色| 成人福利视频在线看| 久久成人麻豆午夜电影| 一个色妞综合视频在线观看| 国产偷v国产偷v亚洲高清| 欧美成人猛片aaaaaaa| 欧美日韩中文字幕精品| 91免费观看视频| 国产suv精品一区二区三区| 免费看日韩a级影片| 性做久久久久久免费观看欧美| 国产精品福利电影一区二区三区四区| 日韩美女在线视频 | 91亚洲精品久久久蜜桃网站 | 国产一区在线观看视频| 天天做天天摸天天爽国产一区| 亚洲天天做日日做天天谢日日欢| 欧美精品一区二区三区很污很色的 | 欧美视频日韩视频| 99精品偷自拍| 99久久免费精品| 国产aⅴ综合色| 国产精品影视天天线| 国产又黄又大久久| 国产乱子伦视频一区二区三区| 久久国产精品72免费观看| 日韩成人伦理电影在线观看| 天天综合网 天天综合色| 亚洲成人av一区| 视频一区二区中文字幕| 日韩成人dvd| 久热成人在线视频| 国产精品一卡二| 丁香网亚洲国际| www.性欧美| 在线视频你懂得一区二区三区| 日本精品一区二区三区高清| 91激情五月电影| 欧美视频在线一区| 欧美一区二区在线免费播放 | 青草av.久久免费一区| 丝袜亚洲另类欧美综合| 天天操天天色综合| 麻豆中文一区二区| 国产高清精品在线| av电影天堂一区二区在线观看| 91理论电影在线观看| 在线免费观看日韩欧美| 678五月天丁香亚洲综合网| 日韩免费观看高清完整版| 久久久久久亚洲综合影院红桃| 欧美极品aⅴ影院| 亚洲精品乱码久久久久久日本蜜臀| 一二三区精品福利视频| 免费一级欧美片在线观看| 国产精品一区在线| 色婷婷综合久久久中文字幕| 在线91免费看| 久久毛片高清国产| 亚洲摸摸操操av| 麻豆国产一区二区| 99久久免费精品高清特色大片| 欧美日韩国产天堂| 国产婷婷色一区二区三区在线| 亚洲欧美日韩国产手机在线| 日韩精品一级二级| 成人午夜视频福利| 884aa四虎影成人精品一区| 欧美大片日本大片免费观看| 中文字幕精品—区二区四季| 亚洲一区二区在线免费看| 麻豆精品久久精品色综合| 99免费精品在线| 精品日韩在线一区| 一级特黄大欧美久久久| 韩国女主播一区二区三区| 日本久久电影网| 国产视频一区在线观看 | 日韩午夜在线播放| 亚洲三级理论片| 国产一区二区三区黄视频| 99久久99久久综合| 精品久久久三级丝袜| 亚洲制服丝袜av| 粉嫩蜜臀av国产精品网站| 91精选在线观看| 亚洲精品久久嫩草网站秘色| 激情六月婷婷久久| 91精品国产综合久久香蕉的特点| 一区在线中文字幕| 国产精品88av| 日韩精品一区在线观看| 亚洲专区一二三| av激情亚洲男人天堂| 久久久99免费| 激情偷乱视频一区二区三区| 欧美乱妇一区二区三区不卡视频| 亚洲婷婷国产精品电影人久久| 国产精品一区二区x88av| 91精品国产手机| 日韩精品福利网| 在线观看av一区| 夜夜夜精品看看| 色偷偷成人一区二区三区91| 欧美高清在线精品一区| 精品伊人久久久久7777人| 欧美精品丝袜中出| 亚洲五月六月丁香激情| 日本精品一区二区三区四区的功能| 国产精品日日摸夜夜摸av| 国产成人在线网站| 久久精品日产第一区二区三区高清版| 美腿丝袜一区二区三区| 欧美丰满少妇xxxxx高潮对白| 亚洲一区在线免费观看| 色天使色偷偷av一区二区| 亚洲人成小说网站色在线| 99视频在线观看一区三区| 国产精品福利影院| 色综合一区二区| 一区二区三区蜜桃网| 91黄色激情网站| 午夜私人影院久久久久| 在线电影院国产精品| 热久久免费视频| 欧美精品一区二区久久婷婷| 国产一区二区三区在线看麻豆| 精品国产乱码久久久久久牛牛| 久久99精品国产.久久久久| 精品久久一区二区三区| 国产高清无密码一区二区三区| 国产欧美一区二区精品性| 成人午夜激情片| 亚洲自拍欧美精品| 9191久久久久久久久久久| 久久精品国产99国产精品| 久久综合九色综合97婷婷| 成人在线综合网站| 亚洲三级免费观看| 欧美日韩精品一区二区| 麻豆精品新av中文字幕| 久久精品夜色噜噜亚洲aⅴ| 9i在线看片成人免费| 亚洲一区二区三区四区不卡| 91麻豆精品国产无毒不卡在线观看 | 日韩你懂的电影在线观看| 精品系列免费在线观看| 国产精品乱码一区二三区小蝌蚪| 99精品国产热久久91蜜凸| 亚洲一区二区三区四区在线免费观看| 欧美日本精品一区二区三区| 久久99精品久久久久久国产越南 | 国产精品久久久久久久久久免费看| www.视频一区| 免费成人性网站|