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

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

?? led.c

?? 一款電力行業(yè)使用的溫濕度控制器源代碼 濕度傳感器采用HF3223 溫度采用DS18B20 單片機采用mega8 編程采用winavr2007
?? C
字號:
#include"inc/config.h"



u08     LedData[11];        //各位顯存的初始化
u08     fLedDotMap=0x00 ;   //對應(yīng)WEI為1 則數(shù)碼管加“.”
BOOL    fledalrm    ;       //主要是0-4位

/**共陰***/


 const u08 PROGMEM LedSeg[29]=
{
        0x3f,/*0*/
        0x06,/*1*/
        0x5b,/*2*/
        0x4f,/*3*/
        0x66,/*4*/
        0x6d,/*5*/
        0x7d,/*6*/
        0x07,/*7*/
        0x7f,/*8*/
        0x6f,/*9*/
        0x77,/*a*/   //10
        0x7c,/*b*/        //11
        0x39,/*c*/        //12
        0x58,/*c*/        //13
        0x5e,/*d*/        //14
        0x79,/*e*/        //15
        0x71,/*f*/        //16
        0x76,/*h*/        //17
        0x74,/*h*/        //18
        0x38,/*l*/        //19
        0x54,/*n*/        //20
        0x37,/*n*/        //21
        0x5c,/*o*/        //22
        0x73,/*p*/        //23
        0x50,/*r*/        //24
        0x78,/*t*/        //25
        0x3e,/*u*/       //26
        0x40,/*-*/      //27
        0x00/*消隱碼*/  //28 

 }; 


void   DispSeperateShow( unit8 content,unit8 position )
{
	DIG_RST();//共陰極。消隱,防止數(shù)據(jù)亂碼,可去,因ByteTo164中已經(jīng)包含
	ByteToHC164(  content  );
 
		 if(position == DIG1){ LED1 = LED_ON;}
	else if(position == DIG2){ LED2 = LED_ON;}
	else if(position == DIG3){ LED3 = LED_ON;}
	else if(position == DIG4){ LED4 = LED_ON;}
	else if(position == DIG5){ LED5 = LED_ON;}
	else if(position == DIG6){ LED0 = LED_ON;}
	else if(position == DIG7){ LED6 = LED_ON;} 
	else if(position == DIG8){ LED6 = LED_ON;}
 	else if(position == DIG9){ LED6 = LED_ON;}
 
 
}
void ByteToHC164(uint8 ledbuffer)
{

     DIG_RST();    //令所有位選置1
	 SEG_A = (ledbuffer&(1<<0))>>0;
	 SEG_B = (ledbuffer&(1<<1))>>1;
	 SEG_C = (ledbuffer&(1<<2))>>2;
	 SEG_D = (ledbuffer&(1<<3))>>3;
	 SEG_E = (ledbuffer&(1<<4))>>4;
	 SEG_F = (ledbuffer&(1<<5))>>5;
	 SEG_G = (ledbuffer&(1<<6))>>6;
	 SEG_DP= (ledbuffer&(1<<7))>>7;
}


void    Hex2Bcd( uint16 bytevalue,uint8 bcdval[5] )
{
	   u08 j;
     for ( j = 0; j < 5 ;j++)
         {
            bcdval[j]= 0;
         }
     //萬位處理
    while( bytevalue >= 10000)   //20060402 判斷中的>=不能寫成>,否則有錯,特別是會
                                 //各位數(shù)為10,在顯示時顯示成“a” 
         { 
            bcdval[0]++;
            bytevalue-=10000;
          }
     //千位處理
    while( bytevalue >= 1000)
        {
            bcdval[1]++;
            bytevalue-=1000;
         }
    //百位處理
    while( bytevalue >= 100)
         { 
           bcdval[2]++;
           bytevalue-=100;
         }
    //十位處理
    while(bytevalue  >= 10)
        { 
          bcdval[3]++;    
          bytevalue-=10;
         }
    //個位處理
     bcdval[4]=bytevalue;

}


/**************************************************************
* functionname: signal(sig_overflow0)
***************************************************************/
static uint16   cnt         = 0 ;    	/*軟定時器,用于設(shè)定時標(biāo)   */
static uint8    LedCnt      = 0 ;    	/*用于數(shù)碼管的刷新計數(shù)     */
static uint16   fLedFlashMap= 0 ;       /*用于閃爍位的指示         */
static uint8    fFlashison  = 0 ;    	/*指示閃爍中的明暗兩種狀態(tài) */
 u08     tick_15ms    = 0 ;     
static u16     tick_500ms   = 0 ;
static u16     tick_1s      = 0 ;
static u16     tick_5s      = 0 ;
static u16     tick_60s     = 0 ;

/*********定時器2的中斷,來產(chǎn)生系統(tǒng)工作的基本時序**************/

SIGNAL(SIG_OVERFLOW2)
//SIGNAL(SIG_OVERFLOW0)
{
   u08 ledbuffer = 0;       
  TCNT2  = TIMER2_BGN_VAL;  
     //TCNT0  = TIMER0_BGN_VAL;  
   
   if( tick_15ms++ >= 15/T0_TICK &&f_15ms==false    )   {   tick_15ms =0;f_15ms=true;timer0_stop();}
   if( tick_500ms++>= 500/T0_TICK&&f_500ms==false  )   {   tick_500ms=0;f_500ms=true;}
   if( tick_1s++   >= 1000/T0_TICK&&f_1s==false     )   {   tick_1s   =0;f_1s=true;   }
   if( tick_5s++   >= 3000/T0_TICK&&f_5s==false     )   {   tick_5s   =0;f_5s=true;   }
   if( tick_60s++  >= 20000/T0_TICK&&f_60s==false   )   {   tick_60s  =0;f_60s=true;  }
   
    if( ++cnt > (200/T0_TICK)  )  
    {
         cnt =0;                   

         fFlashison =~ fFlashison; 
     }

	     ledbuffer =LedData[LedCnt];
//--------------------------------------------------------------------------------
    if( ( fLedFlashMap&(1<<LedCnt))!=0 )  
    {
          ledbuffer =ledbuffer&fFlashison;// 
    }
//----------------------------------------------------------------
         DispSeperateShow  (   ledbuffer , LedCnt  );   

		 LedCnt ++ ;

        if( DIGMAX == LedCnt )   LedCnt=1;
                      
}
 void  FlashDigRst(void)
{
      fLedFlashMap = 0;             
}

 
 void  FlashDigOn(uint16 whichDig)
{
	  fLedFlashMap|= (1<<whichDig);  
}
  void  FlashDigOff(uint16 whichDig)
{
      fLedFlashMap&= ~(1<<whichDig);  
}

/**************add num pot***************/
void  RmvDotAll(void)
{
      fLedDotMap = 0;            
}

 
 void  AddDotOn(uint16 whichDig)
{
	  fLedDotMap|= (1<<whichDig);    
}
  void  RmvDot(uint16 whichDig)
{
      fLedDotMap&= ~(1<<whichDig);   
}







/*******************************************************************
*  subname:     void Displayhumidity(uint8 humidity);
********************************************************************/
void DisplayHumidity(uint8 humidity)
{
    if((humidity>100))
    {	
       	LedData[4] = 0x40 ; //directly pass the value to led buffer
       	LedData[5] = 0x40 ;
       	LedData[6] = 0x40 ;
    }
    else
    {  
	   if(humidity==100)
	   {
         LedUpdateByDig(4,humidity/100 ) ;//也可用該函數(shù)
		         LedUpdateByDig(5,0 ) ;//也可用該函數(shù)
       }
	   else
	   {
	     LedData[4] = 0x00 ;  
	       LedUpdateByDig(5,humidity/10 ) ;//也可用該函數(shù)
	   }

        LedUpdateByDig(6,humidity%10 ) ;//也可用該函數(shù)
    }
}



void LedUpdateByDig(uint8 Dig_n,uint8 led_val )
{

   if( ( (fLedDotMap&(1<<Dig_n)) !=0 )&& (led_val!=28))  
        //content!=0x00 消除發(fā)消隱時
   {
	    LedData[Dig_n] =pgm_read_byte(LedSeg+led_val)|0x80;
        //段碼最高位疊加小數(shù)點位  
   }
   else
   {
        LedData[Dig_n] =pgm_read_byte(LedSeg+led_val);
   }

} 

/*
*	顯示溫度工作狀態(tài),TH TL OR NO_ALARM
*/
void DisplayTemperatureAlarm( u08 on_off)
{	
	 //根據(jù)報警狀態(tài) 點亮相應(yīng)指示燈												  
     LedData[DIG7] = on_off*SEGA;

}

/*
*	顯示適度報警,直接修改對應(yīng)指示燈的顯存值
*/
void DisplayHumidityAlarm(u08 on_off)
{
	 
	 LedData[DIG8] =on_off*SEGE;
 }
void DisplayPower(u08 on_off)
{
	 
	 LedData[DIG9] =on_off*SEGD;
 }
/*
*	復(fù)位軟定時器
*/
void RstSoftTimer(u08 n)
{
	if      (n==_15MS)  {   tick_15ms	= 0;	f_15ms	= false; }
	else if (n==_500MS) {   tick_500ms 	= 0;	f_500ms	= false; }
	else if (n==_1S)    {   tick_1s 	= 0;	f_1s	= false; }
	else if (n==_60S)   {   tick_60s 	= 0;	f_60s	= false; }
}


void DisplayTemperature(int16 temperature)
{
    u08 offset;
	if(SystemStatus==RUN)
	{
	   offset =0;
	
	}
	else
	{
	   offset =3;
	}
	
    	RmvDot(2+offset);                            

    if( ( temperature >1250) || (temperature<-550) )
    {
         RmvDot(2+offset);;         				
         LedUpdateByDig(1+offset,27);      					  
         LedUpdateByDig(2+offset,27);      					   
         LedUpdateByDig(3+offset,27);
    }
    else
    {
         uint8 tempconvertbuffer[5]={0,0,0,0,0};  

         if (temperature >= 1000)    					      
         {

         RmvDot(2+offset);;                          	  
         Hex2Bcd(temperature,tempconvertbuffer);  
         LedUpdateByDig(1+offset,tempconvertbuffer[1]);  
         LedUpdateByDig(2+offset,tempconvertbuffer[2]);   
         LedUpdateByDig(3+offset,tempconvertbuffer[3]);      	 
         }
         else if(temperature >= 100)                   
         {
         AddDotOn(2+offset);                        		 
         Hex2Bcd(temperature,tempconvertbuffer);      	 
         LedUpdateByDig(1+offset,tempconvertbuffer[2]);      	 
         LedUpdateByDig(2+offset,tempconvertbuffer[3]);      	 
         LedUpdateByDig(3+offset,tempconvertbuffer[4]);      	       
         }
         else if(temperature >= 0)                   	 
         {
         AddDotOn(2+offset);  
         LedUpdateByDig(1+offset,28);                        	 
         LedUpdateByDig(2+offset,temperature/10);            	  
         LedUpdateByDig(3+offset,temperature%10);            	          
         }                                            
         else if(temperature > -100)                   	  
         {                                             	 
          
         temperature=-temperature;  
         AddDotOn(2+offset);  
         LedUpdateByDig(1+offset,27); 
         LedUpdateByDig(2+offset,temperature/10);            	  
         LedUpdateByDig(3+offset,temperature%10);            	           

         }
         else if(temperature >=-550)                   	     
         {
          temperature=-temperature;                    	  
          RmvDot(2+offset);                          	  
          LedUpdateByDig(1+offset,27);                        	  
          LedUpdateByDig(2+offset,temperature/100);              
          LedUpdateByDig(3+offset,temperature%100/10);                    
         }

    }

}

void DisplayNum(u16 num)
{         
  uint8  buffer[5]={0,0,0,0,0};  
 Hex2Bcd(num,buffer);
 LedUpdateByDig(1,buffer[0]); 
 LedUpdateByDig(2,buffer[1]); 
 LedUpdateByDig(3,buffer[2]);
 LedUpdateByDig(4,buffer[3]);
 LedUpdateByDig(5,buffer[4]);

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费不卡视频| 色哦色哦哦色天天综合| 美女爽到高潮91| 五月天网站亚洲| 天堂蜜桃91精品| 婷婷国产v国产偷v亚洲高清| 亚洲一区二区三区激情| 亚洲主播在线播放| 亚洲国产中文字幕在线视频综合| 亚洲综合在线视频| 伊人色综合久久天天人手人婷| 亚洲欧美激情视频在线观看一区二区三区| 中文字幕一区二区三区精华液| 18欧美亚洲精品| 亚洲日本一区二区三区| 亚洲国产精品久久久男人的天堂| 丝袜美腿亚洲一区二区图片| 丝袜美腿亚洲一区| 精品一区二区三区在线观看 | 美女一区二区久久| 麻豆久久一区二区| 国产成人在线电影| 一本到高清视频免费精品| 91成人在线观看喷潮| 欧美日韩国产高清一区二区| 欧美一激情一区二区三区| 久久综合狠狠综合| 国产精品久久久久久久裸模| 一区二区久久久| 喷水一区二区三区| 国产精品一品视频| 在线观看区一区二| 日韩精品专区在线影院观看| 国产拍揄自揄精品视频麻豆 | 成人高清在线视频| 欧美丝袜丝nylons| 亚洲精品在线免费观看视频| 中文字幕av一区 二区| 亚洲一区二三区| 美国十次综合导航| 成人午夜电影小说| 欧美日韩精品是欧美日韩精品| 精品日韩在线观看| 亚洲日本青草视频在线怡红院| 五月天视频一区| 美女视频一区二区| 99精品视频中文字幕| 91精品国产一区二区三区蜜臀 | 亚洲国产精品麻豆| 国产在线不卡一卡二卡三卡四卡| 色综合天天综合网天天狠天天 | 日本女优在线视频一区二区 | 欧美日韩日本视频| 久久久蜜桃精品| 一区二区三区.www| 国产凹凸在线观看一区二区| 欧美日韩视频在线第一区 | 国精品**一区二区三区在线蜜桃| 一本色道亚洲精品aⅴ| 欧美v国产在线一区二区三区| 亚洲视频香蕉人妖| 精品一二三四区| 欧美性xxxxx极品少妇| 久久综合一区二区| 亚洲一二三四区不卡| 国产成人亚洲综合a∨猫咪| 欧美疯狂做受xxxx富婆| |精品福利一区二区三区| 裸体歌舞表演一区二区| 日本大香伊一区二区三区| 国产午夜精品在线观看| 午夜精品久久久久久久蜜桃app| 国产91精品精华液一区二区三区| 欧美日韩精品一二三区| 亚洲三级小视频| 成人手机电影网| 精品国产露脸精彩对白| 婷婷综合久久一区二区三区| 97成人超碰视| 国产三级精品在线| 极品少妇xxxx精品少妇| 欧美区视频在线观看| 亚洲一区二区视频在线观看| 99久久精品免费看国产免费软件| 久久久三级国产网站| 另类人妖一区二区av| 7878成人国产在线观看| 亚洲综合色区另类av| 97久久超碰精品国产| 中文字幕第一区二区| 国产麻豆欧美日韩一区| 欧美大胆人体bbbb| 男人的天堂久久精品| 91精品在线免费| 三级在线观看一区二区| 欧美日韩午夜在线视频| 亚洲成人福利片| 欧美色涩在线第一页| 亚洲综合激情网| 色爱区综合激月婷婷| 亚洲视频1区2区| 久久精品水蜜桃av综合天堂| 东方欧美亚洲色图在线| 26uuu国产在线精品一区二区| 中国色在线观看另类| 久久精品国产秦先生| 精品国免费一区二区三区| 久久99这里只有精品| 精品国产百合女同互慰| 久久精品国产秦先生| 久久亚洲一级片| 国产精品中文字幕欧美| 欧美极品aⅴ影院| 成人短视频下载| 亚洲激情成人在线| 欧美在线不卡一区| 午夜视频在线观看一区二区| 欧美精品在线观看播放| 日本美女视频一区二区| 精品久久久久久久一区二区蜜臀| 国产精品一区二区你懂的| 国产网站一区二区三区| av在线免费不卡| 亚洲一区电影777| 日韩欧美国产精品一区| 国产精品自在欧美一区| 中文字幕在线一区免费| 色94色欧美sute亚洲13| 午夜精品一区二区三区免费视频| 日韩欧美在线观看一区二区三区| 激情伊人五月天久久综合| 日本一区二区电影| 欧美三区在线观看| 玖玖九九国产精品| 国产精品久久毛片| 欧美性受xxxx黑人xyx| 久久99国产精品尤物| 国产精品天美传媒| 欧美影院精品一区| 激情av综合网| 亚洲区小说区图片区qvod| 5月丁香婷婷综合| 国产成人免费xxxxxxxx| 亚洲综合av网| 精品久久久久一区| 91网址在线看| 美女在线一区二区| 欧美韩国一区二区| 欧美人伦禁忌dvd放荡欲情| 国产毛片精品一区| 一区二区三区日韩欧美| 欧美精品一区二区三| 色婷婷av一区二区三区gif| 美女诱惑一区二区| 亚洲欧美另类综合偷拍| 精品福利二区三区| 欧美中文字幕一区| 国产91精品露脸国语对白| 调教+趴+乳夹+国产+精品| 国产精品免费丝袜| 欧美肥妇bbw| av毛片久久久久**hd| 美女免费视频一区二区| 一区二区三区在线观看国产| 久久久久综合网| 在线播放中文一区| 91免费版pro下载短视频| 麻豆精品在线播放| 亚洲欧美日韩国产综合在线| 久久日一线二线三线suv| 欧美日免费三级在线| 99热国产精品| 国产一区二区毛片| 亚洲成人av中文| 亚洲女同一区二区| 国产欧美综合在线观看第十页| 欧美体内she精高潮| 成人91在线观看| 精品中文字幕一区二区小辣椒| 一区二区三区四区av| 国产精品你懂的| 26uuu另类欧美| 日韩免费在线观看| 91精品黄色片免费大全| 色婷婷亚洲综合| av不卡在线观看| 国产乱码一区二区三区| 麻豆精品一区二区av白丝在线| 午夜精品久久久久久久| 最新日韩av在线| 亚洲国产高清不卡| 久久精品免费在线观看| 日韩欧美一二区| 欧美一区二区三区视频免费播放| 欧美伊人精品成人久久综合97| av电影天堂一区二区在线观看| 国产成人在线观看| 国产不卡在线播放| 成人免费看片app下载| 国产.精品.日韩.另类.中文.在线.播放|