www.pudn.com > DDS485.rar > led.c


#include 
#include 
#include 
 
void LedFull(void) 
{ 
    unsigned char i,k; 
	unsigned char code	Digit[10]={	 
                					0xFC,	//0 
                					0x60,	//1 
                					0xDA,	//2 
                					0xF2,	//3 
                					0x66,	//4 
                					0xB6,	//5 
                					0xBE,	//6 
                					0xE0,	//7 
                					0xFE,	//8 
                					0xF6,	//9 
                				  };  
      
   for(i=0;i<4;i++)//总电量 
   { 
       ShowDataBuf[i]=IIcBuf[i]; 
   } 
 
   for(i=0;i<4;i++) 
   { 
       k=ShowDataBuf[i] & 0x0f; 
       LedShowBuf[i+i]=Digit[k]; 
       k=ShowDataBuf[i] & 0xf0; 
       k=k>>4; 
       LedShowBuf[i+i+1]=Digit[k]; 
       //01 23 45 67 
   } 
   LcdShowBuf[5]|=0x01; 
   LcdShowBuf[13]|=0x01; 
} 
void LedDisplay(unsigned char i) 
{ 
    	  Sa=((LedShowBuf[i]&0x80)>>=7); 
    	  Sb=((LedShowBuf[i]&0x40)>>=6); 
    	  Sc=((LedShowBuf[i]&0x20)>>=5); 
    	  Sd=((LedShowBuf[i]&0x10)>>=4); 
    	  Se=((LedShowBuf[i]&0x08)>>=3); 
    	  Sf=((LedShowBuf[i]&0x04)>>=2); 
    	  Sg=((LedShowBuf[i]&0x02)>>=1);  
} 
void LedParse(void) 
{ 
    if(LcdTimeFg|LcdFg) 
    { 
        LcdFg=0; 
        LcdTimeFg=0; 
        LcdFull();//-----------------------------数据格式转换! 
        for(i=1;i<7;i++) 
        { 
            LedDisplay(LedShowBuf[i]);        //--------------------------数据显示! 
        } 
    } 
}