⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 font5_7.c

📁 用SMART2200低成本的实现OV9650摄像头驱动
💻 C
字号:
/****************************************************************************************
* 文件名:FONT5_7.C
* 功能:5*7 ASCII码字体及显示函数。
* 作者:黄绍斌
* 日期:2004.02.26
* 备注:使用GUI_SetColor()函数设置前景颜色及背景色。
****************************************************************************************/
#include  "config.h"

#if  FONT5x7_EN==1

/* 5*7字体定义 */
const uint8 FONT5x7ASCII[][8] = {
/* 空格 */  
  {
   0x00,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00}

/*  !  */
 ,{
   0x80,
   0x80,
   0x80,
   0x80,
   0x80,
   0x00,
   0x80,
   0x80}


/*  "  */
 ,{
   0xa0,
   0xa0,
   0xa0,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00}

/* #  */
 ,{
   0x50,
   0x50,
   0xf8,
   0x50,
   0xf8,
   0x50,
   0x50,
   0x00}

/*  $  */
 ,{
   0x20,
   0x78,
   0xa0,
   0x70,
   0x28,
   0xf0,
   0x20}

/*  %  */
 ,{
   0xc0,
   0xc8,
   0x10,
   0x20,
   0x40,
   0x98,
   0x18,
   0x00}

/*  &  */
 ,{
   0x60,
   0x90,
   0xa0,
   0x40,
   0xa8,
   0x90,
   0x68,
   0x00}

/*  '  */
 ,{
   0xc0,
   0x40,
   0x80,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00}

/*  (  */
 ,{
   0x20,
   0x40,
   0x80,
   0x80,
   0x80,
   0x40,
   0x20,
   0x00}

/*  )  */
 ,{
   0x80,
   0x40,
   0x20,
   0x20,
   0x20,
   0x40,
   0x80,
   0x00}

/*  *  */
 ,{
   0x00,
   0x50,
   0x20,
   0xf8,
   0x20,
   0x50,
   0x00,
   0x00}

 ,{
   0x00,
   0x20,
   0x20,
   0xf8,
   0x20,
   0x20,
   0x00,
   0x00}

 ,{
   0x00,
   0x00,
   0x00,
   0x00,
   0x00,
   0xc0,
   0x40,
   0x80}

 ,{
   0x00,
   0x00,
   0x00,
   0xf8,
   0x00,
   0x00,
   0x00,
   0x00}

 ,{
   0x00,
   0x00,
   0x00,
   0x00,
   0x00,
   0xc0,
   0xc0,
   0x00}

 ,{
   0x00,
   0x08,
   0x10,
   0x20,
   0x40,
   0x80,
   0x00,
   0x00}

/* 0 */
 ,{
   0x70,
   0x88,
   0x98,
   0xa8,
   0xc8,
   0x88,
   0x70,
   0x00}

/* 1 */
 ,{
   0x20,
   0x60,
   0x20,
   0x20,
   0x20,
   0x20,
   0x70,
   0x00}

/* 2 */
 ,{
   0x70,
   0x88,
   0x08,
   0x30,
   0x40,
   0x80,
   0xf8,
   0x00}

/* 3 */
 ,{
   0x70,
   0x88,
   0x08,
   0x30,
   0x08,
   0x88,
   0x70,
   0x00}

/* 4 */
 ,{
   0x10,
   0x30,
   0x50,
   0x90,
   0xf8,
   0x10,
   0x10,
   0x00}

/* 5 */
 ,{
   0xf8,
   0x80,
   0xf0,
   0x08,
   0x08,
   0x88,
   0x70,
   0x00}

/* 6 */
 ,{
   0x30,
   0x40,
   0x80,
   0xf0,
   0x88,
   0x88,
   0x70,
   0x00}

/* 7 */
 ,{
   0xf8,
   0x08,
   0x10,
   0x20,
   0x40,
   0x40,
   0x40,
   0x00}

/* 8 */
 ,{
   0x70,
   0x88,
   0x88,
   0x70,
   0x88,
   0x88,
   0x70,
   0x00}

/* 9 */
 ,{
   0x70,
   0x88,
   0x88,
   0x78,
   0x08,
   0x10,
   0x60,
   0x00}

/* ':' 3a */
 ,{
   0x00,
   0xc0,
   0xc0,
   0x00,
   0xc0,
   0xc0,
   0x00,
   0x00}

/* ';' 3b */
 ,{
   0x00,
   0x00,
   0xc0,
   0xc0,
   0x00,
   0xc0,
   0x40,
   0x80}


/* '<' 3c */
 ,{
   0x10,
   0x20,
   0x40,
   0x80,
   0x40,
   0x20,
   0x10,
   0x00}

/* '=' 3d */
 ,{
   0x00,
   0x00,
   0xf8,
   0x00,
   0xf8,
   0x00,
   0x00,
   0x00}

/* '>' */
 ,{
   0x80,
   0x40,
   0x20,
   0x10,
   0x20,
   0x40,
   0x80,
   0x00}

/* '?' */
 ,{
   0x70,
   0x88,
   0x08,
   0x10,
   0x20,
   0x00,
   0x20,
   0x00}

/* @ */
 ,{
   0x70,
   0x88,
   0x08,
   0x68,
   0xa8,
   0xa8,
   0x70,
   0x00}

/* A */
 ,{
   0x70,
   0x88,
   0x88,
   0xf8,
   0x88,
   0x88,
   0x88,
   0x00}

/* B */
 ,{
   0xf0,
   0x88,
   0x88,
   0xf0,
   0x88,
   0x88,
   0xf0,
   0x00}

/* C */
 ,{
   0x70,
   0x88,
   0x80,
   0x80,
   0x80,
   0x88,
   0x70,
   0x00}

/* D */
 ,{
   0xe0,
   0x90,
   0x88,
   0x88,
   0x88,
   0x90,
   0xe0,
   0x00}

/* E */
 ,{
   0xf8,
   0x80,
   0x80,
   0xf0,
   0x80,
   0x80,
   0xf8,
   0x00}

/* F */
 ,{
   0xf8,
   0x80,
   0x80,
   0xf0,
   0x80,
   0x80,
   0x80,
   0x00}

/* G */
 ,{
   0x70,
   0x88,
   0x80,
   0x80,
   0x98,
   0x88,
   0x78,
   0x00}

/* H */
 ,{
   0x88,
   0x88,
   0x88,
   0xf8,
   0x88,
   0x88,
   0x88,
   0x00}

/* I */
 ,{
   0xe0,
   0x40,
   0x40,
   0x40,
   0x40,
   0x40,
   0xe0,
   0x00}

/* J */
 ,{
   0x38,
   0x10,
   0x10,
   0x10,
   0x10,
   0x90,
   0x60,
   0x00}

/* K */
 ,{
   0x88,
   0x90,
   0xa0,
   0xc0,
   0xa0,
   0x90,
   0x88,
   0x00}

/* L */
 ,{
   0x80,
   0x80,
   0x80,
   0x80,
   0x80,
   0x80,
   0xf8,
   0x00}

/* M */
 ,{
   0x88,
   0xd8,
   0xa8,
   0xa8,
   0x88,
   0x88,
   0x88,
   0x00}

/* N */
 ,{
   0x88,
   0x88,
   0xc8,
   0xa8,
   0x98,
   0x88,
   0x88,
   0x00}

/* O */
 ,{
   0x70,
   0x88,
   0x88,
   0x88,
   0x88,
   0x88,
   0x70,
   0x00}

/* P */
 ,{
   0xf0,
   0x88,
   0x88,
   0xf0,
   0x80,
   0x80,
   0x80,
   0x00}

/* Q */
 ,{
   0x70,
   0x88,
   0x88,
   0x88,
   0xa8,
   0x90,
   0x68,
   0x00}

/* R */
 ,{
   0xf0,
   0x88,
   0x88,
   0xf0,
   0xa0,
   0x90,
   0x88,
   0x00}

/* S */
 ,{
   0x70,
   0x88,
   0x80,
   0x70,
   0x08,
   0x88,
   0x70,
   0x00}

/* T */
 ,{
   0xf8,
   0x20,
   0x20,
   0x20,
   0x20,
   0x20,
   0x20,
   0x00}

/* U */
 ,{
   0x88,
   0x88,
   0x88,
   0x88,
   0x88,
   0x88,
   0x70,
   0x00}

/* V */
 ,{
   0x88,
   0x88,
   0x88,
   0x88,
   0x88,
   0x50,
   0x20,
   0x00}

/* W */
 ,{
   0x88,
   0x88,
   0x88,
   0xa8,
   0xa8,
   0xa8,
   0x50,
   0x00}

/* 1 */
 ,{
   0x88,
   0x88,
   0x50,
   0x20,
   0x50,
   0x88,
   0x88,
   0x00}

/* Y */
 ,{
   0x88,
   0x88,
   0x50,
   0x20,
   0x20,
   0x20,
   0x20,
   0x00}

/* Z */
 ,{
   0xf8,
   0x08,
   0x10,
   0x20,
   0x40,
   0x80,
   0xf8,
   0x00}

/* 5b */
 ,{
   0xe0,
   0x80,
   0x80,
   0x80,
   0x80,
   0x80,
   0xe0,
   0x00}

/* 5c */
 ,{
   0x00,
   0x80,
   0x40,
   0x20,
   0x10,
   0x08,
   0x00,
   0x00}

/* 5d */
 ,{
   0xe0,
   0x20,
   0x20,
   0x20,
   0x20,
   0x20,
   0xe0,
   0x00}

/* 5e */
 ,{
   0x20,
   0x50,
   0x88,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00}

/* 5f */
 ,{
   0x00,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00,
   0xf8}

/* 60 */
 ,{
   0x80,
   0x40,
   0x20,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00}

/* a */
 ,{
   0x00,
   0x00,
   0x70,
   0x08,
   0x78,
   0x88,
   0x78,
   0x00}

/* b */
 ,{
   0x80,
   0x80,
   0xb0,
   0xc8,
   0x88,
   0x88,
   0xf0,
   0x00}

/* c */
 ,{
   0x00,
   0x00,
   0x60,
   0x90,
   0x80,
   0x90,
   0x60,
   0x00}

/* d */
 ,{
   0x08,
   0x08,
   0x68,
   0x98,
   0x88,
   0x88,
   0x78,
   0x00}

/* e */
 ,{
   0x00,
   0x00,
   0x70,
   0x88,
   0xf8,
   0x80,
   0x70,
   0x00}

/* f */
 ,{
   0x20,
   0x50,
   0x40,
   0xe0,
   0x40,
   0x40,
   0x40,
   0x00}

/* g */
 ,{
   0x00,
   0x00,
   0x78,
   0x88,
   0x88,
   0x78,
   0x08,
   0x70}

/* h */
 ,{
   0x80,
   0x80,
   0xb0,
   0xc8,
   0x88,
   0x88,
   0x88,
   0x00}

/* i */
 ,{
   0x40,
   0x00,
   0x40,
   0x40,
   0x40,
   0x40,
   0x40,
   0x00}

/* j */
 ,{
   0x20,
   0x00,
   0x60,
   0x20,
   0x20,
   0x20,
   0x20,
   0xc0}

/* k */
 ,{
   0x80,
   0x80,
   0x90,
   0xa0,
   0xc0,
   0xa0,
   0x90,
   0x00}

/* l */
 ,{
   0xc0,
   0x40,
   0x40,
   0x40,
   0x40,
   0x40,
   0xe0,
   0x00}

/* m */
 ,{
   0x00,
   0x00,
   0xd0,
   0xa8,
   0xa8,
   0x88,
   0x88,
   0x00}

/* n */
 ,{
   0x00,
   0x00,
   0xb0,
   0xd0,
   0x90,
   0x90,
   0x90,
   0x00}

/* o */
 ,{
   0x00,
   0x00,
   0x60,
   0x90,
   0x90,
   0x90,
   0x60,
   0x00}

/* p */
 ,{
   0x00,
   0x00,
   0xe0,
   0x90,
   0x90,
   0xe0,
   0x80,
   0x80}

/* q */
 ,{
   0x00,
   0x00,
   0x70,
   0x90,
   0x90,
   0x70,
   0x10,
   0x10}

/* r */
 ,{
   0x00,
   0x00,
   0x50,
   0x60,
   0x40,
   0x40,
   0x40,
   0x00}

/* s */
 ,{
   0x00,
   0x00,
   0x70,
   0x80,
   0x60,
   0x10,
   0xe0,
   0x00}

/* t */
 ,{
   0x40,
   0x40,
   0xe0,
   0x40,
   0x40,
   0x40,
   0x60,
   0x00}

/* u */
 ,{
   0x00,
   0x00,
   0x90,
   0x90,
   0x90,
   0x90,
   0x70,
   0x00}

/* v */
 ,{
   0x00,
   0x00,
   0x88,
   0x88,
   0x88,
   0x50,
   0x20,
   0x00}

/* w */
 ,{
   0x00,
   0x00,
   0x88,
   0x88,
   0xa8,
   0xa8,
   0x50,
   0x00}

/* 1 */
 ,{
   0x00,
   0x00,
   0x88,
   0x50,
   0x20,
   0x50,
   0x88,
   0x00}

/* y */
 ,{
   0x00,
   0x00,
   0x90,
   0x90,
   0x90,
   0x70,
   0x10,
   0x60}

/* z */
 ,{
   0x00,
   0x00,
   0xf8,
   0x10,
   0x20,
   0x40,
   0xf8,
   0x00}

/* 017b */
 ,{
   0x20,
   0x40,
   0x40,
   0x80,
   0x40,
   0x40,
   0x20,
   0x00}

/* 017c */
 ,{
   0x40,
   0x40,
   0x40,
   0x40,
   0x40,
   0x40,
   0x40,
   0x00}

/* 017d */
 ,{
   0x80,
   0x40,
   0x40,
   0x20,
   0x40,
   0x40,
   0x80,
   0x00}

/* 017e */
 ,{
   0x68,
   0x90,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00,
   0x00}
   
/* 017f */
 ,{
   0xf8,
   0xf8,
   0xf8,
   0xf8,
   0xf8,
   0xf8,
   0xf8,
   0x00}
   
 };


/****************************************************************************
* 名称:GUI_PutChar()
* 功能:显示ASCII码,显示值为20H-7FH(若为其它值,则显示' ')。
* 入口参数: x		指定显示位置,x坐标
*           y		指定显示位置,y坐标
*           ch		要显示的ASCII码值。
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出有效范围。(显示格式为6*8)
****************************************************************************/
uint8  GUI_PutChar(uint32 x, uint32 y, uint8 ch)
{  uint8   font_dat;
   uint8   i, j;
   TCOLOR  bakc;

   /* 参数过滤 */
   if( x>(GUI_LCM_XMAX-8) ) return(0);
   if( y>(GUI_LCM_YMAX-8) ) return(0);
   if( (ch<0x20) || (ch>0x7f) ) ch = 0x20;
   
   ch -= 0x20; 
   for(i=0; i<8; i++)
   {  /* 读取点阵数据 */
      font_dat = FONT5x7ASCII[ch][i];
      
      for(j=0; j<6; j++)
      {  /* 设置相应的点为color或为back_color */
         if( (font_dat&DCB2HEX_TAB[j])==0 ) GUI_CopyColor(&bakc, back_color);
            else  GUI_CopyColor(&bakc, disp_color);
         GUI_Point(x, y, bakc);       
         x++;
      }
      
      y++;									// 指向下一行
      x -= 6;								// 恢复x值
   }
   
   return(1);
}



/****************************************************************************
* 名称:GUI_PutString()
* 功能:输出显示字符串(没有自动换行功能)。
* 入口参数: x		指定显示位置,x坐标
*           y		指定显示位置,y坐标
*           str		要显示的ASCII码字符串
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
void  GUI_PutString(uint32 x, uint32 y, char *str)
{  while(1)
   {  if( (*str)=='\0' ) break;
      if( GUI_PutChar(x, y, *str++)==0 ) break;
      x += 6;								// 下一个字符显示位置,y不变(即不换行)
   }
}


/****************************************************************************
* 名称:GUI_PutNoStr()
* 功能:输出显示字符串(没有自动换行功能),若显示的字符个数大于指定个数,则直接退出。
* 入口参数: x		指定显示位置,x坐标
*           y		指定显示位置,y坐标
*           str		要显示的ASCII码字符串。
*           no      最大显示字符的个数
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
void  GUI_PutNoStr(uint32 x, uint32 y, char *str, uint8 no)
{  if(no==0) return;
   for(; no>0; no--)
   {  if( (*str)=='\0' ) break;
      if( GUI_PutChar(x, y, *str++)==0 ) break;
      x += 6;								// 下一个字符显示位置,y不变(即不换行)
   }
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -