Exemple #1
0
//****************************************************************
//函数名称:Display()显示测试结果
//****************************************************************
void Display(void)
{
  DisplayCgrom(0x80,"          123456");
  DisplayCgrom(0x88,"                ");
  DisplayCgrom(0x90,"                ");
  DisplayCgrom(0x98,"                ");
}
void LCD12864_DisplayStr(unsigned char x,unsigned char y,unsigned char *c)  //向第x(0~3)行,y(0~7)列写字符串,每列可显示1汉字或2西文字符
{
  LCD12864_WriteCmd(0x30);//关闭扩充指令集
  switch(x)
  {
  case 0:DisplayCgrom(0x80+y,c);break;
  case 1:DisplayCgrom(0x90+y,c);break;
  case 2:DisplayCgrom(0x88+y,c);break;
  case 3:DisplayCgrom(0x98+y,c);break;
  default:break;
  }
}
void LCD12864_DisplayNum(unsigned char addr,int num)
{
  unsigned char str[7]={0};
  int i,t=0;
  if(num<0) t=1,num=-num;
  for(i=5;num>0;i--)
  {
    str[i]=num%10+'0';
    num/=10;
  }
  if(t) str[i]='-',DisplayCgrom(addr,str+i);
  else DisplayCgrom(addr,str+i+1);
}
int  LCD12864_CreatInputBox(unsigned char L,unsigned char R,unsigned char Enter,unsigned char Back)       //L为左端地址,R为右端地址,Enter为确认字符,Back为取消字符。返回自然数或 -1(标志执行返回操作)
{
  int key_val=0;
  unsigned char key,InputState=0,InputVector=L;//InputState指示当前向量输入状态。无数值为0,有为1。
  while(1)
  {
    LCD12864_WriteCmd(InputVector);
    LCD12864_WriteCmd(0x0f);
    while((key=read_key())=='?');
    if('0'<=key&&key<='9')
    {
      DisplayCgrom(InputVector,"  ");
      LCD12864_DisplayChar(InputVector,key);
      if(InputVector==R && InputState==1) key_val/=10,InputState=1;
      else InputVector++,InputState=0;
      if(InputVector>R) InputVector=R,InputState=1;
      LCD12864_WriteCmd(InputVector);
      key_val=key_val*10+key-'0';
    }
    else if(key==Back)
    {
      if(InputVector==L && InputState==0) return -1;
      if(InputState==1)
      {
        key_val/=10;
        InputState=0;
      }
      else
      {
        key_val/=10;
        InputVector--;
      }
      DisplayCgrom(InputVector,"  ");
      LCD12864_WriteCmd(InputVector);
    }
    else if(key==Enter)
    {
      return key_val;
    }
  }
}
Exemple #5
0
//****************************************************************
//函数名称:Display_shine()闪烁
//****************************************************************
void Display_shine(uchar x,uchar y,int num)
{
  static int flag = 0 ;
  uint temp[4];
  temp[0]=num/1000;                       //分出千,百,十,和个位
  temp[1]=(num%1000)/100;
  temp[2]=(num%100)/10;
  temp[3]=(num%10);
  unsigned char str[] = "          1234";
  //unsigned char str[] = "          1234";
  str[10]=temp[0]+48;
  str[11]=temp[1]+48;
  str[12]=temp[2]+48;
  str[13]=temp[3]+48;
  //unsigned char str[] = "          1234";
  if(flag)
  {
  str[10+y]=temp[y]+48;
  if(x)
  DisplayCgrom(0x90,str);
  else
  DisplayCgrom(0x80,str);
  delay_ms(1000);
  }
  else
  {
  str[10+y]= ' ';
  if(x)
  DisplayCgrom(0x90,str);
  else
  DisplayCgrom(0x80,str);
  delay_ms(1000);
  }
  flag = ~flag;
  //DisplayCgrom(0x80,str);
  
}
Exemple #6
0
//****************************************************************
//函数名称:Display_ampl()显示频率
//****************************************************************
void Display_ampl(int ampl)
{
  uint qian,bai,shi,ge;
  qian=ampl/1000;                       //分出千,百,十,和个位
  bai=(ampl%1000)/100;
  shi=(ampl%100)/10;
  ge=(ampl%10);
  unsigned char str[] = "          1234";
  //unsigned char str[] = "          1234";
  str[10]=qian+48;
  str[11]=bai+48;
  str[12]=shi+48;
  str[13]=ge+48;
  //DisplayCgrom(0x80,str);
  DisplayCgrom(0x90,str);
  //DisplayCgrom(0x90,"                ");
  //DisplayCgrom(0x98,"                ");
}
Exemple #7
0
//****************************************************************
//函数名称:Display_freq()显示频率
//****************************************************************
void Display_freq(int freq)
{
  uint qian,bai,shi,ge;
  qian=freq/1000;                       //分出千,百,十,和个位
  bai=(freq%1000)/100;
  shi=(freq%100)/10;
  ge=(freq%10);
  unsigned char str[] = "          1234";
  //unsigned char str[] = "          1234";
  str[10]=qian+48;
  str[11]=bai+48;
  str[12]=shi+48;
  str[13]=ge+48;
  DisplayCgrom(0x80,str);
  //DisplayCgrom(0x88,"                ");
  //DisplayCgrom(0x90,"                ");
  //DisplayCgrom(0x98,"                ");
}