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

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

?? 330_keyboard.c

?? C8051F330部分模塊程序,已經調試成功
?? C
字號:
/******************
Filename:Keyboard.c
Autor:  liuyulong
Date: 4-17 2006
Description:Scan the keyboard and save the num of keyboard,then depend on the num of keyboard
            operation display and control;
History:
       Autor       Date         Version
	   liuyulong  2006-08		   2.1
************/
//全局變量聲明;
extern unsigned int temp;  //溫度轉換緩沖;
extern struct keyboard out;   
extern struct screen setdata; 
unsigned int pcatime;
extern xdata unsigned char screenkeep;           //屏保寄存器;
extern bit powersize;               //控制器開關標志位;為1時控制器打開,為0時整個系統關閉;
unsigned char keytimemenu;
/**********************************************
Function:keyboard
Description:Scan keyboard and control the LCD;
Calls:keyscan(),wind(unsigned char x),delay(),del1s(),void write(unsigned char add,unsigned char da,bit d)
			tempcheck(),closetemp(),colsewind(),returnsetup(),closemode(),closekind()
			numone(unsigned char x),numten(unsigned char x);
Called by:main(),uart0();
***********************************************/
void keyboard()
{
unsigned char keynum,speedh,speedl,temph,templ; 
temph=tempmax;							//Establish the temperature big limits ;
templ=tempmin;                          //Establish the temperature less limits ;
speedh=speedmax;					    //Establish the wind big limits ;
speedl=speedmin;					    //Establish the wind less limits ;
screenkeep++;
if(screenkeep>50)                       //If system scan the func keyboard beyond 50 times ;   
				{
				screenkeep = 50;         //Clear screenkeep Resigter ; 
				out.menu = 0;           //Menu cell cleared ;
				led = 1;             //Close LCD light ;
				delay10ms();            //Delay 10 ms ;
				}
keynum=keyscan();                       //Num of keybosrd scaned ; 
	switch(keynum)
	{
	case 0:break;                       //No key ;
	case 1:								//Menu key is true ;
			led=0;
			screenkeep = 0;
				out.menu++;
				if(out.menu > 5)        //Out.menu memory the system menu ;
	              { 
				  out.menu = 0;			//If Menu num beyond 5 ,out.menu equal 0 ;
				  }		    
    		 break;			                        
	 case 2:							//The key "SUB" is true ;
			screenkeep = 0;
	 		led = 0;
			if(out.menu == 2)           //If menu equal 2,establish temperature memory ;
				{
				out.temp--;				//Establish temperature memory Minus 1;
				}
	 		 else if(out.menu == 3)     //If menu equal 3,establish wind memory ;
			 	{
				if(out.wind < 1)        //Establish wind less limits is zero,if out.wind big to 1,it will minus 1;
	         		{
		        	out.wind = 0;       //If out.wind equal zero ,it will not minus 1; 
			        }
				else out.wind--;
				}
			 else if(out.menu == 4)     //If menu equal 4,establish ;
				 {
				 out.manual = 1;		//manual is true ;
				 out.automode = 0;	//auto mode is false ;
				 }
			 else if(out.menu == 5)     //If menu equal 5,establish
				 {
				 out.heat = 1;	    //heating is true ;
				 out.cool = 0;		//cool is false ;
				 }
			 else ;
			 break;		 
	 case 3:screenkeep = 0;				//If key "ADD" is true ; 
	 		led = 0;	
			if(out.menu==0x02)      	//Some to up ;
				{
				out.temp++;	
				}
	 		 else if(out.menu==0x03)
			 	{
				out.wind++;
				}
			 else if(out.menu==0x04)
			 	{
				out.manual=0;
				out.automode=1;
				}
			 else if(out.menu==0x05)
			 	{
				out.heat=0;
				out.cool=1;				  //Some to up ;
				}
			 else ;
			 break;	
	case 4:	
	        rstsrc = 0x10 ;
			/*
	        powersize = 1 ;		       //Power size is true means system is stop ;
			while(powersize)   			   
			{
			ea = 0 ;        		       //Stop AC electrial machinery ;
			led = 1 ;      		       //Close LCD light ;
			out.wind = 0 ;
			closelcd() ;       			   //Close LCD ;
			pca0cn = 0x00 ;
			while (keynum == 4)			   //If the key "POWER" is not press,wait for press ;
			    { 
				keynum = keyscan ();
				} 
			keynum = 0;
			while (keynum != 4)			   //If the key "POWER" is not press,wait for press ;
			    { 
				keynum = keyscan ();
				}
			while (keynum == 4)			   //If the key "POWER" is not press,wait for press ;
			    { 
				keynum = keyscan ();
				}
				powersize = 0 ;		   //Power size is false means system is working ;
			}							   //The system is working ;
			keynum = 0 ;
			led = false;                   //LCD light open ; 
			ea = true;                     //AC electrial machinery is working ;
			out.menu = false;              //Menu memory is zero;
			out.wind = lastsetupwind;      //The wind of Last system end ;
			out.automode = lastsetupmode;  //The mode of last system end ;
			tempcheck();                   //Scan the temperature of house ;
			display();                     //Scan display;
			*/
			break;
	 }  
	 if(out.menu == 0)                     //If out.menu memory is 1,means have key pressed,first press;
	 	{
		display ();  					   //Scan display;           			   //Delay 1 second ;
	 }  
	 if(out.menu == 1)                     //If out.menu memory is 1,means have key pressed,first press;
	 	{
		display ();  					   //Scan display;
		led = 0;						   //Have key pressed ,so LCD light bright ; 
		del1s ();             			   //Delay 1 second ;
	 }
	if(out.menu == 2)                      //Temperature established flash ;
		{ 
		if(out.temp < templ)               //Temperature established less limits ; 
			{
			out.temp = templ;            
			}
		if(out.temp > temph)               //Temperature established max limits ; 
			{
			out.temp = temph;            
			}
		closetemp();                       //Close temperature display ;
	 	del1s();   
		write(4,3,1);  
 		numone(out.temp % 10);             //Display temperature num one ;
 		numten(out.temp / 10);             //Display temperature num ten ;
	 	del1s();       
		}
	if(out.menu == 3)                      //Wind flash display ;
		{
		if(out.wind < 1)                   //Wind established less limits ;
			{
			out.wind = 0;                 
			}
		if(out.wind > 9)                   //Wind established max limits ;
			{
			out.wind = 10;                 
			}
		closetemp();                       //Close temperature display ;
		closewind();                       //Close wind display ;
	 	del1s();    
		write(4,3,0);
		numone(out.wind);                  //Display wind one ; 
		numten(out.wind / 10);             //Display wind ten ;
		write(0,0,0);
		wind(out.wind);                    //Display wind size ;
	 	del1s();     					   //Delay 1 second ;
		}
	if(out.menu == 4)                      //Mode flash ;
		{
		closemode();                       //Close mode size ;
	 	del1s();    
		if(out.manual == 1)                //If manual mode is true ; 
			{
			write(3,1,1);                  //Display manual mode size ; 
			}
		else 
			{
			write(3,2,1);                  //Else display  auto mode size ;
	 		}
		del1s();   
		}
	if(out.menu == 5)                   	//Heat and cool size flash ;
		{
		closekind();                        //Close heat and cool size ;
	 	del1s();     
		if(out.heat == 1)                   //If heat is true ;
			{
			write(2,1,1);                   //Display heat size ;
			}
		else 
			{
			write(2,2,1);                   //If cool is true , display cool size ;
			}
	    del1s();  
		}
}
/**********************************************
Function:tempcheck
Description:Input the analog temperature of house ,then conventers to digital;   
Called by:main(),keyboard();
***********************************************/
void tempcheck(void){                        //Check temperature of house ;
unsigned int tempaa;
unsigned char time ;
//float f ;
p0mdin = 0xf7 ;
p0mdout = 0xf7 ;
p0skip = 0x08 ;					  //跳過P0.3 作為A/D模擬輸入
delay10ms() ;
ref0cn = 0x0f ;
amx0p = 0x03 ;
amx0n = 0x11 ;        
adc0cf = 0x38;
adc0cn = 0xc0;
temp = 0; 
for (time = 0 ;time < 0x02 ;time ++){
adc0cn |= 0x10;                              //Open the ADC0 conventer
while(ad0int == 0){                          //Waiting conventer over;
	;
	}                                  
tempaa = 0 ;								 //Clear buffer ;
tempaa = (adc0h << 8);                           //Adc0h to buffer ; 
tempaa += adc0l;                               //Adc0l to buffer ;
temp += tempaa ;
}
temp = (temp >> 1) ;
setdata.tempnum = temp / 3 ;
p0mdin = 0xff ;
p0mdout = 0xf7 ;
p0skip = 0x00 ;								 //屏蔽A/D模擬輸入
/*
tempaa = temp % 17;                          //
if(tempaa > 13){	
    setdata.tempnum = 22 ;// temp / 17;
//	setdata.tempnum++;
	}
if (tempaa < 4){
    setdata.tempnum = 22 ;//temp / 17;                 //17:4096/240 is persent 10 microveted;
	}
	*/
}
/**********************************************
Function:SYSCLK_Init
Description:Choose the clock of system;   
Called by:main();
***********************************************/
void SYSCLK_Init (void){
int i; // delay counter
oscxcn = 0x67; // start external oscillator with
// 22.1184MHz crystal
for (i=0; i < 256; i++) ; // XTLVLD blanking interval (>1ms)
while (!(oscxcn & 0x80)) ; // Wait for crystal osc. to settle
oscicn = 0x87;//0x88 // select external oscillator as SYSCLK
oscxcn=0x00;
pcon=0x80;
// source and enable missing clock
// detector
}
/**********************************************
Function:SYSCLK_Init
Description:Enable crossbar and weak pull-ups;   
Called by:main();
***********************************************/
void PORT_Init (void){            
p0mdin = 0xf7 ;
p0mdout = 0xf7 ;
p0skip = 0x08 ;
p1mdin = 0xff ;
p1mdout = 0xff ;
p1skip = 0x00 ;
p2mdout = 0x01 ;
xbr0 = 0x01 ; 
xbr1 = 0x42 ;		  // Enable crossbar and weak pull-ups	
}
void PCA_Init(void){
unsigned int PCA ;
    if(out.wind == 0){
	pca0cn = 0x00 ;
		}
    if (out.wind != 0){
	pca0md = 0x03 ;
	pca0cpm1 = 0xcb ;
	PCA = 2000 * (10 - out.wind) ;
	PCA = 14000 + PCA ;
	pca0cpl1 = PCA ;
    pca0cph1 = (PCA >> 8); 
	pca0cn = 0x40 ;
	    }
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线观看免费网站| 日韩精品一区二区在线| 欧美日本一道本在线视频| 久久综合狠狠综合久久综合88| 日韩理论片中文av| 国产一区在线看| 欧美一区二区在线播放| 伊人婷婷欧美激情| 成人av在线网| 国产三级久久久| 狠狠色丁香婷综合久久| 欧美区视频在线观看| 亚洲精品福利视频网站| 成人激情综合网站| 久久久国产综合精品女国产盗摄| 五月激情综合色| 国产九色sp调教91| 国产精品欧美久久久久一区二区| 午夜欧美在线一二页| 国产乱对白刺激视频不卡| 日本精品视频一区二区三区| 中文字幕一区二区日韩精品绯色| 国产综合一区二区| 亚洲精品一区二区三区在线观看 | 日韩精品一区二区三区视频播放 | 成人性视频免费网站| 精品欧美黑人一区二区三区| 天天操天天色综合| 欧美日韩在线播放三区四区| 一区二区欧美在线观看| 欧美婷婷六月丁香综合色| 夜色激情一区二区| 欧美日韩国产小视频在线观看| 亚洲成人动漫精品| 欧美猛男gaygay网站| 日本美女一区二区三区| 日韩一区二区三区电影在线观看 | 亚洲成av人片一区二区三区| 色婷婷久久综合| 亚洲在线免费播放| 欧美日韩电影一区| 毛片一区二区三区| 精品福利一二区| 成人免费福利片| 亚洲人一二三区| 欧美日韩dvd在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩欧美国产电影| 国产成人精品三级| 亚洲欧美激情插 | 在线视频综合导航| 午夜欧美在线一二页| 精品少妇一区二区三区视频免付费| 久久不见久久见免费视频1| 久久午夜免费电影| 99精品欧美一区二区蜜桃免费| 伊人色综合久久天天人手人婷| 5858s免费视频成人| 国产一区视频网站| 亚洲一区自拍偷拍| 久久久精品免费网站| 色激情天天射综合网| 另类中文字幕网| 中文字幕一区二区三区在线不卡 | 国产在线视视频有精品| 国产精品久久久久永久免费观看 | 久久亚洲影视婷婷| 91在线看国产| 青青草97国产精品免费观看 | 国产呦精品一区二区三区网站| 国产精品成人一区二区艾草 | 欧美色欧美亚洲另类二区| 蜜臀av一区二区| 亚洲色图第一区| 欧美电视剧在线看免费| 95精品视频在线| 国内不卡的二区三区中文字幕| 国产精品色哟哟| 欧美一区二区三区不卡| 99精品视频在线观看免费| 极品销魂美女一区二区三区| 亚洲欧美日韩国产手机在线 | 亚洲精品国产精华液| 欧美成人伊人久久综合网| 在线欧美小视频| 成人午夜大片免费观看| 亚洲a一区二区| 日韩理论在线观看| 久久精品免视看| 欧美一区二区三区视频在线| 欧美综合亚洲图片综合区| 成人性视频免费网站| 久久国产剧场电影| 日韩国产成人精品| 亚洲尤物在线视频观看| 国产精品久久久久永久免费观看 | 在线视频欧美精品| 成人在线一区二区三区| 在线日韩av片| 96av麻豆蜜桃一区二区| 成人福利视频在线看| 国精产品一区一区三区mba桃花| 视频一区二区中文字幕| 亚洲综合一区二区精品导航| 国产精品电影院| 国产天堂亚洲国产碰碰| 久久久影视传媒| 国产午夜精品久久久久久久| 精品欧美一区二区在线观看| 精品入口麻豆88视频| 欧美一卡在线观看| 51久久夜色精品国产麻豆| 欧美区一区二区三区| 7777精品伊人久久久大香线蕉经典版下载 | www.亚洲在线| jizz一区二区| 99久久精品国产毛片| 91日韩精品一区| 91久久精品日日躁夜夜躁欧美| 91蜜桃在线免费视频| 欧美在线免费观看亚洲| 91久久精品日日躁夜夜躁欧美| 91成人免费在线| 在线成人免费视频| 欧美大片在线观看一区| 久久亚洲综合av| 亚洲天堂久久久久久久| 一区视频在线播放| 亚洲午夜精品久久久久久久久| 天天色天天操综合| 极品少妇一区二区| 99视频在线观看一区三区| 色婷婷国产精品综合在线观看| 欧美日韩卡一卡二| 欧美电视剧免费全集观看| 中文字幕国产精品一区二区| 亚洲精品精品亚洲| 91丨九色丨蝌蚪丨老版| 欧美日韩一级片在线观看| 日韩精品一区二区三区四区| 国产精品嫩草影院com| 亚洲主播在线观看| 精品一区二区精品| 99国产精品99久久久久久| 欧美午夜视频网站| 精品国产乱码久久久久久蜜臀| 国产精品不卡在线| 青青青爽久久午夜综合久久午夜 | 欧美性猛交xxxx乱大交退制版| 6080国产精品一区二区| 欧美韩国日本综合| 午夜视频在线观看一区二区三区| 国产精品综合网| 欧美日韩国产综合视频在线观看| 久久婷婷色综合| 亚洲午夜一区二区三区| 国产美女av一区二区三区| 欧美日韩久久久| 国产精品视频一区二区三区不卡| 亚洲国产视频a| 成人高清伦理免费影院在线观看| 欧美丰满高潮xxxx喷水动漫| 国产精品久久久久久久久快鸭| 日日夜夜精品视频天天综合网| 成人免费的视频| 欧美v日韩v国产v| 亚洲成人av福利| 99re热视频精品| 精品久久久久香蕉网| 午夜欧美电影在线观看| 91免费看视频| 国产偷v国产偷v亚洲高清| 麻豆精品视频在线观看免费| 欧美亚洲高清一区二区三区不卡| 国产亚洲一本大道中文在线| 日本美女视频一区二区| 欧美另类高清zo欧美| 亚洲综合图片区| www..com久久爱| 欧美激情一区二区三区全黄| 日韩一区二区在线观看| 一区二区三区不卡在线观看| 成人黄色在线看| 久久久久久久电影| 精品系列免费在线观看| 欧美久久婷婷综合色| 亚洲国产va精品久久久不卡综合 | 欧美刺激脚交jootjob| 水野朝阳av一区二区三区| 欧美亚洲国产怡红院影院| 亚洲精品成人a在线观看| 91在线你懂得| 亚洲另类色综合网站| 91蜜桃在线免费视频| 亚洲女爱视频在线| 在线观看亚洲a| 亚洲国产精品久久久久秋霞影院| 在线日韩av片| 日本成人中文字幕| 日韩精品一区二区三区在线播放 |