Пример #1
0
void LED_PrintValueC(unsigned char x, unsigned char y, char data)
{
	unsigned char i,j,k;
	if(data < 0)
	{
		LED_P6x8Char(x,y,'-');
		data = - data;	
	}
	else
	{
		LED_P6x8Char(x,y,'+');
	}
	i = data/100;
	j = (data%100)/10;
	k = data%10;
	LED_P6x8Char(x+6,y,i+48);
	LED_P6x8Char(x+12,y,j+48);
	LED_P6x8Char(x+18,y,k+48);		
}
Пример #2
0
/*****************************************************************************
 函 数 名  : LED_PrintChar
 功能描述  : 将一个Char型数转换成3位数进行显示
 输入参数  : unsigned char ucIdxX    ucIdxX的范围为0~122
             unsigned char ucIdxY    ucIdxY的范围为0~7
             CHAR8 cData      cData为需要转化显示的数值 -128~127
 输出参数  : none
 返 回 值  : none
*****************************************************************************/
void LED_PrintChar(unsigned char ucIdxX, unsigned char ucIdxY, char cData)
{
    uint16 i, j, k, usData;

    if(cData <0)
    {
       // LED_P6x8Char(ucIdxX, ucIdxY, '-');
        usData = (uint16)(-cData);  
    }
    else
    {
     //  LED_P6x8Char(ucIdxX, ucIdxY, '+');
        usData = (uint16)cData;
    }
    i = usData / 100;
    j = (usData % 100) / 10;
    k = usData % 10;
    
    LED_P6x8Char(ucIdxX+6, ucIdxY, i+0x30);
    LED_P6x8Char(ucIdxX+12, ucIdxY, j+0x30);
    LED_P6x8Char(ucIdxX+18, ucIdxY, k+0x30);   

    return;
}
Пример #3
0
void LED_PrintValueI(unsigned char x, unsigned char y, int data)
{
	unsigned char i,j,k,l,m;  
	if(data < 0)
	{
		LED_P6x8Char(x,y,'-');
		data = - data;	
	}
	else
	{
		LED_P6x8Char(x,y,'+');
	}
	
	l  = data/10000;
	m= (data%10000)/1000;
	i = (data%1000)/100;
	j = (data%100)/10;
	k = data%10;
	LED_P6x8Char(x+6,y,l+48);
	LED_P6x8Char(x+12,y,m+48);
	LED_P6x8Char(x+18,y,i+48);
	LED_P6x8Char(x+24,y,j+48);
	LED_P6x8Char(x+30,y,k+48);		
}
Пример #4
0
 void LED_PrintValueF(unsigned char x, unsigned char y, float data, unsigned char num)
 {
 	unsigned char l,m,i,j,k;  
 	unsigned char databiti = 6; 
 	unsigned int tempdataui = 0;
  	int tempdataii = (int)data; 
 	long int tempdatalp = (long int)((data - (int)data)*10000); 
 	

 	if(data < 0.0000001)  LED_P6x8Char(x, y,'-'); 
 	else LED_P6x8Char(x, y,'+');
	if(tempdataii < 0)tempdataii = - tempdataii;  
	tempdataui = tempdataii;
 	l  = tempdataui/10000;
	m= (tempdataui%10000)/1000;
	i = (tempdataui%1000)/100;
	j = (tempdataui%100)/10;
	k = tempdataui%10;
 	if (l != 0) 
 	{
 		LED_P6x8Char(x+6,y,l+48);
 		LED_P6x8Char(x+12,y,m+48);
		LED_P6x8Char(x+18,y,i+48);
		LED_P6x8Char(x+24,y,j+48);
		LED_P6x8Char(x+30,y,k+48);
 	}
 	else if(m != 0) 
 	{
 		databiti = 5;
 		LED_P6x8Char(x+6,y,m+48);
 		LED_P6x8Char(x+12,y,i+48);
		LED_P6x8Char(x+18,y,j+48);
		LED_P6x8Char(x+24,y,k+48);
 	}
  	else if(i != 0) 
  	{
  		databiti = 4;
  	 	LED_P6x8Char(x+6,y,i+48);
 		LED_P6x8Char(x+12,y,j+48);
		LED_P6x8Char(x+18,y,k+48);
  	}
  	else if(j != 0) 
  	{
    		databiti = 3;	
  		LED_P6x8Char(x+6,y,j+48);
 		LED_P6x8Char(x+12,y,k+48);
  	}
	else 	
	{
		databiti = 2;
		LED_P6x8Char(x+6,y,k+48);
	}	
 	if(tempdatalp < 0)tempdatalp = - tempdatalp;	
	switch(num)
	{
		case 0: break;
		case 1:  LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp / 1000),num);break;
		case 2:  LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp / 100),num);break;
		case 3:  LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp / 10),num);break;
		case 4:  LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp),num);break;					
	}
 }
Пример #5
0
 void LED_PrintValueFP(unsigned char x, unsigned char y, unsigned int data, unsigned char num)
 {
 	unsigned char m,i,j,k;  	
 	LED_P6x8Char(x, y, '.');
	m= data/1000;
	i = (data%1000)/100;
	j = (data%100)/10;
	k = data%10;
	switch(num)
	{
		case 1:  	LED_P6x8Char(x+6,y,k+48);
				break;
		case 2:  	LED_P6x8Char(x+6,y,j+48);
				LED_P6x8Char(x+12,y,k+48);
				break;
		case 3:	LED_P6x8Char(x+6,y,i+48);
				LED_P6x8Char(x+12,y,j+48);
				LED_P6x8Char(x+18,y,k+48);
				break;
		case 4: 	LED_P6x8Char(x+6,y,m+48);
				LED_P6x8Char(x+12,y,i+48);
				LED_P6x8Char(x+18,y,j+48);
				LED_P6x8Char(x+24,y,k+48);
				break;	
	}
 }