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

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

?? all.c

?? ds18b20測溫程序,在keilc51調適通過
?? C
?? 第 1 頁 / 共 2 頁
字號:
   {
    ISP_ADDRL=0x00+i;		//送地址低字節,均從每個扇區的起始地址開始
	ISP_TRIG=0x46;
	ISP_TRIG=0xB9;			//觸發ISP指令
	Delay_short(1);			//短暫延時
	ID[Num][i]=ISP_DATA;	//讀一個字節
   }
  ISP_CONTR=0x00;           //關ISP功能
}
													   
/*ISP寫DS18B20 ID程序                                           */
/*入口參數:1,DS18b20編號(0-4)                                */
/*全局變量:DS18B20的ID號存儲區:ID[5][8]                       */
/*功    能:將某個DS18B20的8字節ID寫入某個扇區內(扇區必須為空)*/
void ISP_Write8(unsigned char Num)
{
  unsigned char i;
  ISP_CONTR=0x81;		    //允許ISP功能,并配制等待時間
  ISP_CMD=ISP_WeiteByte ;   //送ISP字節寫指令
  ISP_ADDRH=0x20+Num*0x02;  //送地址高字節
  for(i=0;i<8;i++)			//寫8字節
   {
    ISP_ADDRL=0x00+i;		//送地址低字節,均從每個扇區的起始地址開始
	ISP_DATA=ID[Num][i];	//送待寫入的一個字節
	ISP_TRIG=0x46;
	ISP_TRIG=0xB9;			//觸發ISP指令
	Delay_short(1);			//短暫延時
   }
  ISP_CONTR=0x00;           //關ISP功能
}

/*ISP擦除扇區指令                                */
/*入口參數:對應扇區的器件號(0-4)              */
/*全局變量:無                                   */
/*功    能:將某個扇區擦除                       */
void ISP_Eraser(unsigned char Num)
{
  ISP_CONTR=0x81;		     //允許ISP功能,并配制等待時間
  ISP_CMD=ISP_Erase ;        //送ISP擦除扇區指令
  ISP_ADDRH=0x20+Num*0x02;   //送地址高字節
  ISP_ADDRL=0x00;		     //送地址低字節,均從每個扇區的起始地址開始
  ISP_TRIG=0x46;
  ISP_TRIG=0xB9;			//觸發ISP指令
  Delay_short(1);			//短暫延時
  ISP_CONTR=0x00;           //關ISP功能
}

////////////////////////////////////////////////
/******************程序預定義******************/
////////////////////////////////////////////////

void Auto_Mode(void);    //自動模式程序
void Hand_Mode(viod);    //手動模式程序
void ID_Mode(void);	     //顯示ID模式程序
void Alarm_Set(void);    //報警設置程序
void Menu_Function(void);//菜單處理功能

/****自動切換溫度顯示模式程序****/
/*功能:自動從切換顯示溫度  */
void Auto_Mode()
{ unsigned char i;
  LCD_Initial();	 
  GotoXY(12,1);					  
  Print("Auto");
   while(1)
 {
  for(i=0;i<5;i++)
  {
    DS_ReadTemp(i);	  //循環顯示溫度和TH,TL
    TempDisp(i);
	ThTlDisp(i,2);
    Alarm();
	Menu_Function();  //菜單處理
    Delay_long(200);  //延時
    Delay_long(200);
    Delay_long(200);
    Delay_long(200);
   }
 }
}	

/****手動切換溫度顯示模式程序****/
/*功能:按Down鍵切換顯示    */
void Hand_Mode()
{
  LCD_Initial();
  GotoXY(0,1);					  
  Print("Hand Mode");
  GotoXY(9,2);
  Print("S U D Q");
  while(1)					  //主菜單循環
  {
   unsigned char Key1=Key_scan();		  
   if(Key1==SET)              //如果按SET鍵
    {Delay_long(50);		  //延時0.25S等待釋放按鍵
     if(Key_scan()==0)		  //釋放后操作
     {
      unsigned char i=0;
	  LCD_Initial();
	  GotoXY(12,1);							  
 	  Print("Hand");		 //顯示模式
	  while(1)
	  {
	    unsigned char Key2=Key_scan();		  
		DS_ReadTemp(i);
        TempDisp(i);	     //顯示NO.i的溫度
		ThTlDisp(i,2);
		Alarm();
	    if(Key2==DOWN)       //如果按DOWN鍵
	     {
	      Delay_long(50);    //延時0.25S等待釋放按鍵
	      if(Key_scan()==0)	 //按鍵抬起后執行
	      {
	        i=i+1;		     //指針加1
		   	if(i>4)
			 i=0;				           
	      }
	     }
	  	else if(Key2==QUIT)	 //按QUIT返回自動模式
		 {Delay_long(50);					  
		   if(Key_scan()==0)				  
			{
			  Auto_Mode();
			}
		 }	
        } 
	 }
    }	
   else if(Key1==DOWN)
    {Delay_long(50);
	 if(Key_scan()==0)
	  {
	   ID_Mode();
	  }
	 }
   else if(Key1==UP)
    {Delay_long(50);
	 if(Key_scan()==0)
	  {
	   Alarm_Set();
	  }
	 }
   else if(Key1==QUIT)
    {Delay_long(50);		//延時0.25S等待釋放按鍵
     if(Key_scan()==0)		//釋放后操作
     {
   	  Auto_Mode();
     }
    }	
  }
} 

/****顯示DS18B20序列號模式程序****/
/*功能:顯示或替換器件ID         */
void ID_Mode(void)                             
{
 LCD_Initial();
 GotoXY(0,1);					  
 Print(" ID Mode ");
 GotoXY(9,2);
 Print("S U D Q") ;
 while(1)					//主菜單循環
 {
  unsigned char Key1=Key_scan();		  
  if(Key1==SET)             //如果按SET鍵
   {Delay_long(50);		    //延時0.25S等待釋放按鍵
    if(Key_scan()==0)		//釋放后操作
    {
     unsigned char i=0;
	 LCD_Initial();
	 GotoXY(0,1);
	 Print("Please Press D");
     GotoXY(10,2);							  
 	 Print("C D Q ");		//顯示有效按鍵
	  while(1)              //進入二級菜單循環
	  {
	   unsigned char Key2=Key_scan();		  
	   if(Key2==DOWN)      //如果按DOWN鍵
	    {
	     Delay_long(50);   //延時0.25S等待釋放按鍵
	     if(Key_scan()==0) //按鍵抬起后執行
	     {
		  i=i+1;
		  switch(i)
		   {
		   	 case 1 :Show_ID(0);break;
			 case 2 :Show_ID(1);break;
			 case 3	:Show_ID(2);break;
			 case 4	:Show_ID(3);break;
			 case 5	:Show_ID(4);break;
			 case 6	:i=0;break;
		   }
	     }
	    }
	   else if(Key2==CHANGE)      //如果按CHANGE鍵
		{Delay_long(200);
		 Delay_long(200);		  //延時兩秒
		 if(Key_scan()==0)
		  {
			DS_ReadID(i-1);
			Show_ID(i-1);
			ISP_Eraser(i-1);
			ISP_Write8(i-1);
		  }
		}

	    else if(Key2==QUIT)	//按QUIT返回自動模式
		 {Delay_long(50);					  
		   if(Key_scan()==0)				  
			{
			 Auto_Mode();
			}
		 }	
        } 
     }	
   }
   else if(Key1==DOWN)	 //按DOWN鍵切換至報警設置模式
    {Delay_long(50);
	 if(Key_scan()==0)
	  {
	   Alarm_Set();
	  }
	 }
   else if(Key1==UP)	 //按DOWN鍵切換至報警設置模式
    {Delay_long(50);
	 if(Key_scan()==0)
	  {
	   Hand_Mode();
	  }
	 }
   else if(Key1==QUIT)	 //按QUIT返回自動模式
    {Delay_long(50);					  
     if(Key_scan()==0)					  
     {
   	  Auto_Mode();
     }
    }	
 }
}

/*修改器件TH和TL程序         */
/*入口參數:器件序號(0-4)  */
/*全局變量:DS_Tl[5] DS_Th[5]*/
void SetThTl(unsigned char Num)
{
  LCD_Initial();
  GotoXY(5,2);							  
  Print("S C UD LR Q");		//顯示有效按鍵
  GotoXY(0,2);
  Print("NO.");
  LCD_Write(LCD_DATA,Num+1+'0');
  ThTlDisp(Num,1);
  while(1)
  {
    unsigned char Key2=Key_scan();   //二級菜單掃描
    if(Key2==CHANGE)
     {
       Delay_long(50);
       if(Key_scan()==0)
	   {
	     unsigned char i=0;	  //左右指示
         GotoXY(8,1);
		 LCD_Write(LCD_DATA,0x7f);    
		 while(1)
		 {
		  unsigned char Key3=Key_scan();   //三級菜單掃描
		  if(Key3==LEFT)
		   {
		   	 Delay_long(50);
			 if(Key_scan()==0)
			  {
			   i=0;				//選擇TH
			   GotoXY(15,1);
			   LCD_Write(LCD_DATA,0x20);
			   GotoXY(8,1);
			   LCD_Write(LCD_DATA,0x7f);
			  }
		   }
		  else if(Key3==RIGHT)
		   {
			 Delay_long(50);
			 if(Key_scan()==0)
			  {
			  	i=1;			//選擇TL
				GotoXY(8,1);
			    LCD_Write(LCD_DATA,0x20);
				GotoXY(15,1);
			    LCD_Write(LCD_DATA,0x7f);
			  }
		   }
		  else if(Key3==UP)
		   {
		   	 Delay_long(100);
			 if(i==0)
			  DS_Th[Num]=DS_Th[Num]+1;
			 else
			  DS_Tl[Num]=DS_Tl[Num]+1;
			 ThTlDisp(Num,1);
		   } 
		  else if(Key3==DOWN)
		   {
		   	 Delay_long(100);
			 if(i==0)
			  DS_Th[Num]=DS_Th[Num]-1;
			 else
			  DS_Tl[Num]=DS_Tl[Num]-1;
			 ThTlDisp(Num,1);
		   } 
		  else if(Key3==SET)
		   {
		   	 Delay_long(50);
			 if(Key_scan()==0)
			  {
			   DS_Reset();
			   Match_ID(Num);                  //匹配ROM
	           DS_WriteByte(WRITE_SCR);        //  
			   DS_WriteByte(DS_Th[Num]);
			   DS_WriteByte(DS_Tl[Num]);
			   DS_WriteByte(0x7f);
			   DS_Reset();
			   Match_ID(Num);
			   DS_WriteByte(COPY_SCR);
			   SetThTl(Num);
			  }
		   }
		  else if(Key3==QUIT)
		  {
   	        Delay_long(50);
            if(Key_scan()==0)
	        {
	          Auto_Mode(); 
	        }
          } 
		}
	  }
   }
  else if(Key2==DOWN)
   {
   	 Delay_long(50);
     if(Key_scan()==0)
	  {
	    Num=Num+1;
		if(Num>4)
		  Num=0;
		SetThTl(Num);
	  }
   }
  else if(Key2==QUIT)
   {
   	 Delay_long(50);
     if(Key_scan()==0)
	  {
	    Auto_Mode(); 
	  }
   }
 }
}

/****報警設置模式程序*****/
/*功能:設置Th和Tl   */
void Alarm_Set()
{
 LCD_Initial();
 GotoXY(0,1);					  
 Print("Alarm Set");
 GotoXY(9,2);
 Print("S U D Q") ;
 while(1)			      //主菜單循環
 {
  unsigned char Key1=Key_scan()	;	  	  
 
  if(Key1==SET)           //如果按SET鍵
   {Delay_long(50);       //延時0.25S等待釋放按鍵
    if(Key_scan()==0)	  //釋放后操作
    {
      SetThTl(0);
    }	
   }
   else if(Key1==DOWN)	//按DOWN鍵切換至手動模式
    {Delay_long(50);
	 if(Key_scan()==0)
	  {
	   Hand_Mode();
	  }
	}
   else if(Key1==UP)	//按DOWN鍵切換至手動模式
    {Delay_long(50);
	 if(Key_scan()==0)
	  {
	   ID_Mode();
	  }
	}
   else if(Key1==QUIT)	//按QUIT鍵返回AUTO模式
    {Delay_long(50);					 
     if(Key_scan()==0)					 
     {
   	  Auto_Mode();
     }
    }	
 }
}	  

/////////////////////////////////////////////////
/*****************菜單選擇部分******************/
/////////////////////////////////////////////////

void Menu_Function(void)
{
   if(Key_scan()==MENU)   //如果菜單鍵按下
    {
	 Delay_long(200);	 
	 Delay_long(200);	   //延時2S(長按有效)
	  if(Key_scan()==MENU) //菜單鍵有效
	  {
	   LCD_Initial();		//初始化LCD
	   GotoXY(0,1);
	   Print("Boot Menu");  //顯示"Boot Menu"
	   GotoXY(10,2);
	   Print("  D Q "); 	//顯示有效按鍵
	   while(1)                              
	    {
	   	  unsigned char Key=Key_scan()	;		  
		  if(Key==DOWN)        //如果按DOWN鍵
		  {Delay_long(50);	   //延時0.25S等待釋放按鍵
		   if(Key_scan()==0)   //按鍵抬起后執行
		    {
			 Hand_Mode();						 
		    }
		  }
	     else if(Key==QUIT)	   //如果QUIT鍵按下
		  {Delay_long(50);	   //延時0.25S等待釋放按鍵
		   if(Key_scan()==0)   //按鍵抬起后執行AUTO模式
			{
			 Auto_Mode();	   //返回自動模式
		  	}
		  }	
		}
	  }
	}
}

////////////////////////////////////////////////////////
/**********************主程序**************************/
////////////////////////////////////////////////////////

main()
{
  unsigned char i;
  LCD_Initial();
  GotoXY(2,1);
  Print("Sun Yunhui");	  
  GotoXY(3,2);
  Print("04021313");	 //開機顯示畫面 
  for(i=0;i<5;i++)	     //將EEPROM中的ID載入RAM
    ISP_Read8(i);
  for(i=0;i<5;i++)
    DS_ReadTemp(i);		//讀出器件Th和Tl
  Delay_long(200);
  Delay_long(200);
  Auto_Mode();

}	  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一二三四区| 国产一区二区剧情av在线| 蜜桃久久久久久久| av电影天堂一区二区在线观看| 在线观看日产精品| 国产欧美日产一区| 男女视频一区二区| 91成人网在线| 亚洲欧洲精品一区二区三区| 欧美aⅴ一区二区三区视频| 91在线观看一区二区| 精品蜜桃在线看| 亚洲丶国产丶欧美一区二区三区| 国产成人在线免费| 欧美大肚乱孕交hd孕妇| 亚洲第一成人在线| 色88888久久久久久影院按摩| 久久久午夜精品理论片中文字幕| 婷婷丁香激情综合| 在线精品观看国产| 亚洲女爱视频在线| 99久久国产免费看| 一区在线播放视频| 成人免费观看男女羞羞视频| 26uuu国产日韩综合| 日本视频免费一区| 欧美精品自拍偷拍| 日韩精品成人一区二区三区| 欧美三级蜜桃2在线观看| 一区二区三区日韩欧美| 91一区二区在线观看| 亚洲欧美综合另类在线卡通| 成人永久免费视频| 国产精品久久久久一区二区三区 | 亚洲精品中文在线| 91农村精品一区二区在线| 国产精品丝袜久久久久久app| 国内久久精品视频| 国产亚洲精品超碰| 高清成人在线观看| 国产精品久久久久天堂| 色综合久久中文综合久久牛| 亚洲欧美另类小说视频| 在线视频你懂得一区| 亚洲二区视频在线| 欧美一级久久久| 国产制服丝袜一区| 中文字幕一区二区在线播放| 91亚洲精品乱码久久久久久蜜桃| 亚洲免费资源在线播放| 欧美亚洲一区二区三区四区| 亚州成人在线电影| 日韩午夜在线影院| 国产成人福利片| 亚洲日本乱码在线观看| 精品视频999| 九九久久精品视频| 国产精品狼人久久影院观看方式| 色婷婷综合久久久中文字幕| 天天影视涩香欲综合网| 欧美精品一区二区三区在线播放| 国产91高潮流白浆在线麻豆| 亚洲摸摸操操av| 日韩无一区二区| 粉嫩嫩av羞羞动漫久久久| 一区二区在线看| 精品久久久久av影院| a级高清视频欧美日韩| 亚洲成年人影院| 久久久噜噜噜久久中文字幕色伊伊| 99久久夜色精品国产网站| 日韩专区欧美专区| 国产欧美一区二区精品性色超碰| 欧美在线短视频| 国产精品一二一区| 性做久久久久久免费观看 | 国产真实精品久久二三区| 中文字幕不卡一区| 91精品国产91综合久久蜜臀| 福利一区二区在线| 欧美96一区二区免费视频| 亚洲色图清纯唯美| 国产亚洲福利社区一区| 欧美日高清视频| 99热99精品| 韩国女主播一区| 天天色天天爱天天射综合| 一区二区中文字幕在线| 精品乱人伦小说| 在线播放中文字幕一区| 波波电影院一区二区三区| 久草这里只有精品视频| 亚洲一区二区三区四区不卡| 国产精品亲子伦对白| 亚洲精品在线一区二区| 欧美精品高清视频| 精品污污网站免费看| 91香蕉视频在线| 国产福利91精品一区二区三区| 亚洲成人动漫在线免费观看| 亚洲三级电影全部在线观看高清| 久久免费视频一区| 日韩午夜精品电影| 日韩欧美激情一区| 欧美疯狂性受xxxxx喷水图片| 91久久香蕉国产日韩欧美9色| 国产精品一卡二卡在线观看| 麻豆精品久久精品色综合| 亚洲成人在线观看视频| 亚洲精品乱码久久久久久| 自拍偷拍国产亚洲| 综合久久一区二区三区| 亚洲欧美视频一区| 综合精品久久久| 欧美国产日韩在线观看| 久久久久久亚洲综合影院红桃| 久久一区二区三区国产精品| 精品盗摄一区二区三区| 精品免费日韩av| 久久老女人爱爱| 中文字幕+乱码+中文字幕一区| 国产亚洲自拍一区| 亚洲国产经典视频| 国产精品久久免费看| 中文字幕亚洲欧美在线不卡| 国产午夜精品一区二区三区嫩草| 国产午夜三级一区二区三| 国产日韩欧美精品综合| 国产欧美一区二区精品久导航 | 欧美日韩一二三区| 欧美一区二区视频观看视频| 欧美成人vr18sexvr| 久久亚洲精华国产精华液| 国产精品女主播在线观看| 日韩理论片一区二区| 一区二区免费看| 日本午夜一区二区| 国产成人自拍网| 在线观看中文字幕不卡| 欧美丰满一区二区免费视频| 精品国产91九色蝌蚪| 国产精品乱码人人做人人爱| 亚洲综合无码一区二区| 理论电影国产精品| 成人av网在线| 制服丝袜激情欧洲亚洲| 久久久99精品久久| 一区二区三区日韩精品视频| 麻豆久久久久久| 成人av网站在线| 欧美一级理论片| 综合欧美亚洲日本| 精品亚洲成a人| 色综合亚洲欧洲| 日韩欧美综合在线| 中文字幕中文字幕一区| 午夜精品一区在线观看| 国产伦理精品不卡| 欧美日韩在线播放三区| 久久久影视传媒| 亚洲成在线观看| 懂色av噜噜一区二区三区av| 欧美日韩亚洲高清一区二区| 中文字幕欧美日韩一区| 日本特黄久久久高潮| 99久久婷婷国产精品综合| 日韩欧美久久一区| 中文字幕一区二区三区精华液| 青青国产91久久久久久| 91在线观看一区二区| 精品国产区一区| 亚洲a一区二区| 色噜噜狠狠成人中文综合| 精品美女在线播放| 丝袜诱惑亚洲看片| 色婷婷av一区二区三区软件 | 国产精品三级av在线播放| 五月天亚洲精品| 91亚洲午夜精品久久久久久| 久久综合九色综合97婷婷| 日韩不卡手机在线v区| 欧洲在线/亚洲| **欧美大码日韩| 国产99久久久国产精品潘金网站| 欧美精品99久久久**| 亚洲尤物在线视频观看| 成人国产精品免费观看动漫| 久久久美女艺术照精彩视频福利播放| 丝袜a∨在线一区二区三区不卡| 一本一道综合狠狠老| 中文字幕亚洲电影| 成人国产精品免费观看动漫| 国产欧美日韩激情| 成人综合婷婷国产精品久久| 久久这里只有精品首页| 久草精品在线观看| 精品电影一区二区| 国产高清在线精品| 国产欧美va欧美不卡在线| 高清不卡在线观看av|