金牌会员
 
- 积分
- 1532
- 金钱
- 1532
- 注册时间
- 2018-11-15
- 在线时间
- 293 小时
|

楼主 |
发表于 2018-11-22 16:35:36
|
显示全部楼层
//显示字符
void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)
{
u8 temp,t1,t;
u16 y0=y;
u8 csize=(size/8+((size%8)?1:0))*(size/2);
num=num-' ';
for(t=0;t<csize;t++)
{
if(size==12)temp=asc2_1206[num][t];
else if(size==16)temp=asc2_1608[num][t];
else if(size==24)temp=asc2_2412[num][t];
else return;
for(t1=0;t1<8;t1++)
{
if(temp&0x80)
{
DrawPixel(x,y,Black);//×Ô¼ºÐ´µÄÃèµãº¯Êý
}
else if(mode==0)
{
DrawPixel(x,y,BACK_COLOR);
}
temp<<=1;
y++;
lcddev.width = 10240;
lcddev.height = 10240;
if(y>=lcddev.height){
printf(" if : %d \r\n",lcddev.height);
return;
}
if((y-y0)==size)
{
y=y0;
x++;
if(x>=lcddev.width){
printf("%d \r\n",lcddev.width);
return;
}
break;
}
}
}
}
u32 LCD_Pow(u8 m,u8 n)
{
u32 result=1;
while(n--)result*=m;
return result;
}
void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 size)
{
u8 t,temp;
u8 enshow=0;
for(t=0;t<len;t++)
{
temp=(num/LCD_Pow(10,len-t-1))%10;
if(enshow==0&&t<(len-1))
{
if(temp==0)
{
LCD_ShowChar(x+(size/2)*t,y,' ',size,0);
continue;
}else enshow=1;
}
LCD_ShowChar(x+(size/2)*t,y,temp+'0',size,0);
}
}
void LCD_ShowxNum(u16 x,u16 y,u32 num,u8 len,u8 size,u8 mode)
{
u8 t,temp;
u8 enshow=0;
for(t=0;t<len;t++)
{
temp=(num/LCD_Pow(10,len-t-1))%10;
if(enshow==0&&t<(len-1))
{
if(temp==0)
{
if(mode&0X80)LCD_ShowChar(x+(size/2)*t,y,'0',size,mode&0X01);
else LCD_ShowChar(x+(size/2)*t,y,' ',size,mode&0X01);
continue;
}else enshow=1;
}
LCD_ShowChar(x+(size/2)*t,y,temp+'0',size,mode&0X01);
}
}
void LCD_ShowString(u16 x,u16 y,u16 width,u16 height,u8 size,u8 *p)
{
u8 x0=x;
width+=x;
height+=y;
while((*p<='~')&&(*p>=' '))
{
if(x>=width){x=x0;y+=size;}
if(y>=height)break;
LCD_ShowChar(x,y,*p,size,0);
x+=size/2;
p++;
}
} |
|