TFTLCD漢字顯示

TFTLCD上顯示漢字的相關準備工作:

1、硬件平臺:STM32開發板、TFTLCD顯示模塊

2、代碼編輯、編譯:Keil uVision4

3、程序下載方法:使用“mcuisp”,利用串口助手將程序下載到開發板

4、取模工具:TFTLCD顯示漢字需要用到的取模軟件如下圖

5、硬件電路設計:

LCD_LED 對應 PC10;
LCD_CS 對應 PC9;
LCD _RS 對應 PC8;
LCD _WR 對應 PC7;
LCD _RD 對應 PC6;
LCD _D[17:1] 對應 PB[15:0];


在這裏只列出了硬件原理圖,在顯示漢字的時候會用到前面章節學習到的內容TFTLCD顯示。這裏只講解漢字顯示方法。接下來介紹與漢字顯示相關的函數。



//畫點
//x,y:座標
//POINT_COLOR:此點的顏色

void LCD_DrawPoint(u16 x,u16 y)
{
LCD_SetCursor(x,y); //設置光標位置 
LCD_WriteRAM_Prepare(); //開始寫入GRAM
LCD->LCD_RAM=POINT_COLOR; 
}
   
//在LCD上的(x,y)處畫點
//color:點的顏色

void LCD_Draw_Point(u16 x,u16 y,u16 color)
{
u16 temp;
temp=POINT_COLOR;
POINT_COLOR=color;
   
LCD_DrawPoint(x,y);
POINT_COLOR=temp;
}


//在指定位置 顯示1個16*16的漢字
//(x,y):漢字顯示的位置
//index:tfont數組裏面的第幾個漢字
//color:這個漢字的顏色
//

void LCD_Show_CH_Font16(u16 x,u16 y,u8 index,u16 color)
{  
   
u8 temp,t,t1;
u16 y0=y;   
    for(t=0;t<32;t++)//每個16*16的漢字點陣 有32個字節
    {   
if(t<16)temp=tfont16[index*2][t];      //前16個字節
else temp=tfont16[index*2+1][t-16];    //後16個字節                          
        for(t1=0;t1<8;t1++)
{
if(temp&0x80)LCD_Draw_Point(x,y,color);//畫實心點
else LCD_Draw_Point(x,y,BACK_COLOR);   //畫空白點(使用背景色)
temp<<=1;
y++;
if((y-y0)==16)
{
y=y0;
x++;
break;
}
}    
    }          
}

//在指定位置 顯示1個24*24的漢字
//(x,y):漢字顯示的位置
//index:tfont數組裏面的第幾個漢字
//color:這個漢字的顏色

void LCD_Show_CH_Font24(u16 x,u16 y,u8 index,u16 color)
{  
   
u8 temp,t,t1;
u16 y0=y;   
    for(t=0;t<72;t++)//每個24*24的漢字點陣 有72個字節
    {   
if(t<24)temp=tfont24[index*3][t];           //前24個字節
else if(t<48)temp=tfont24[index*3+1][t-24]; //中24個字節                          
        else temp=tfont24[index*3+2][t-48];         //後24個字節
   for(t1=0;t1<8;t1++)
{
if(temp&0x80)LCD_Draw_Point(x,y,color);//畫實心點
else LCD_Draw_Point(x,y,BACK_COLOR);   //畫空白點(使用背景色)
temp<<=1;
y++;
if((y-y0)==24)
{
y=y0;
x++;
break;
}
}    
    }          
}


注意:
1、該文章採用的是將取模後的漢字利用頭文件保存到工程,然後編譯下載到開發板。
這種方法所支持的漢字僅限頭文件中包含的經過取模後的漢字。
2、顯示漢字函數與取模方法是存在對應關係,取模方法不一樣對應的漢字顯示函數是不一樣的。
本文章上面有取模軟件的設置方法,而下面的漢字顯示函數是與上面有取模軟件的設置方法對應的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章