欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1460|回復: 5
打印 上一主題 下一主題
收起左側

請教顯示ASCII碼的問題 OLED1.8寸屏怎樣才能顯示更大字符呢?

[復制鏈接]
跳轉到指定樓層
樓主
學習OLED1.8寸屏時能顯示16x16或24x24漢字,也能顯示8x16字符,但看著很小,請教怎樣才能顯示更大字符呢?



/*****************************************************************************
     函數說明:顯示一個英文字符
******************************************************************************/
void Display_ASCII8X16(u16 x0,u16 y0,u8 *s)
{
        int i,j,k,x,y,xx;
        
        unsigned char qm;
        
        long int ulOffset;
        
        char  ywbuf[16],temp[2];

        for(i = 0; i<strlen((char*)s);i++)
        {
                if(((unsigned char)(*(s+i))) >= 161)
                {
                        temp[0] = *(s+i);
                        temp[1] = '\0';
                        return;
                }
               
                else
                {
                        qm = *(s+i);

                        ulOffset = (long int)(qm) * 16;
                        
      for (j=0;j<16;j++)
      {
                                ywbuf[j]=Zk_ASCII8X16[ulOffset+j];
      }

      for(y=0;y<16;y++)
      {
                for(x=0;x<8;x++)
                {
             k=x % 8;
                        
                                          if(ywbuf[y]&(0x80 >> k))
                                           {
                                                  xx=x0+x+i*8;
                                            PutPixel(xx,y+y0,white); //字體顏色
                                          }
                                                        
                                   }
      }

                }
        }            
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:69038 發表于 2024-9-2 07:45 | 只看該作者
可以自制字庫,顯示32*32字體,或更多的都行。
回復

使用道具 舉報

板凳
ID:277550 發表于 2024-9-2 09:38 | 只看該作者
函數是16點陣,再寫1個顯示24點陣。。。。。想要更大,取更大點陣的模
回復

使用道具 舉報

地板
ID:891876 發表于 2024-9-2 13:05 | 只看該作者
本帖最后由 芙蓉焊料 于 2024-9-2 13:54 編輯

弄了幾天也沒能顯示出16x16的英文字符,有示范的程序學習嗎?扒拉了一段程序改了好久也沒弄好,幫忙看看,謝謝!
/*****************************************************************************
   函數說明:顯示單個字符  x,y顯示坐標  num要顯示的字符 fc 字的顏色
      入口數據:   bc 字的背景色  sizey 字號  mode:  0非疊加模式  1疊加模式
******************************************************************************/
void LCD_ShowChar(u16 x,u16 y,u8 num,u16 fc,u16 bc,u8 sizey,u8 mode)
{
        u8 temp,sizex,t,m=0;
        u16 i,TypefaceNum;  //一個字符所占字節大小
        u16 x0=x;
        sizex=sizey/2;
        TypefaceNum=(sizex/8+((sizex%8)?1:0))*sizey;
        num=num-' ';    //得到偏移后的值
        Lcd_SetRegion(x,y,x+sizey-1,y+sizey-1);  //設置光標位置
        for(i=0;i<16;i++)
        {
//                if(sizey==12)temp=ascii_1206[num];                       //調用6x12字體
                else if(sizey==16)temp=asc2_1608[num];                 //調用8x16字體
                //else if(sizey==24)temp=ascii_2412[num];                 //調用12x24字體
//                else if(sizey==32)temp=ascii_3216[num];                 //調用16x32字體
                else return;
                for(t=0;t<8;t++)
                {
                        if(!mode)//非疊加模式
                        {
                                if(temp&(0x01<<t))Lcd_WriteData_16(fc);
                                else Lcd_WriteData_16(bc);
                                m++;
                                if(m%sizex==0)
                                {
                                        m=0;
                                        break;
                                }
                        }
                        else//疊加模式
                        {
                                if(temp&(0x01<<t))LCD_DrawPoint(x,y,fc);//畫一個點
                                x++;
                                if((x-x0)==sizex)
                                {
                                        x=x0;
                                        y++;
                                        break;
                                }
                        }
                }
        }
}




回復

使用道具 舉報

5#
ID:466505 發表于 2024-9-2 16:51 | 只看該作者
用更大的字庫就可以顯示更大的字了
回復

使用道具 舉報

6#
ID:517951 發表于 2024-9-9 08:16 | 只看該作者
8x16,16x16是讀字庫顯示一個pixel, 程序軟件修改一下,改為顯示4個pixel, 就能放大4倍成32x64, 64x64點陣字符了.
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表