本文介紹用戶自己生成的漢字字庫如何通過RA8889/RA8876顯示到液晶屏上。
一、實例效果圖:
漢字字庫通過第三方軟件生成,點陣是從右到右排列,左高位排法,網(wǎng)上有許多軟件可用,這邊就不再列舉。
漢字表如下,可根據(jù)需求量生成,而不是全部幾千上萬個漢字,這種方法占用的空間比較小,漢字表是存放在MCU的FLASH中的:// ------------------ 漢字字模的數(shù)據(jù)結(jié)構(gòu)定義 ------------------------ //
typedef struct // 漢字字模數(shù)據(jù)結(jié)構(gòu)
{
signed char Index[2]; // 漢字內(nèi)碼索引
char Msk[72]; // 點陣碼數(shù)據(jù)
}typFNT_GB24;/////////////////////////////////////////////////////////////////////////
// 漢字字模表 //
// Font:宋體24,,橫向取模左高位,數(shù)據(jù)排列:從左到右從上到下 //
/////////////////////////////////////////////////////////////////////////
typFNT_GB24 code_GB_24[] = // 數(shù)據(jù)表
{
"蘇", 0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x83,
0x00,0x00,0x83,0x08,0x7F,0xFF,0xFC,0x00,
0x83,0x00,0x00,0x83,0x00,0x00,0xB3,0x00,
0x00,0x30,0x00,0x00,0x30,0x00,0x1F,0xFF,
0xE0,0x00,0x20,0xC0,0x00,0x20,0xC0,0x00,
0x20,0xC0,0x08,0x60,0x98,0x08,0x40,0x8C,
0x18,0x40,0x8C,0x30,0x80,0x84,0x01,0x80,
0x80,0x01,0x01,0x80,0x06,0x1D,0x80,0x08,
0x07,0x00,0x10,0x00,0x00,0x00,0x00,0x00,"州", 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x10,0x03,0x00,0x18,0x03,0x04,0x10,0x02,
0x04,0x10,0x02,0x04,0x10,0x02,0x04,0x10,
0x02,0x04,0x10,0x02,0x45,0x10,0x12,0x44,
0x90,0x12,0x24,0xD0,0x32,0x24,0xD0,0x32,
0x24,0x10,0x02,0x04,0x10,0x02,0x04,0x10,
0x06,0x04,0x10,0x04,0x04,0x10,0x04,0x04,
0x10,0x08,0x04,0x10,0x08,0x04,0x10,0x10,
0x00,0x10,0x20,0x00,0x18,0x40,0x00,0x00
};
二、程序流程圖:
字庫表只是點陣,有筆畫的點為1,沒有筆畫的點為0,8個點為一個字節(jié),通過RA8889/RA8876的圖形加速功能,將每位延展出一個RGB像素點:
三、演示代碼:int main(void)
{
/* System Clocks Configuration */
RCC_Configuration();
delay_init(72);
GPIO_Configuration();
//NVIC_Configuration();
//SPI_Peripheral_Init();
/* Enable the FSMC Clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
delay_ms(1);
FSMC_LCD_Init_H();/*RA8889初始化*/
RA8889_Initial();
/*清屏,填充黑色0x0*/
BTE_Solid_Fill(0,canvas_image_width,0,0,0x0,LCD_Width,LCD_Height);
/*MCU寫入GB2312漢字 功能例程測試*/
User_Font_Init(0,canvas_image_width,0,color65k_white,color65k_blue);
Show_User_Font_32(code_GB_32,200,100,"蘇州菱致電子有限公司");
User_Font_Init(0,canvas_image_width,1,color65k_green,color65k_blue);
Show_User_Font_24(code_GB_24,320,150,"瑞佑科技");
User_Font_Init(0,canvas_image_width,1,color65k_yellow,color65k_blue);
Show_User_Font_16(code_GB_16,280,200,"提供專業(yè)的液晶顯示方案");while(1);
}
RA8889/RA8876系列芯片是具有圖形加速功能的,這種方法顯示漢字的速度很快!同時可指定漢字的前景色和背景色。
四、延伸應(yīng)用:
這種方法可以做各種單色的ICON,可以指定顏色,非常靈活!
↓↓↓↓↓↓ 底部提供源程序下載。 ↓↓↓↓↓↓
分享到:
相關(guān)熱詞搜索:漢字顯示 自定義 RA8889 RA8876
上一篇:RA8889/RA8876顯示自定義ASCII字符方法
下一篇:最后一頁
>>延伸閱讀:0