久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機+RA8875芯片驅動LCD是如何顯示漢字取模的?求分析程序

[復制鏈接]
回帖獎勵 20 黑幣 回復本帖可獲得 5 黑幣獎勵! 每人限 1 次
跳轉到指定樓層
樓主
本帖最后由 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)

1.png

2.png (87.27 KB, 下載次數: 60)

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

使用道具 舉報

沙發
ID:592807 發表于 2020-6-17 13:10 | 只看該作者
  unsigned short m=codeGB_16[k].Msk;  
這里
  unsigned short m=codeGB_16[k].Msk[i];
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 视频精品一区二区三区 | 欧美精品一区二区三区在线四季 | 亚洲不卡在线视频 | 国产欧美一区二区三区久久 | 久久中文视频 | 国产a区 | 精品在线一区 | 欧美一区二区在线观看视频 | 亚洲视频在线看 | 在线观看国产www | 亚洲一区二区三区视频 | 久久精品欧美一区二区三区麻豆 | 欧美日韩成人 | 日韩不卡三区 | 黄网站免费在线看 | 成人免费观看男女羞羞视频 | 一级黄色裸片 | 精品久久久久香蕉网 | 成人欧美一区二区三区黑人孕妇 | 91精品国产综合久久婷婷香蕉 | 免费不卡视频 | 很黄很污的网站 | 久久精品亚洲成在人线av网址 | 国产乱码一区 | 99视频免费| 亚洲一区二区三区四区五区中文 | 中文字幕视频一区二区 | 欧美bondage紧缚视频 | 欧美一级特黄aaa大片在线观看 | 久久婷婷国产香蕉 | 日韩一级黄色片 | 亚洲第一在线 | 九九热re| 九九国产在线观看 | 黄色网址在线免费观看 | 国内精品视频一区二区三区 | 婷婷综合色 | av影音资源 | 国产成人精品亚洲日本在线观看 | 国产高清精品一区二区三区 | 中文字幕影院 |