原创 12864液晶动态进度条

2008-10-26 19:27 4336 11 11 分类: MCU/ 嵌入式

 


12864液晶上用动态变化的进度条长度来反映某一变量的变化,例如反映AD测量值等,以下是代码:
void line(uint q)
{
uchar i,t,x,y,line[16]={0x00};
uint j="0";      
line[0]=0x80;   //开头一位自己根据具体程序需要填上
t=q/8+1; //求出满显示
for(i=1;i<t;i++)
{
      line=0xff;  //填满
}
switch(q%8) //求出最后一位显示数据中显示的像素点个素
{
  case 1: line[t]=128;break;
  case 2: line[t]=128+64;break;
  case 3: line[t]=128+64+32;break;
  case 4: line[t]=128+64+32+16;break;
  case 5: line[t]=128+64+32+16+8;break;
  case 6: line[t]=128+64+32+16+8+4;break;
  case 7: line[t]=128+64+32+16+8+4+2;break;
  case 8: line[t]=128+64+32+16+8+4+2+1;break;
}
for(i=t+1;i<16;i++)
{
  line=0x00;
}            
line[15]=0x01;     //最后一位更具自己的需要填上
for(y=21;y<25;y++)
  for(x=0;x<8;x++)
  {
   SeGcom(y+0x80);
   SeGcom(x+0x80+8);
   LCD_DW(line[j++]);
   LCD_DW(line[j++]);
   if(j>15)
    j="0";
  }
}

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条