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

📄 font8_8.c

📁 周立功GUI在avr单片机上的移植 开发环境为IAR
💻 C
📖 第 1 页 / 共 2 页
字号:
            ________}  
        
        /*  T  */
        ,{
            _XXXXXX_,
            _XXXXXX_,
            _X_XX_X_,
            ___XX___,
            ___XX___,
            ___XX___,
            __XXXX__,
            ________}  
        
        /*  U  */
        ,{
            XX___XX_,
            XX___XX_,
            XX___XX_,
            XX___XX_,
            XX___XX_,
            XX___XX_,
            _XXXXX__,
            ________}  
        
        /*  V  */
        ,{
            XX___XX_,
            XX___XX_,
            XX___XX_,
            XX___XX_,
            XX___XX_,
            _XX_XX__,
            __XXX___,
            ________}  
        
        /*  W  */
        ,{
            XX___XX_,
            XX___XX_,
            XX___XX_,
            XX_X_XX_,
            XX_X_XX_,
            XXXXXXX_,
            _XX_XX__,
            ________}  
        
        /*  X  */
        ,{
            XX___XX_,
            XX___XX_,
            _XX_XX__,
            __XXX___,
            _XX_XX__,
            XX___XX_,
            XX___XX_,
            ________}  
        
        /*  Y  */
        ,{
            _XX__XX_,
            _XX__XX_,
            _XX__XX_,
            __XXXX__,
            ___XX___,
            ___XX___,
            __XXXX__,
            ________}  
        
        /*  Z  */
        ,{
            XXXXXXX_,
            XX___XX_,
            X___XX__,
            ___XX___,
            __XX__X_,
            _XX__XX_,
            XXXXXXX_,
            ________}  
        
        /*  [  */
        ,{
            __XXXX__,
            __XX____,
            __XX____,
            __XX____,
            __XX____,
            __XX____,
            __XXXX__,
            ________}  
        
        /*  \  */
        ,{
            XX______,
            _XX_____,
            __XX____,
            ___XX___,
            ____XX__,
            _____XX_,
            ______X_,
            ________}  
        
        /*  ]  */
        ,{
            __XXXX__,
            ____XX__,
            ____XX__,
            ____XX__,
            ____XX__,
            ____XX__,
            __XXXX__,
            ________}  
        
        /*  ^  */
        ,{
            ___X____,
            __XXX___,
            _XX_XX__,
            XX___XX_,
            ________,
            ________,
            ________,
            ________}  
        
        /*  _  */
        ,{
            ________,
            ________,
            ________,
            ________,
            ________,
            ________,
            ________,
            XXXXXXXX}  
        
        /*  `  */
        ,{
            __XX____,
            ___XX___,
            ____XX__,
            ________,
            ________,
            ________,
            ________,
            ________}  
        
        /*  a  */
        ,{
            ________,
            ________,
            _XXXX___,
            ____XX__,
            _XXXXX__,
            XX__XX__,
            _XXX_XX_,
            ________}  
        
        /*  b  */
        ,{
            XXX_____,
            _XX_____,
            _XXXXX__,
            _XX__XX_,
            _XX__XX_,
            _XX__XX_,
            XX_XXX__,
            ________}  
        
        /*  c  */
        ,{
            ________,
            ________,
            _XXXXX__,
            XX___XX_,
            XX______,
            XX___XX_,
            _XXXXX__,
            ________}  
        
        /*  d  */
        ,{
            ___XXX__,
            ____XX__,
            _XXXXX__,
            XX__XX__,
            XX__XX__,
            XX__XX__,
            _XXX_XX_,
            ________}  
        
        /*  e  */
        ,{
            ________,
            ________,
            _XXXXX__,
            XX___XX_,
            XXXXXXX_,
            XX______,
            _XXXXX__,
            ________}  
        
        /*  f  */
        ,{
            __XXXX__,
            _XX__XX_,
            _XX_____,
            XXXXX___,
            _XX_____,
            _XX_____,
            XXXX____,
            ________}  
        
        /*  g  */
        ,{
            ________,
            ________,
            _XXX_XX_,
            XX__XX__,
            XX__XX__,
            _XXXXX__,
            ____XX__,
            XXXXX___}  
        
        /*  h  */
        ,{
            XXX_____,
            _XX_____,
            _XX_XX__,
            _XXX_XX_,
            _XX__XX_,
            _XX__XX_,
            XXX__XX_,
            ________}  
        
        /*  i  */
        ,{
            ___XX___,
            ________,
            __XXX___,
            ___XX___,
            ___XX___,
            ___XX___,
            __XXXX__,
            ________}  
        
        /*  j  */
        ,{
            _____XX_,
            ________,
            _____XX_,
            _____XX_,
            _____XX_,
            _XX__XX_,
            _XX__XX_,
            __XXXX__}  
        
        /*  k  */
        ,{
            XXX_____,
            _XX_____,
            _XX__XX_,
            _XX_XX__,
            _XXXX___,
            _XX_XX__,
            XXX__XX_,
            ________}  
        
        /*  l  */
        ,{
            __XXX___,
            ___XX___,
            ___XX___,
            ___XX___,
            ___XX___,
            ___XX___,
            __XXXX__,
            ________}  
        
        /*  m  */
        ,{
            ________,
            ________,
            XXX_XX__,
            XXXXXXX_,
            XX_X_XX_,
            XX_X_XX_,
            XX_X_XX_,
            ________}  
        
        /*  n  */
        ,{
            ________,
            ________,
            XX_XXX__,
            _XX__XX_,
            _XX__XX_,
            _XX__XX_,
            _XX__XX_,
            ________}  
        
        /*  o  */
        ,{
            ________,
            ________,
            _XXXXX__,
            XX___XX_,
            XX___XX_,
            XX___XX_,
            _XXXXX__,
            ________}  
        
        /*  p  */
        ,{
            ________,
            ________,
            XX_XXX__,
            _XX__XX_,
            _XX__XX_,
            _XXXXX__,
            _XX_____,
            XXXX____}  
        
        /*  q  */
        ,{
            ________,
            ________,
            _XXX_XX_,
            XX__XX__,
            XX__XX__,
            _XXXXX__,
            ____XX__,
            ___XXXX_}  
        
        /*  r  */
        ,{
            ________,
            ________,
            XX_XXX__,
            _XXX_XX_,
            _XX_____,
            _XX_____,
            XXXX____,
            ________}  
        
        /*  s  */
        ,{
            ________,
            ________,
            _XXXXXX_,
            XX______,
            _XXXXX__,
            _____XX_,
            XXXXXX__,
            ________}  
        
        /*  t  */
        ,{
            __XX____,
            __XX____,
            XXXXXX__,
            __XX____,
            __XX____,
            __XX_XX_,
            ___XXX__,
            ________}  
        
        /*  u  */
        ,{
            ________,
            ________,
            XX__XX__,
            XX__XX__,
            XX__XX__,
            XX__XX__,
            _XXX_XX_,
            ________}  
        
        /*  v  */
        ,{
            ________,
            ________,
            XX___XX_,
            XX___XX_,
            XX___XX_,
            _XX_XX__,
            __XXX___,
            ________}  
        
        /*  w  */
        ,{
            ________,
            ________,
            XX___XX_,
            XX_X_XX_,
            XX_X_XX_,
            XXXXXXX_,
            _XX_XX__,
            ________}  
        
        /*  x  */
        ,{
            ________,
            ________,
            XX___XX_,
            _XX_XX__,
            __XXX___,
            _XX_XX__,
            XX___XX_,
            ________}  
        
        /*  y  */
        ,{
            ________,
            ________,
            XX___XX_,
            XX___XX_,
            XX___XX_,
            _XXXXXX_,
            _____XX_,
            XXXXXX__}  
        
        /*  z  */
        ,{
            ________,
            ________,
            _XXXXXX_,
            _X__XX__,
            ___XX___,
            __XX__X_,
            _XXXXXX_,
            ________} 
        
        /*  {  */
        ,{
            ____XXX_,
            ___XX___,
            ___XX___,
            _XXX____,
            ___XX___,
            ___XX___,
            ____XXX_,
            ________}  
        
        /*  |  */
        ,{
            ___XX___,
            ___XX___,
            ___XX___,
            ___XX___,
            ___XX___,
            ___XX___,
            ___XX___,
            ________}  
        
        /*  }  */
        ,{
            _XXX____,
            ___XX___,
            ___XX___,
            ____XXX_,
            ___XX___,
            ___XX___,
            _XXX____,
            ________}  
        
        /*  ~  */
        ,{
            _XXX_XX_,
            XX_XXX__,
            ________,
            ________,
            ________,
            ________,
            ________,
            ________}   
        
        /* 0x7f */
        ,{
            XXXXXX__,
            XXXXXX__,
            XXXXXX__,
            XXXXXX__,
            XXXXXX__,
            XXXXXX__,
            XXXXXX__,
            ________}
        
};

/****************************************************************************
* 名称:GUI_PutChar8_8()
* 功能:显示ASCII码(8*8字体),显示值为20H-7FH(若为其它值,则显示' ')。
* 入口参数: x		指定显示位置,x坐标
*           y		指定显示位置,y坐标
*           ch		要显示的ASCII码值。
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
uint8  GUI_PutChar8_8(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 = FONT8x8ASCII[ch][i];
        
        for(j=0; j<8; 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 -= 8;		// 恢复x值
    }
    
    return(1);
}



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


/****************************************************************************
* 名称:GUI_PutNoStr8_8()
* 功能:输出显示字符串((8*8字体,没有自动换行功能),若显示的字符个数大于指定个数,则直接退出。
* 入口参数: x		指定显示位置,x坐标
*           y		指定显示位置,y坐标
*           str		要显示的ASCII码字符串。
*           no      最大显示字符的个数
* 出口参数:无
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/
void  GUI_PutNoStr8_8(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 + -