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

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

?? dzsj.c

?? 一個單片機有害氣體檢測系統的C語言程序。
?? C
字號:
#include<at89x51.h>
#include<string.h>
#include<math.h>
#include<stdio.h>

/*ADC0809數據采集*/
unsigned char xdata *ADC;
unsigned char ADCR[3];
unsigned char I;
unsigned char F=1;

void int0() interrupt 2
{
  unsigned char temp;
  EX0=1;
  temp=*(ADC+I);
  ADCR[I]=temp;
  F=1;
}

void StatADC0809(void)
{  ADC=0xFE00;
   *(ADC+I)=I;
   F=0;
   EX0=1;
}

void ADC0809(void)
{ if(F)
   {I++;
    if(I>3)
    I=0;
    StatADC0809();
       }
    }

 /*LCD1601液晶顯示屏驅動程序*/
#define Data P0
sbit RS=P1^7;
sbit RW=P1^6;
sbit E=P2^6;
unsigned char code tab[4][8]={{"CO"},{"CH4"},{"SMOKE"},{"DANGER!!"}};

void delay(unsigned int k) 
{ 
  unsigned int i,j; 
  for(i=k;i>0;i--) 
  for(j=50;j>0;j--) ; 
}

unsigned char ReadStatus(void)
{
  Data=0xFF;
  RS=0;
  RW=1;   
  E=1;
  while(Data&0x80);
  return(Data);
  delay(2);
  E=0;
}

void wr_com(unsigned char com)
{
  ReadStatus();
  Data=com;
  RS=0;
  RW=0;
  E=1;
  delay(2);
  E=0;
 }

void wr_dat(unsigned char dat)
{
  ReadStatus();
  Data=dat;
  RS=1;
  RW=0;
  E=1; 
  delay(2);
  E=0;
}

void LCD_Init(void)
{
  Data=0x0;
  wr_com(0x38);
  delay(5);
  wr_com(0x38);
  delay(5);
  wr_com(0x38);
  delay(5);
  wr_com(0x38);
  wr_com(0x08);
  wr_com(0x01);
  wr_com(0x06);
  wr_com(0x0C);
}

void GotoY(unsigned char y)
{
  y&=0x0F;
  wr_com(y);
  do{
      y=ReadStatus();
	  }while((y&0x80)==0x80);
   }

void disp(unsigned char y,unsigned char _char)
{
  GotoY(y);
  wr_dat(_char);
  }

/*按鍵掃描程序*/
unsigned char K1,K2;
sbit key1=P1^1;
sbit key2=P1^2;
unsigned char code table[]={'0','1','2','3','4','5','6','7','8','9'};

void delay10ms(void)
{unsigned char i,j;
 for(i=20;i>0;i--)
 for(j=248;j>0;j--);
 }

void Key1(void)
{if(key1==0)
   {delay10ms();
    if(key1==0)
      {K1++;
       if(K1==11)
        {K1=0;}
       while(key1==0);
      }
    }
  switch(K1)
{
  case 0:
         GotoY(4);
         break;
  case 1:
         GotoY(5);
         break;
  case 2:
         GotoY(7);
         break;
  case 3:
         GotoY(8);
         break;
  case 4:
         GotoY(0xA);
         break;
  case 5:
         GotoY(0xB);
         break;
		 }
 }

void Key2(void)
{ K2=0;
  while(1)
    {
      if(key2==0)
        {
          delay10ms();
		  delay10ms();
          if(key2==0)
            {
              K2++;
              if(K2==10)K2=0;
			  Key1();
              wr_dat(table[K2]);
            }
        }
    }
}


/*用定時器T0每50ms中斷一次*/
unsigned char second=45,minute=58,hour=12,day=29,month=11,year=07;
unsigned char n_50m_second;             /*多少個50毫秒的變量*/
unsigned char days_of_month;            /*該月多少天的變量*/

unsigned char calculate_days(void)      /*計算本月有多少天*/
{
 unsigned int temp;
 switch (month)
  {
   case 1:
   case 3:
   case 5:
   case 7:
   case 8:
   case 10:
   case 12:
           return 31;  /*1、3、5、7、8、10、12月為31天*/
           break;
   case 4:
   case 6:
   case 9:
   case 11:            
           return 30;  /*4、6、9、11月為30天*/
           break;
   case 2:
           temp=2000+year; /*因為year中保存的是年的最后兩位,所以要加上2000*/
           if((((temp%4)==0)&&((temp%100)!=0))||((temp%400)==0))
            {
             return 29;    /*閏年2月為29天*/
            }
             else
            {
             return 28;    /*平年2月為28天*/
            }
     }
}

void timer0_isr(void) interrupt 1 using 1     /*定時器0中斷處理函數*/
{
 TL0=0xB9;
 TH0=0x3C;                             /*定時器重裝。定時50mS中斷一次*/
 n_50m_second++;
 if(n_50m_second>=20)                  /*1秒到*/
  {
   n_50m_second=0;                     /*清50毫秒計數*/
   second++;                           /*秒加1*/
   if(second==60)                      /*如果秒到60*/
    {
     second=0;                         /*秒清0*/
     minute++;                         /*分加1*/
     if(minute==60)                    /*如果分到60*/
      {
       minute=0;                       /*分清0*/
       hour++;                         /*小時加1*/
       if(hour==24)                    /*如果小時到24*/
        {
         hour=0;                       /*小時清零*/
         day++;                        /*天加1*/
         days_of_month=calculate_days();/*計算本月有多少天*/
         if(day>days_of_month)         /*如果天大于本月最后一天*/
          {
           day=1;                      /*天置1*/
           month++;                    /*月加1*/
           if(month>12)                /*如果月大于12*/
            {
             month=1;                  /*月置1*/
             year++;                   /*年加1*/
             if(year>=100)             /*如果年大于100*/
              {
               year=0;                 /*年清零*/
              }
            }
          }
        }
      }
    }
 } 
}

void disp_timer(void)
{ 
  disp(4,hour/10+48);
  disp(5,hour%10+48);
  disp(6,':');
  disp(7,minute/10+48);
  disp(8,minute%10+48);
  disp(9,':');
  disp(0xA,second/10+48);
  disp(0xB,second%10+48);
  Key2();  
  }

/*數據處理*/
sbit fm=P1^0;
unsigned char flag;
unsigned char COSJ[3],CH4SJ[3],SmokeSJ[3];
unsigned char _co,_ch4,_smoke;
unsigned char co,ch4,smo;
int a,b;

void disp_wx(void)  /*lcd第二行中間顯示"DANGER!!"*/
{ 
   disp(7,tab[3][0]);
   disp(8,tab[3][1]);
   disp(9,tab[3][2]);
   disp(0xA,tab[3][3]);
   disp(0xB,tab[3][4]);
   disp(0xC,tab[3][5]);
   disp(0xD,tab[3][6]);
   disp(0xE,tab[3][7]);  
   }

void un_disp(unsigned int i)
{
    switch(i)
   {case 0:
            disp(3,tab[0][0]);
            disp(4,tab[0][1]);/*lcd顯示"CO"*/
		    disp_wx();
            break;
	case 1:
	        disp(2,tab[1][0]);
            disp(3,tab[1][1]);
            disp(4,tab[1][2]);/*lcd顯示"CH4"*/
		    disp_wx();
            break;
	case 2:
	        disp(1,tab[2][0]);
            disp(2,tab[2][1]);
            disp(3,tab[2][2]);
            disp(4,tab[2][3]);
            disp(5,tab[2][4]);/*lcd顯示"SMOKE"*/
		    disp_wx();
            break;  
	   }
	}

void delay02s(void)
{
  unsigned char i;
  for(i=20;i>0;i++)
    {delay10ms();}
 }

lag(unsigned char x,unsigned char y)
{  int flag;
   if(x>y)  flag=1;
   else flag=0;
   return(flag);
}

void get_data()
{ 
  _co=0;_ch4=0;_smoke=0;//_humidity=0;
  for(a=0;a<3;a++)
   {
     COSJ[a]=ADCR[0];
     CH4SJ[a]=ADCR[1];
     SmokeSJ[a]=ADCR[2];
     //HumiditySJ[a]=ADCR[3];
     delay02s();
     delay02s();
     }
     for(b=0;b<3;b++)
      { 
	    _co=_co+COSJ[b];
        _ch4=_ch4+CH4SJ[b];
        _smoke=_smoke+SmokeSJ[b];
        //_humidity=_humidity+HumiditySJ[b];
       }
  }
	 
void hand_data()
{ 
  unsigned char bz[3];//標準量
  get_data();
  co=_co/3;
  ch4=_ch4/3;
  smo=_smoke/3;
  //hum=_humidity/3;
  if(lag(bz[0],co)==1) 
   { fm=0;
     un_disp(0);}
  else if(lag(bz[1],ch4)==1) 
   { fm=0;
     un_disp(1);}
     else if(lag(bz[2],smo)==1) 
       { fm=0;
         un_disp(2);}
		 else { fm=0;
		        disp_timer();//顯示時間
				}
		   }

/*主函數*/
void system_initial(void)   //系統初始化
{
 TMOD=0x11;                 //定時器工作在模式1
 ET0=1;                     //開定時器0中斷
 TR0=1;                     //啟動定時器0
 EX0=1;
 IT0=0;
 EA=1;                      //開總中斷                 
}

void main(void)         
{
    system_initial();        
    LCD_Init(); 
    while(1)
  {
    ADC0809();
    hand_data();  
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产区在线观看成人精品 | 精品久久人人做人人爰| 欧美一卡在线观看| 久久精品在线观看| 亚洲午夜久久久久中文字幕久| 日韩极品在线观看| 国产盗摄一区二区| 欧美日韩色综合| 久久久精品综合| 日韩不卡免费视频| 一本大道av伊人久久综合| 精品美女在线播放| caoporm超碰国产精品| 欧美精品自拍偷拍| 亚洲蜜臀av乱码久久精品蜜桃| 久久99最新地址| 欧美日韩国产首页| 亚洲影视资源网| 91小视频在线| 国产精品嫩草影院com| 精品亚洲aⅴ乱码一区二区三区| 欧美三级日韩三级国产三级| 久久99久久99精品免视看婷婷| 中文字幕欧美区| 国产美女av一区二区三区| 欧美一级淫片007| 高清免费成人av| 日本一区二区三区视频视频| 91国内精品野花午夜精品| 亚洲同性同志一二三专区| 国产成人av电影免费在线观看| 亚洲视频资源在线| 欧美一级淫片007| 成人av在线播放网站| 国产精品电影一区二区| 91色在线porny| 美女视频网站黄色亚洲| 日韩欧美一区二区不卡| 蜜臀精品一区二区三区在线观看| 中文字幕日韩精品一区 | 99麻豆久久久国产精品免费| 亚洲丰满少妇videoshd| 欧美韩日一区二区三区四区| 欧美日韩国产美女| 91影院在线免费观看| 久久国产精品99久久人人澡| 亚洲国产一二三| 国产精品久久久久久久久免费丝袜 | 日韩欧美国产综合在线一区二区三区| 成人不卡免费av| 国产一区在线观看视频| 日韩成人dvd| 一区二区久久久久久| 欧美猛男男办公室激情| 99久久99久久免费精品蜜臀| 亚洲一区二区精品视频| 国产精品成人免费精品自在线观看| 欧美成人在线直播| 欧美一区二区久久久| 欧美日韩国产片| 欧美午夜一区二区| 久久99国产精品久久99| 日日欢夜夜爽一区| 亚洲影视在线观看| 亚洲一区二区三区美女| 亚洲精品视频免费看| 欧美日韩精品免费| 欧美吻胸吃奶大尺度电影| 91美女片黄在线观看| 91在线porny国产在线看| www.激情成人| 成人av午夜影院| 成人av综合在线| 成人高清视频免费观看| 成人国产精品视频| 99久精品国产| 91香蕉视频污在线| 色av一区二区| 日本韩国精品在线| 欧美三级视频在线| 91精品婷婷国产综合久久性色| 粉嫩aⅴ一区二区三区四区五区| 国产高清不卡二三区| 国产a级毛片一区| 99免费精品视频| 色菇凉天天综合网| 精品视频一区二区三区免费| 欧美猛男男办公室激情| 欧美大片拔萝卜| 国产亚洲人成网站| 中文字幕中文字幕一区| 亚洲精品视频一区二区| 亚洲1区2区3区视频| 国产精品人成在线观看免费| 国产精品免费视频观看| 一区二区三区.www| 男人的j进女人的j一区| 亚洲午夜电影在线| 日韩中文字幕不卡| 国产麻豆精品95视频| 99久久精品国产麻豆演员表| 欧美三级午夜理伦三级中视频| 91麻豆精品国产91久久久久| 欧美大片日本大片免费观看| 国产午夜精品在线观看| 亚洲欧美日韩综合aⅴ视频| 香蕉成人伊视频在线观看| 久久精品99国产国产精| 99久久精品国产观看| 69av一区二区三区| 久久久精品天堂| 一区二区三区丝袜| 久久精品国产99国产精品| 不卡一二三区首页| 7878成人国产在线观看| 国产日韩欧美在线一区| 亚洲图片你懂的| 久久99九九99精品| 91视频一区二区| 欧美一区二区三区免费| 中文字幕在线不卡视频| 日韩国产高清在线| 成人久久视频在线观看| 国产999精品久久久久久绿帽| 日本韩国视频一区二区| 国产午夜精品在线观看| 午夜激情久久久| 狂野欧美性猛交blacked| 成人国产精品免费网站| 日韩久久精品一区| 亚洲成人在线网站| av一区二区三区四区| 日韩欧美中文字幕公布| 久久综合五月天婷婷伊人| 久久精品一区二区三区不卡| 亚洲观看高清完整版在线观看| 高清不卡在线观看| 日韩欧美一区二区三区在线| 亚洲午夜一区二区| 成人av免费在线观看| 久久这里只有精品6| 视频在线观看一区| 日本高清免费不卡视频| 国产精品人人做人人爽人人添| 久久国产视频网| 欧美精品国产精品| 亚洲一区免费在线观看| eeuss鲁片一区二区三区在线看| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲成人激情综合网| 色婷婷亚洲精品| 国产精品美女www爽爽爽| 韩国在线一区二区| 91浏览器在线视频| 中文字幕不卡的av| 狠狠色丁香久久婷婷综合丁香| 欧美私模裸体表演在线观看| 亚洲精品va在线观看| yourporn久久国产精品| 国产精品久久久久久久久免费丝袜| 国产综合成人久久大片91| 日韩欧美一区中文| 日韩va亚洲va欧美va久久| 7777精品伊人久久久大香线蕉经典版下载| 樱桃视频在线观看一区| 色婷婷国产精品| 亚洲综合精品自拍| 欧美午夜电影网| 亚洲chinese男男1069| 在线91免费看| 日韩一区欧美二区| 日韩欧美一级精品久久| 理论电影国产精品| 久久综合久色欧美综合狠狠| 国产资源在线一区| 久久这里只有精品6| 国产电影一区二区三区| 国产精品卡一卡二卡三| 色综合久久中文综合久久牛| 亚洲一区中文在线| 91精品国产综合久久婷婷香蕉| 日本中文在线一区| 欧美大黄免费观看| 成人免费看片app下载| 亚洲激情图片一区| 欧美精品久久一区二区三区| 久久99精品久久久久久久久久久久| 26uuu亚洲| 91猫先生在线| 午夜精品免费在线| 精品国产成人系列| 视频一区在线播放| 日韩欧美一区二区免费| 成人免费av网站| 亚洲自拍偷拍麻豆| 91精品欧美久久久久久动漫| 国内成人免费视频| 亚洲婷婷综合色高清在线| 欧美日韩国产天堂| 国产精品12区|