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

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

?? display.c

?? 這是一個單片機控制DS18B20芯片測溫度的程序,十分簡潔和經典,如果有需要的朋友就下載吧...:)
?? C
字號:
#include"reg52.h"
#define period 20          //設定占空比信號輸出的周期,單位:5ms
sfr WDTRST = 0xA6;
sbit ge=P2^7;
sbit shi=P2^6;
sbit k_temp=P2^3;            //調溫鍵sw6
sbit k_power=P3^3;           //休眠/喚醒鍵sw5
sbit k_warm=P2^5;            //加熱鍵sw8
sbit k_motor=P2^4;             //電機鍵sw7
sbit led_run=P1^0;           //運行燈
sbit led_motor=P1^1;           //沖水指示燈
sbit led_warm=P1^2;          //空比加熱指示燈
sbit led_err=P1^3;           //缺水信號燈
sbit warmer=P1^4;            //普通發熱器
sbit motor_out1=P1^5;
sbit motor_out2=P1^6;
sbit motor_out3=P1^7;               //三個電機信號
sbit kongbi_delay=P3^6;       //空比加熱器散熱器
sbit fmq=P3^5;                //定義蜂鳴器P35
//unsigned char flag_system=1;             //系統運行中標志
unsigned char tab[]={ 0x3f,0x30,0x6d,0x79,0x72,0x5b,0x5f,0x31,0x7f,0x7b,0x40};
                    //0,    1,   2   3    4    5    6    7    8    9    -
extern unsigned char temp;
extern unsigned char flag_tempset;
extern unsigned char flag_temp;
extern unsigned char flag_wat;
extern unsigned char temp_set[];
extern unsigned char ReadTemperature();
extern void delay(unsigned int);
unsigned int total_time;       //系統運行總時間
unsigned int kongbi[]={0,2,4,6,8,10};  //初始化空比,單位為:5ms,為整數,且小于period
unsigned char key_scan(void); 
void sleep(void);
void start_t1(void);
unsigned int time_int;
timer0() interrupt 1 using 1
{TH0=(65536-5000)/256;                  //定時器5ms中斷一次
 TL0=(65536-5000)%256;
 if(++time_int==kongbi[flag_temp])
   led_warm=0;
  else if(time_int==period)
       {time_int=0;
	    led_warm=1;
		}

}
void timer1(void) interrupt 3
{TH1=(65536-50000)/256;                  //定時器50ms中斷一次
 TL1=(65536-50000)%256;                  //無按鍵動作延時
 total_time+=1;
  if(total_time==6000)                      //工作300S
  {TR1=0;
  total_time=0;
  sleep();
  }
}
void intter0(void) interrupt 0           //缺水信號
{unsigned char keyflag;
 EA=0;
 fmq=0;
 led_err=0;
 motor_out1=1;
 motor_out2=1;
 motor_out3=1;
 warmer=1;
 P0=tab[10];
 ge=0;
 shi=1;
 while(1)
 {WDTRST=0x1E;
  WDTRST=0xE1;
  keyflag=key_scan();
  if(keyflag!=0)
    { EA=1;
      fmq=1;
	  break;
     }
  }
 }
intter1() interrupt 2 using 0           //喚醒
{unsigned int i;
 for(i=0;i<10000;i++)
  {WDTRST=0x1E;
  WDTRST=0xE1;}
 EX1=0;
 led_run=0;
 start_t1();
}
void start0(void)        //啟動定時器0控制空比加熱
{
//TR0=0;
TH0=(65536-5000)/256;   //定時器初值為5000,即5ms中斷一次
TL0=(65536-5000)%256;
kongbi_delay=0;      //啟動散熱器
EA=1;
ET0=1;
TR0=1;
}
void start_t1(void)      //系統運行總時間
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET1=1;
TR1=1;
}
void display_temp(unsigned char i)             //溫度顯示函數
{
  P0=tab[i/10];
  shi=0;
  ge=1;
  delay(500);
  P0=tab[i%10];
  shi=1;
  ge=0;
  delay(500);
}
void display_tempmain(unsigned char i)             //主程序溫度顯示函數
{
  P0=tab[i/10];
  shi=0;
  ge=1;
  delay(1000);
  P0=tab[i%10];
  shi=1;
  ge=0;  
}
void display_dang(unsigned char i)//占空比加熱時溫度檔位與沖水檔位顯示
{
  P0=tab[i];
  ge=0;
  shi=1;
  delay(100);  
}
unsigned char key_scan()           //掃描鍵盤
{  unsigned char ret;
  unsigned int i;
  unsigned int j;
 j=50000;
  k_temp=1;
  k_warm=1;
  k_motor=1;
  k_power=1;
  ret=0;
if(k_power==0)                   //進入休眠
  {for(i=0;i<30000;i++)
     {WDTRST=0x1E;
     WDTRST=0xE1;}
   if(k_power==0)
     ret=4;
	}
if(k_temp==0)                     //調溫鍵
   {  
      fmq=0;                  //蜂鳴器響
	  for(i=0;i<13;i++)
	  display_temp(temp_set[flag_tempset]);
	  fmq=1;
     if(k_temp==0)
	   {while(j--)
	    {display_temp(temp_set[flag_tempset]);
	    if(k_temp==1)
	      {ret=1;
          break;}
        }
	  }
	}
if(k_warm==0)                     //空比加熱鍵
   { 
       fmq=0;                  //蜂鳴器響
      for(i=0;i<13;i++)
      display_dang(flag_temp);
	  fmq=1;
	  if(k_warm==0)
       {while(j--)
         {display_dang(flag_temp);
	    	if(k_warm==1)
	         {ret=2;
             break;}
         }
	   }
	}
if(k_motor==0)                     //電機鍵空比控制
   { 
       fmq=0;                  //蜂鳴器響
	   for(i=0;i<13;i++)
	  display_dang(flag_wat);
	  fmq=1;
	 
	  if(k_motor==0)
	    { while(j--)
	      {display_dang(flag_wat);
		    if(k_motor==1)
	          {ret=3;
			    break;
				}
		   }
		}
	}
if(ret!=0) 
   total_time=0;
return ret;
}
void key_back(unsigned char i)   //按鍵響應程序
{unsigned int j,loop;
 unsigned char keyflag;
j=5000;
  switch(i)
  {
  case 1:                       //按下調溫鍵
      {
         j=5;                   //調溫結束后閃爍j次退出調溫程序
         while(j--)
		   { temp=ReadTemperature();
             warmer=0;           //普通加熱器開始工作
             if(temp>=temp_set[flag_tempset])   //溫度達到設定值
                warmer=1;                       //停止加熱
		     for(loop=0;loop<=50;loop++)    //閃爍狀態數碼管亮起的時長
               {
		         display_temp(temp_set[flag_tempset]);
		         keyflag=key_scan();        //掃描鍵盤
		         if(keyflag==1)             //該鍵繼續按下
                    {if(flag_tempset++==2)  //達到最高溫度
			             flag_tempset=0;
			         j=5;
			         }
				  if(keyflag==2)           //其他按鍵按下
				    j=0;
				  if(keyflag==3)
				    j=0;
				  if(keyflag==4)
				    j=0;
		        }
		    ge=1;
		    shi=1;
		    for(loop=0;loop<=50;loop++)     //閃爍狀態數碼管關閉的時長
		       {
		         delay(1000);
		         keyflag=key_scan();       //掃描鍵盤
		         if(keyflag==1)             //該鍵繼續按下
                     {if(flag_tempset++==2) //達到最高溫度
			             flag_tempset=0;
			          j=10;
			         }
				 if(keyflag==2)             //其他按鍵按下
				    j=0;
				 if(keyflag==3)
				    j=0;
                 if(keyflag==4)
				    j=0;
               }
		 }
         break;
	   }
  case 2:                      //按下空比加熱鍵
       {
         warmer=1;            //空比加熱時停止普通加熱器
         start0();            
		  motor_out1=1;
		 motor_out2=1;
		 motor_out3=1;        //加熱時關閉電機
         
		 while(1)
		 {  
		    kongbi_delay=0;
            if(flag_temp==4)
		     {
             led_warm=0;
			 }
            display_dang(flag_temp);
		    keyflag=key_scan();
		    if(keyflag==2)
              {flag_temp+=1;
			  	start0();
			  if(flag_temp==5)
			     {flag_temp=0;      //停止加熱
				  TR0=0;
				  led_warm=1;
				 kongbi_delay=1;
				 }
              else
                 {TR0=1;
                 kongbi_delay=0;  
			      }
			
			   }
           if(keyflag!=2&&keyflag!=0)             //其他按鍵按下
		     {led_warm=1;
			  TR0=0;
               kongbi_delay=1;
		       break;
			  }
		   			  
			  
         }
        break;
		 }
  case 3:                      //按下電機鍵
      {
	     TR0=0;    
                      //停止加熱
		 led_warm=1;
		 led_motor=0;
		 if(flag_wat==1)
			      {motor_out1=0;
				  motor_out2=1;
				  motor_out3=1;
				  }
	    if(flag_wat==2)
			      {
			      motor_out2=0;
				  motor_out1=1;
				  motor_out3=1;
				  }
		 if(flag_wat==3)
			      {
			      motor_out3=0;
				  motor_out1=1;
				  motor_out2=1;
				  }
         if(flag_wat==0)    //停止所有電機
			     {
				  motor_out1=1;
				  motor_out2=1;
				  motor_out3=1;
				  }
         while(j--)
		 {  
            display_dang(flag_wat);  //顯示沖水等級
		    keyflag=key_scan();
			temp=ReadTemperature();
			if(temp<temp_set[flag_tempset])
			   warmer=0;
			else
			   warmer=1;
		    if(keyflag==3)
              {if(flag_wat++==3)      
			     flag_wat=0;
			  if(flag_wat==1)
			      {motor_out1=0;
				  motor_out2=1;
				  motor_out3=1;
				  led_motor=0;
				  }
			   if(flag_wat==2)
			      {
			      motor_out2=0;
				  motor_out1=1;
				  motor_out3=1;
				  }
			   if(flag_wat==3)
			      {
			      motor_out3=0;
				  motor_out1=1;
				  motor_out2=1;
				  }
               if(flag_wat==0)    //停止所有電機
			     {
				  motor_out1=1;
				  motor_out2=1;
				  motor_out3=1;
				  led_motor=1;
				  }
			    j=5000;
			   }
            if(keyflag!=3&&keyflag!=0)             //其他按鍵按下
		      {led_motor=1;
			  motor_out1=1;
			  motor_out2=1;
			  motor_out3=1;
			  break;
			  }
		   
       }
		break;
 }
  case 4:
	    {sleep();
	     break;
         }
default:
          break;
	   }
	  }
void sleep(void)
{
 unsigned char i;
 WDTRST=0x1E;
 WDTRST=0xE1;
 P1=0xFF;
 P0=0xFF;
 P2=0xFF;
 P3=0xFF;
 for(i=0;i<100;i++)
 delay(1000);
 EX1=1;
 EA=1;
 PCON=0X02;
 }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美本精品男人aⅴ天堂| 久久精品欧美日韩| 欧美一区二区成人| 久久久精品免费观看| 中文字幕永久在线不卡| 午夜精品影院在线观看| 国产精品亚洲第一区在线暖暖韩国| 不卡一二三区首页| 欧美一区二区在线看| 国产精品久久一级| 男人的天堂久久精品| 成人自拍视频在线| 91精品国产综合久久精品图片| 久久精品人人做| 天堂午夜影视日韩欧美一区二区| 国产一区二区三区日韩| 91久久免费观看| 国产欧美1区2区3区| 日韩精品一二区| 91美女蜜桃在线| 久久免费国产精品| 欧美aaaaaa午夜精品| 91社区在线播放| 久久久久9999亚洲精品| 午夜精品久久久久久久99水蜜桃| 成人av在线看| 精品国产一区二区三区久久影院| 一区二区三区国产豹纹内裤在线| 国产精品一区在线观看乱码| 制服丝袜av成人在线看| 亚洲另类中文字| 国产成人亚洲精品青草天美| 91精品免费在线| 一区二区三区免费在线观看| 国产宾馆实践打屁股91| 精品久久久久久最新网址| 亚洲成人免费视| 色综合中文字幕国产 | 欧美日韩不卡一区| 亚洲激情在线播放| 91毛片在线观看| 国产精品久久久久久久浪潮网站 | 久久综合久久综合九色| 亚洲成av人片在www色猫咪| 成人国产精品免费网站| 国产三级一区二区| 国产美女精品人人做人人爽| 日韩免费电影一区| 喷水一区二区三区| 欧美一区永久视频免费观看| 亚洲成人精品一区| 精品视频在线免费观看| 夜夜嗨av一区二区三区中文字幕 | 高清成人在线观看| 亚洲精品一区二区三区福利| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美精品一卡二卡| 蜜臀久久99精品久久久久久9| 91精品国产福利在线观看| 日韩黄色免费电影| 日韩欧美资源站| 久久99国产精品久久99果冻传媒 | 久久夜色精品国产噜噜av| 麻豆精品一二三| 欧美精品一区二区三| 国内精品免费**视频| 欧美国产精品一区二区| 成人高清伦理免费影院在线观看| 中文字幕欧美区| 99久久久久久| 亚洲一区二区免费视频| 91精品午夜视频| 国产成人啪午夜精品网站男同| 国产色91在线| 欧洲亚洲国产日韩| 日本不卡一区二区三区高清视频| 欧美一区二区三区影视| 极品少妇xxxx偷拍精品少妇| 国产精品天美传媒沈樵| 欧洲激情一区二区| 精品中文字幕一区二区| 国产精品国模大尺度视频| 色婷婷综合视频在线观看| 视频一区欧美日韩| 日本一区二区三区四区在线视频 | 成人精品gif动图一区| 亚洲天堂成人在线观看| 欧美日韩美少妇| 国产一区二区三区不卡在线观看 | 91精品午夜视频| 成人污污视频在线观看| 一区二区三区在线播放| 欧美一区二区日韩一区二区| 国产一区二区三区av电影 | 久久综合av免费| 91丨porny丨户外露出| 视频一区二区不卡| 国产精品久久久久久久久免费樱桃| 欧美亚男人的天堂| 国产精品99久| 日韩av中文字幕一区二区| 国产精品福利av| 欧美成人官网二区| 一道本成人在线| 韩国一区二区视频| 亚洲成人1区2区| 欧美国产欧美综合| 精品国产一二三区| 欧美婷婷六月丁香综合色| 国产91富婆露脸刺激对白| 视频一区二区不卡| 亚洲免费大片在线观看| 国产午夜精品美女毛片视频| 91精品国产手机| 在线精品视频免费播放| 丰满亚洲少妇av| 另类小说综合欧美亚洲| 亚洲综合一二区| 国产精品免费aⅴ片在线观看| 91麻豆精品国产91久久久更新时间| 99久久精品国产导航| 国产美女精品在线| 麻豆91在线播放| 日韩在线一二三区| 亚洲国产精品人人做人人爽| **欧美大码日韩| 欧美经典一区二区| 久久久久久久久蜜桃| 精品少妇一区二区三区| 91麻豆精品国产91久久久| 欧美色图在线观看| 91久久精品一区二区三区| 91蜜桃免费观看视频| www.日韩av| 成人精品鲁一区一区二区| 国产精品亚洲第一区在线暖暖韩国 | 亚洲日本中文字幕区| 日本一区二区三区在线观看| 国产亚洲美州欧州综合国| 亚洲精品一区二区三区在线观看| 日韩一区二区电影网| 日韩午夜激情免费电影| 欧美一区二区视频在线观看| 欧美浪妇xxxx高跟鞋交| 欧美日韩国产高清一区| 欧美肥妇毛茸茸| 91精品国产综合久久精品| 欧美一区二区日韩| 日韩美女在线视频| 欧美精品一区男女天堂| 久久久久久久久久久久久女国产乱| 久久一区二区三区国产精品| 精品国产伦一区二区三区免费 | 另类中文字幕网| 国产精品亚洲一区二区三区在线| 国产一区二区三区黄视频| 麻豆精品在线播放| 另类小说图片综合网| 亚洲黄色性网站| 欧美成人精品福利| 5566中文字幕一区二区电影| 七七婷婷婷婷精品国产| 亚洲色图都市小说| 精品美女一区二区| 欧美三级日韩在线| 在线免费观看成人短视频| 粉嫩13p一区二区三区| 理论片日本一区| 专区另类欧美日韩| 精品第一国产综合精品aⅴ| 欧美色图在线观看| 成人99免费视频| 欧美午夜精品电影| 成人一级视频在线观看| 狠狠色丁香婷婷综合久久片| 一区二区不卡在线播放| 欧美激情一区不卡| 中文一区二区完整视频在线观看| 91精品国产综合久久久久久漫画| 99精品久久久久久| 国产激情偷乱视频一区二区三区| 国产一区二区影院| 韩国精品主播一区二区在线观看 | 成人免费高清在线观看| 免费视频最近日韩| 亚洲一区在线播放| 亚洲免费在线视频| 亚洲人吸女人奶水| 国产午夜精品一区二区三区嫩草| 在线观看欧美日本| 色婷婷久久久久swag精品| 紧缚奴在线一区二区三区| 另类调教123区| 日韩和的一区二区| 一区二区三区美女| 亚洲精品免费视频| 亚洲精品亚洲人成人网在线播放| 国产精品久久久久一区二区三区| 国产欧美1区2区3区| 亚洲女人****多毛耸耸8|