|
本帖最后由 cheney03 于 2020-6-16 08:35 編輯
//TFT液晶屏,RA8875芯片驅動,下面是顯示漢字程序,實驗結果未顯示漢字。不知道是哪里有問題,是不是紅色字體寄存器設置有問題?麻煩各位大佬幫忙看下
// 初次用到取模方式,有個疑問:取模后的數組存放在單片機中,LCD是怎么樣讀取字模的,字模屬于片外CGROM?
#include <stdio.h>
#include <reg52.h>
#include "ra8875.h
#define White 0xFFFF
#define Black 0x0000
void Cmd_Write(unsigned char a,unsigned char b)
{
LCD_CmdWrite(a);//寫指令
LCD_DataWrite(b); //寫數據
/********文字寫入位置
void FontWrite_Position(unsigned int X,unsigned int Y)
{
unsigned char temp;
temp=X;
LCD_CmdWrite(0x2A);
LCD_DataWrite(temp);
temp=X>>8;
LCD_CmdWrite(0x2B);
LCD_DataWrite(temp);
temp=Y;
LCD_CmdWrite(0x2C);
LCD_DataWrite(temp);
temp=Y>>8;
LCD_CmdWrite(0x2D);
LCD_DataWrite(temp);
}
#include "GB1616.h" //16*16漢字字模
void PutGB1616(unsigned int x, unsigned int y, unsigned char c[2], unsigned int fColor,unsigned int bColor)
{
unsigned int i,j,k;
Cmd_Write(0x40,0x80); //寄存器配置選擇文字模式
Cmd_Write(0x21,0x00); //Font Control
Cmd_Write(0x22,0x05); //transparency 0x45
Cmd_Write(0x2E,0x00); //文字大小,間距設置
Cmd_Write(0x2f,0x81); // Font ROM Setting GT23L32s4w_GB2312
FontWrite_Position(x,y);
for (k=0;k<64;k++)
{
if ((codeGB_16[k].Index[0]==c[0])&&(codeGB_16[k].Index[1]==c[1]))
{
for(i=0;i<32;i++) {
unsigned short m=codeGB_16[k].Msk;
for(j=0;j<8;j++) {
if((m&0x80)==0x80) {
Text_Foreground_Color1(fColor);
}
else {
Text_Background_Color1(bColor);
}
m<<=1;
}
}
}
}
}
// ------------------ 漢字字模的數據結構定義 ------------------------ //
struct typFNT_GB16 // 漢字字模數據結構
{
unsigned char Index[3]; // 漢字內碼索引
unsigned char Msk[32]; // 點陣碼數據
};
/////////////////////////////////////////////////////////////////////////
// 漢字字模表 //
// 漢字庫: 宋體16.dot,橫向取模左高位,數據排列:從左到右從上到下 //
/////////////////////////////////////////////////////////////////////////
code struct typFNT_GB16 codeGB_16[] = // 數據表
{
/*-- 文字: 電 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
"電",0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x02,0x01,0x02,0x00,0xFE,0x00,0x00,
}
PutGB1616(20,200,"電",black,White);
下面是兩個寄存器[21h]、[2Fh]的配置
|
-
1.png
(98.15 KB, 下載次數: 59)
下載附件
2020-6-15 23:37 上傳
-
2.png
(87.27 KB, 下載次數: 60)
下載附件
2020-6-15 23:37 上傳
|