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]); //--------------------------数据显示! } } }