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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cortrol.c

?? 在外部環(huán)境中檢測亮度
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
//****************************************************************************
//**********情報(bào)板系統(tǒng)控制器程序              ***********
//**********單片機(jī)STC12C5410AD,晶振18.432MHZ  ***********
//**********LIUBIN<2008.6.16>                 ***********
//**********當(dāng)前版本1.0                       ***********
//****************************************************************************
#include <reg52.h>
#include <stdio.h>
#include <absacc.h>
#include <ctype.h>
#include <intrins.h> 
#define ACK  1
#define noACK 0
#define MEASURE_TEMP 0X03   //測量溫度命令        
#define MEASURE_HUM1 0X05   //測量濕度命令   
#define TEMP 0              //溫度參數(shù)標(biāo)志
#define HUMI 1              //濕度參數(shù)標(biāo)志
#define LUMM 2              //亮度參數(shù)標(biāo)志
#define S_TEMP 3            
#define DC     4         
////***********************************************************************************/
sfr	ISP_CONTR=0xe7;   
sfr ADC_CONTR=0XC5;
sfr ADC_DATA=0XC6;
sfr P1M0=0X91;
sfr P1M1=0X92;
sbit CHECK1=P1^0;
sbit CHECK2=P1^1;
sbit CHECK3=P1^2;
sbit TH_DATA=P1^4;
sbit TH_SCK =P1^5;
sbit C=P3^7;
sbit DRE=P3^2;
sbit E=P1^7;
sbit AC1=P2^0;
sbit AC2=P2^1;
sbit AC3=P2^2;
sbit KB0=0XA0;
sbit KB1=0XA1;
sbit KB2=0XA2;
sbit KB3=0XA3;
sbit STB=P0^0;
sbit CLK=P0^1;
sbit DATA0=P0^2;
sbit BELL=P0^3;
sbit LED=P3^5;
sbit IN1=P3^3;
//sbit test=P1^6;
//****************************************************************************************
void delay1(unsigned char d1);
void delay(unsigned int i);
int ADC3_Switch(void);
void POW_Check(void);
void Display(signed int display_data,unsigned char dis_flag);
void Display_set(signed int display_set_data,unsigned char dis_set_flag);
void serial_Init(void);
char s_write_byte(char);
void s_transstart(void);
unsigned char s_read_byte(char s );
signed int measure(unsigned char mode);  
void key_deal(void);
unsigned char key_switch(unsigned char key_d);
void keycost_deal(unsigned char TH_flag);
void bell(void);
void error_bell(void);
void TH_Control(void);
void Key_scan();
void R_Data_with(void);
void read_device_status( );
void set_TH_Control( );
//******************************************************************/
typedef unsigned char uchar;
uchar xdata CHECK_DATA,POW_DATA;
//uchar xdata serial_id;
uchar xdata i,j;
uchar xdata KeyNumber,kb_data;
bit keyboard_flag,keyflag,RT_Flag;
uchar xdata error;
signed int L_Temp_set,H_Temp_set,H_Hum_set,H_Lum_set;//L_Hum_set,L_Lum_set;
int TEM,HUMM,LUM,f1,f2,f3,time_count;
char TH_F0,TH_F1,TH_F2,kf;
uchar data  serial_count,serial_count_T;				// serial幀位置計(jì)數(shù)  
uchar data serial_length;							    // serial幀數(shù)據(jù)長度  
uchar data serial_sum;								    // serial幀總校驗(yàn)和  
uchar data serial_data;						    	    // serial幀數(shù)據(jù)  
uchar data serial_id;							        // DEVICE地址 
unsigned char serial_buf_R[7]; 		              		// 接收緩沖區(qū)
unsigned char serial_buf_T[7]; 		              		// 發(fā)送緩沖區(qū)
unsigned char serial_buf2[7]; 		                	// 接收緩沖2區(qū)
/*****************************************************************/
/***********************************************************************************/
void main(void)
{
 serial_Init( );
  while(1)
  {                       
	LED=0;                                           //點(diǎn)亮指示燈   
  
 	POW_Check( );                                    //三相電源檢測
 	TH_Control();                                    //溫濕度控制
 
   	if(kb_data!=0xff)                                //按鍵查詢處理
	  { 
        key_deal();	  
 	    KeyNumber=0xff;
 	    kb_data=0Xff;
		keyflag=0;
      }             
    if(TH_F0==1&&RT_Flag==0)               
	  {          
	   
    	TEM=measure(TEMP);                           //測試溫度值  
	    Display(TEM,TEMP);                           //顯示溫度值 
	
	    	 
	  }
	  
    LED=1;                                           //熄滅指示燈   
	if(TH_F1==1&&RT_Flag==0)
	  { 
	  HUMM=measure(HUMI);                            //測試濕度值  
	  Display(HUMM,HUMI);                            //顯示濕度值  
      }
	  
    if(TH_F2==1&&RT_Flag==0)
	  { LUM=ADC3_Switch();                           //測試亮度值  
	    Display(LUM,LUMM);                           //顯示亮度值   
	    keyflag=1;
	  }         
    if(RT_Flag==1)
	    {
			R_Data_with();
			serial_count=0;                          //復(fù)位幀計(jì)數(shù)  
			serial_sum=0;                            //復(fù)位校驗(yàn)和 
	        RT_Flag=0;
		 }  	   
  }
}
/*************************************初始化程序********************************
****函數(shù)名稱:serial_Init()                         ****************************
****函數(shù)功能:設(shè)置通訊波特率,定時(shí)器0初值 ,變量初值****************************
*******************************************************************************/          
void serial_Init(void)
{ 
	TH1 = 0xFB;									    // 設(shè)定TH1初值 , 波特率  19200  
	TL1 = 0xFB;									    // 設(shè)定TL1初值,  波特率  19200   
	TH0 = 0Xa5;                                     //定時(shí)器0設(shè)置初值,定時(shí)時(shí)間為10MS
	TL0 = 0X00;
	SCON = 0x50;                                    // 設(shè)定串口工作方式
    PCON  = PCON|0X80;				 	  
	TMOD = (TMOD & 0x0f) | 0x21;  					// 設(shè)定T1為波特發(fā)生器
	PS   = 1;										// 串口為高級(jí)中斷
	ES   = 1;										// 允許串口中斷						      	
	TR1  = 1;  										// 啟動(dòng)T1
	TR0  = 1;  
    ET0  = 1; 
//	EX1  = 1;
//	PX1 =1;
//	IT1=1;
   	EA  = 0;
	DRE = 0;                                        //設(shè)485接受   
    C=0;
	E=0;
    delay(5);
	serial_id=P2;                                   //讀地址 
	delay(5);
	E=1;

	BELL=1;
    error=0;  
//	P2=0XF0;
    KeyNumber=0XFF;
	kb_data=0xff;
	keyboard_flag=1;
	RT_Flag=0;
	keyflag=0;
	f1=200;
	f2=0;
	f3=0;
	TH_F0=0;
	TH_F1=0;
	TH_F2=0;
	time_count=0;
    kf=0;
    serial_count=0;
    serial_count_T=0;
    L_Temp_set=10;
    H_Temp_set=45;
    H_Hum_set=80;
   	EA=1;
 }
//********************************串口中斷**********************************
//*******函數(shù)功能:處理串口中斷,接收數(shù)據(jù)到緩沖區(qū)
//*******          發(fā)送緩沖區(qū)中要發(fā)送的數(shù)據(jù)
//**************************************************************************
void serial_IR (void) interrupt  4 
{
  uchar temp;
  if(RI)
  {RI=0;
  	//LED=0;
   temp=SBUF;
   if(temp==0x00)
   	ISP_CONTR=0X60;                                     //軟件復(fù)位  
   else 
   serial_buf_R[serial_count++]=temp; 	                //將數(shù)據(jù)寫入緩存區(qū)              
   }
  if(TI)
  { TI=0;
	serial_count_T++;
	if(serial_count_T < 7)
    	SBUF = serial_buf_T[serial_count_T];            //發(fā)送待發(fā)數(shù)據(jù)  
	else DRE = 0;                                       //設(shè)485接受 
  }


 }

 //*********************************接收到數(shù)據(jù)處理函數(shù)*******************
 
void R_Data_with(void)
{// LED=0;
	for(i=0;i<7;i++)
   {
   	serial_buf2[i]=serial_buf_R[i];
   	}
	 for(i=0;i<6;i++)
    {
    	serial_sum+=serial_buf_R[i];
   	}
	  if(serial_sum==serial_buf2[6])                //校驗(yàn)和累加  
		{  
			if(serial_buf2[1]== serial_id)          //校驗(yàn)地址  
	    	{   
	    		if(serial_buf2[2] == 0xA0)
		      	   read_device_status( );           //讀取控制狀態(tài)    
			 	if(serial_buf2[2]==0x50)
			       {
			       	set_TH_Control( );              //設(shè)置控制  
		           // write_flash();
		           }
	         }   
		  }  
 
 }
//*******************************取電源狀態(tài),溫濕度,亮度參數(shù)值發(fā)送函數(shù)*********************
void read_device_status( )
{ // LED=0;
   serial_buf_T[0]=0XAA;
   serial_buf_T[1]=serial_id;
   serial_buf_T[2]=POW_DATA;
   serial_buf_T[3]=TEM;
   serial_buf_T[4]=HUMM;
   serial_buf_T[5]=LUM;
   serial_buf_T[6]=serial_buf_T[0]+serial_buf_T[1]+serial_buf_T[2]+serial_buf_T[3]+serial_buf_T[4]+serial_buf_T[5];
   DRE = 1;                                        //485啟動(dòng)發(fā)送 ,發(fā)送溫濕度,亮度參數(shù)值
   delay(200); 
   serial_count_T = 0;
   SBUF = serial_buf_T[0]; 
 
 
 }
//******************************************************************************************
//*************************參數(shù)控制處理函數(shù)*************************************************
void set_TH_Control( )
{
  L_Temp_set=serial_buf2[3];
  H_Temp_set=serial_buf2[4];	
  H_Hum_set =serial_buf2[5];
  serial_buf_T[0]=0XBB;
   serial_buf_T[1]=serial_id;
   serial_buf_T[2]=0X50;
   serial_buf_T[3]=serial_buf2[3];
   serial_buf_T[4]=serial_buf2[4];
   serial_buf_T[5]=serial_buf2[5];
   serial_buf_T[6]=serial_buf2[6];
   DRE = 1;                                        //485啟動(dòng)發(fā)送,返回應(yīng)答數(shù)據(jù) 
   delay(200); 
   serial_count_T = 0;
   SBUF = serial_buf_T[0]; 	
}
//*****************************************************************************************	
	
//********************************A/D轉(zhuǎn)換函數(shù)*(P1.3)***********************************************/
int ADC3_Switch(void)
{
 int ADC_DA;
 ADC_CONTR=ADC_CONTR|0X80;                 //開A/D轉(zhuǎn)換電源 
 delay(1000);
 P1M0=P1M0|0X08;                           //設(shè)置P1.3為開漏模式                         
 P1M1=P1M1|0X08;
 ADC_CONTR=ADC_CONTR|0XE3;                 //設(shè)置P1.3為A/D轉(zhuǎn)換通道 
 ADC_CONTR=ADC_CONTR&0XEF;
 delay(10);
 ADC_DATA=0;
 ADC_CONTR= ADC_CONTR|0X08;                //啟動(dòng)A/D轉(zhuǎn)換 
  while((ADC_CONTR&0X10)==0)                //判斷A/D轉(zhuǎn)換是否完成                 
      {;} 
 ADC_CONTR=ADC_CONTR&0XE7;                 //清標(biāo)志,關(guān)閉A/D轉(zhuǎn)換  
 ADC_DA=ADC_DATA;   
 return(ADC_DA);
}
//****************************************************************************************************************/
//*******************************************三相電源檢測函數(shù)*****************************************************/    
void POW_Check()
 {
   if(CHECK1==0)
     {
      POW_DATA=0X01;
     
      }
   else 
   	  {
   	   POW_DATA=0;
   	
       }
   if(CHECK2==0)
     {
      POW_DATA=(POW_DATA<<1)|0X01;
  
      }
   else 
   	  {
   	   POW_DATA=POW_DATA<<1;
   	   
      }
   if(CHECK3==0)
      {
       POW_DATA=(POW_DATA<<1)|0X01;
      }
   else 
   	  {
   	   POW_DATA=POW_DATA<<1;
   	 
       }

  if(POW_DATA!=0x07)
    {CHECK_DATA=0XFF;

	 }
  else 
   { CHECK_DATA=0XF8;

	}


 }
//================================================================================================================//
//=============================================溫濕度控制函數(shù)=====================================================
void TH_Control(void)
{uchar TH_Con_data;
 if(TEM>H_Temp_set)
    TH_Con_data=0xf7;
 else if(TEM<L_Temp_set)
    TH_Con_data=0xEF;
 else if(L_Temp_set<TEM<H_Temp_set)
    TH_Con_data=0XFF;
 if(HUMM>H_Hum_set)
 	 TH_Con_data= TH_Con_data&0XDF;
 ET0=0;
 P2=CHECK_DATA&TH_Con_data;
 C=1;
 delay(5);
 C=0;
 ET0=1;
 //P2=0XF0;	   
 
}
//*********************************************************************************************************************/
//************************************************數(shù)碼管顯示函數(shù)*******************************************************
//********函數(shù)名稱: Display                        *******
//********函數(shù)功能:五位數(shù)碼管顯示溫濕度,亮度     *******
//********入口參數(shù):顯示數(shù)值,參數(shù)標(biāo)志             *******
//********返回值  :無                             *******
//*******************************************************************************************************
void Display(signed int display_data,unsigned char dis_flag)
{uchar xdata A[5];
 code uchar D[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0X88,0X83,0XC6,0XA1,0X86,0X8E,0X89,0XC7,0X8C,0X88,0XC1,0X91,0XFF,0XBF,0X9C};
 uchar dp_data,Y;
 if(dis_flag==TEMP)
    {A[0]=12;
	 A[1]=24;
	 }
 if(dis_flag==HUMI)
    {A[0]=16;
	 A[1]=19;
	 }
 if(dis_flag==LUMM)
    {A[0]=17;
	 A[1]=22;
	 }
 if(display_data<=-10)
   {A[2]=(display_data*(-1))%10;
    A[3]=(display_data*(-1))/10;
    A[4]=23;
    }
 else if(display_data<0)
    {A[2]=display_data*(-1);
     A[3]=22;
     A[4]=23;
    }
 else if(display_data<10)
    {A[2]=display_data;
     A[3]=22;
     A[4]=22;
     }
 else if(display_data<100)
    {A[2]=display_data%10;
     A[3]=display_data/10;
     A[4]=22;
    }
 else if(display_data<1000)
    {A[2]=display_data%10;
     A[3]=(display_data/10)%10;
     A[4]=display_data/100;
    }
 else if(display_data<10000)
    {A[1]=display_data%10;
     A[2]=(display_data/10)%10;
     A[3]=(display_data/100)%10;
     A[4]=display_data/1000;
    }

 for(i=0;i<5;i++)
 {dp_data=D[A[i]];
  for(j=8;j>0;j--)
     {  CLK=0;
   	    if(dp_data&0x80)
	       Y=1;
		else Y=0;
	       DATA0=Y;
	       CLK=1;
		   dp_data=dp_data<<1;
     
      }  
	
  }
   STB=0;
   STB=1;
   delay(2);
   STB=0;
 
}
//===========================================================================================================// 
//**********************************************數(shù)碼管顯示參數(shù) 函數(shù)*******************************************
//******函數(shù)功能:顯示設(shè)置參數(shù)值   *******
//************************************************************************************************************
void Display_set(signed int display_set_data,unsigned char dis_set_flag)
{int B[5];
 code uchar DD[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0X88,0X83,0XC6,0XA1,0X86,0X8E,0X89,0XC7,0X8C,0X88,0XC1,0X91,0XFF,0XBF,0X9C};
 uchar dp_data,Y;
 if(dis_set_flag==0)
    {B[4]=17;
    }
 if(dis_set_flag==1)
    {B[4]=16;
	}

 if(display_set_data<=-10)
   {B[0]=(display_set_data*(-1))%10;
    B[1]=(display_set_data*(-1))/10;
    B[2]=23;
    B[3]=22;

    }
 else if(display_set_data<0)
    {B[0]=display_set_data*(-1);
     B[1]=22;
     B[2]=23;
     B[3]=22;
    }
 else if(display_set_data<10)
    {B[0]=display_set_data;
     B[1]=22;
     B[2]=22;
	 B[3]=22;
     }
 else if(display_set_data<100)
    {B[0]=display_set_data%10;
     B[1]=display_set_data/10;
     B[2]=22;
	 B[3]=22;
    }
 else if(display_set_data<1000)
    {B[0]=display_set_data%10;
     B[1]=(display_set_data/10)%10;
     B[2]=display_set_data/100;
	 B[3]=22;
    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩成人av| 亚洲一区二区美女| 亚洲精品国产视频| 国产一区二区三区观看| 在线欧美小视频| 久久久精品2019中文字幕之3| 一区二区三区在线免费播放| 国产成人精品网址| 日韩欧美激情一区| 亚洲影视资源网| voyeur盗摄精品| 久久久另类综合| 另类的小说在线视频另类成人小视频在线 | 99re热这里只有精品免费视频| 日韩一本二本av| 亚洲成人动漫一区| 欧美天天综合网| 亚洲欧洲av在线| 国产精品亚洲午夜一区二区三区| 91麻豆国产福利精品| 国产精品美日韩| 国产成人一级电影| 久久久久久久久蜜桃| 老汉av免费一区二区三区| 欧美日韩五月天| 午夜影院在线观看欧美| 在线亚洲人成电影网站色www| 日韩欧美亚洲国产另类| 亚洲精品亚洲人成人网在线播放| 岛国av在线一区| 欧美国产激情一区二区三区蜜月| 国产精品资源在线看| 久久一区二区视频| 国产成人无遮挡在线视频| 国产午夜三级一区二区三| 国产精品综合二区| 国产亚洲福利社区一区| 成人在线视频一区| 久久久亚洲综合| 激情久久五月天| 久久久三级国产网站| 国产成人精品亚洲777人妖| 欧美极品另类videosde| 91视频国产观看| 亚洲一区二区欧美| 日韩限制级电影在线观看| 精品午夜一区二区三区在线观看| 久久久天堂av| 91猫先生在线| 亚洲国产精品尤物yw在线观看| 欧美性大战xxxxx久久久| 日本美女视频一区二区| 欧美变态凌虐bdsm| 成人在线视频一区| 亚洲成av人片在www色猫咪| 4hu四虎永久在线影院成人| 精品一区二区三区香蕉蜜桃| 久久精品一区二区三区不卡| 99视频一区二区三区| 亚洲123区在线观看| 欧美成人乱码一区二区三区| 丁香亚洲综合激情啪啪综合| 亚洲精品视频免费观看| 91精品国产综合久久福利| 懂色一区二区三区免费观看| 亚洲自拍偷拍网站| 久久你懂得1024| 欧美日韩在线不卡| 国产综合色在线| 亚洲第一电影网| 国产片一区二区| 欧美日韩和欧美的一区二区| 国产精品一区二区不卡| 一区二区三区在线看| 久久女同互慰一区二区三区| 欧美三日本三级三级在线播放| 精品一区二区三区久久| 一区二区三区精品在线观看| 精品国产乱码久久久久久浪潮| 色香蕉成人二区免费| 国产一区二区三区香蕉| 亚洲综合网站在线观看| 欧美韩国日本不卡| 日韩三级电影网址| 欧洲亚洲国产日韩| youjizz国产精品| 日本最新不卡在线| 亚洲欧美一区二区三区极速播放 | 亚洲国产精品久久人人爱蜜臀 | 欧美酷刑日本凌虐凌虐| 高清在线成人网| 久久成人免费网站| 午夜在线电影亚洲一区| 亚洲视频你懂的| 久久久久久久久久久久久夜| 欧美精品第1页| 在线精品视频一区二区三四| 国产成人自拍网| 国产一区二区视频在线| 日本视频在线一区| 亚洲成人第一页| 亚洲精品一二三四区| 国产精品久久久久久久久免费桃花| 精品国产凹凸成av人导航| 91精品福利在线一区二区三区 | 天天操天天色综合| 亚洲综合一区二区三区| 亚洲人123区| 国产精品成人一区二区三区夜夜夜| 欧美精品一区二区三区在线播放| 欧美一级二级在线观看| 日韩一区二区中文字幕| 日韩一区二区三区免费看| 91精品国产综合久久久久久| 欧美日韩一区二区三区在线看| 91日韩一区二区三区| 日本久久一区二区| 色婷婷久久99综合精品jk白丝| 99久久综合精品| 一本久久a久久精品亚洲| 色综合天天视频在线观看| 一本色道久久综合精品竹菊| 91福利在线播放| 91精品婷婷国产综合久久竹菊| 欧美一区二区免费视频| 精品伦理精品一区| 国产日韩欧美精品综合| 国产精品大尺度| 亚洲综合网站在线观看| 日产欧产美韩系列久久99| 日本一不卡视频| 国产一区二区三区| 99视频在线精品| 欧美日韩国产精品成人| 欧美xxxxx裸体时装秀| 久久久不卡影院| 中文字幕一区三区| 日韩专区中文字幕一区二区| 精品一区二区国语对白| www.日韩大片| 欧美另类一区二区三区| 精品国产sm最大网站| 亚洲免费色视频| 日韩精品欧美成人高清一区二区| 九色porny丨国产精品| 成a人片亚洲日本久久| 欧美性感一类影片在线播放| 欧美精品一区二区三区四区| 中文字幕中文字幕中文字幕亚洲无线| 亚洲永久精品国产| 国产精品资源站在线| 欧美三区免费完整视频在线观看| 日韩精品一区二区三区蜜臀 | 色成人在线视频| 精品国内二区三区| 亚洲另类一区二区| 国产一区二区视频在线播放| 91在线观看下载| 欧美成人高清电影在线| 亚洲欧美视频在线观看| 国产一区二区主播在线| 欧美日韩中文一区| 国产精品素人一区二区| 日韩av在线发布| 在线一区二区观看| 欧美国产欧美综合| 美脚の诱脚舐め脚责91 | voyeur盗摄精品| 欧美变态tickle挠乳网站| 亚洲一区二区三区四区在线| 国产福利一区二区三区视频| 在线精品视频一区二区| 久久久影院官网| 免费看日韩精品| 日本二三区不卡| 国产精品久久99| 国产精品1024| 精品欧美一区二区久久| 午夜精品成人在线视频| 91在线一区二区| 国产精品美女视频| 国产乱码精品1区2区3区| 日韩免费观看2025年上映的电影| 亚洲一区二区三区四区在线免费观看| 丁香六月久久综合狠狠色| 日韩精品一区二区三区四区| 爽好久久久欧美精品| 欧美亚洲一区三区| 亚洲女同一区二区| 成人av网站在线| 欧美高清在线一区二区| 精品一区二区三区在线播放| 欧美一区二区黄| 香蕉久久夜色精品国产使用方法| 91久久国产综合久久| 亚洲精品视频在线看| 91国模大尺度私拍在线视频| 亚洲精品乱码久久久久久| 91丨porny丨蝌蚪视频| 亚洲色图欧美在线|