字符叠加芯片90092的配置

举报
kobesdu 发表于 2022/01/29 13:23:09 2022/01/29
【摘要】 说明MB90092是日本FUJITSU公司推出的一款用CMOS工艺制成的专用视频字符叠加芯片。MB90092内部集成了显示内存(VRAM)、外挂字库接口和视频信号发生器,外部只需连接少量的元件就可以显示汉字和图形。 MB90092的配置接口是spi,下面是stm32配置mb90092的方式 包括mb90092的基础配置和后面可以实时切换显示的字符的代码 在叠加字符的时候,相应的字符存储在ro...

说明

MB90092是日本FUJITSU公司推出的一款用CMOS工艺制成的专用视频字符叠加芯片。MB90092内部集成了显示内存(VRAM)、外挂字库接口和视频信号发生器,外部只需连接少量的元件就可以显示汉字和图形。 MB90092的配置接口是spi,下面是stm32配置mb90092的方式 包括mb90092的基础配置和后面可以实时切换显示的字符的代码 在叠加字符的时候,相应的字符存储在rom中,指定字符地址就可读取

90092的上电初始配置

void init_ic(unsigned char bc)

{

unsigned char i,j;

    MB90092_SPI_SendData(0x98);   /*--------command 3----------*/           //没填充FIL位
复制代码

MB90092_SPI_SendData(0); /*FIL 位,此命令可以不动 */

// MB90092_SPI_SendData(0xaa); //--------command 5----------/

     //---------

     MB90092_SPI_SendData(0xad);//---------    //ac 10101100 ,ad:10101101
复制代码

MB90092_SPI_SendData(0x11); //*;1 0 1 0 1 KID APC GYZ

//45度的颜色相位偏移,BH2/BH1/BH0,主屏线空间控制:W3/W2/W1/W0

     MB90092_SPI_SendData(0xbd);   //*-command 7 ---1011 1101-*/
复制代码

MB90092_SPI_SendData(0x1c); //垂直位置设定 14 /24

     MB90092_SPI_SendData(0xc4);   /*0xc4--------command 8-----11000100-------*/
复制代码

MB90092_SPI_SendData(0x22); //水平位置设定 0x0a

MB90092_SPI_SendData(0xc8); /--------command 9---------/

MB90092_SPI_SendData(0x00); //*水平位置设定

     MB90092_SPI_SendData(0xd0);   //*-0xd1字体有背景#######-------command10----------
复制代码

MB90092_SPI_SendData(0x58+bc); //0x58#####1 1 0 1 0 0 0 RB

//MB90092_SPI_SendData(0x38+bc); // 0 BK CC BC UC UG UR UB

     signal=0;

     MB90092_SPI_SendData(0xa2+signal);//*-------command4----------
复制代码

// MB90092_SPI_SendData(0x2b);

     MB90092_SPI_SendData(0x39);//---------
复制代码

//command6

//MB90092_SPI_SendData(0xb2);

     for(i=0;i<12;i++)

{
         disp_color(i);

     }

     for(j=0;j<13;j++)

     {
              for(i=0;i<24;i++)

              {
                      disp_num(j,i,0x00,1,bc,0,0);

              }

     }
复制代码

}

不同形式的字符显示

//白边测试

//原,字体正常,没有白边

// MB90092_SPI_SendData(0xa6); //signal=4;外同步;signal=0,内同步,IE设置

// MB90092_SPI_SendData(0x0B); //P制式

//字体放大,有白边。

MB90092_SPI_SendData(0xa4); //1010 0100

MB90092_SPI_SendData(0x39); //0011 1001 ZM=1 缩放到主屏

//有白边,字体正常。

// MB90092_SPI_SendData(0xa4);//1010 0100

// MB90092_SPI_SendData(0x29); //0010 1001 ZM=0 正常显示

显示相应的字符

在特定的行和列显示指定的字符,以指定的格式显示

//************************************************************************************* /* row:行, col:列, addr:地址, flag:尺寸, bc:背景颜色, cc:前景颜色, at:特殊显示标记*/ //************************************************************************************* void disp_num(unsigned char row, unsigned char col,unsigned short addr,unsigned char flag,unsigned char bc,unsigned char cc, unsigned char ff) {

 unsigned char temp1,temp2,color;
unsigned char ma,mb,mc;    
    
temp1=row; 
temp1=((temp1>>2)&0x3)+0x80;                    //行位置设定命令转换
temp2=row;
temp2=((temp2<<5)&0x60)+col;                    //列位置设定命令转换

MB90092_SPI_SendData(temp1);                   //行位置
MB90092_SPI_SendData(temp2);                   //列位置
                          
MB90092_SPI_SendData(0xb0+flag);               //字体尺寸
MB90092_SPI_SendData(0x20+row);                //字体尺寸
  
//Command 1-1
// 1 0 0 0 1 MA MB AT
//AT:0 -- Specify normal display
//   1 -- Specify attribute display
//Solid-fill background (when command 10: RB = 1)
//Blinking (when command 10: BK = 1)
//Shaded background (when command 1: BS = 1)
color=((cc<<4)&0x70)+bc;
//0 CG CR CB NC BG BR BB
//              GR BS MD
MB90092_SPI_SendData(0x88|ff); 
MB90092_SPI_SendData(color);   
     
mc=((addr/4096)<<3)&0x08;
mb=(((addr%4096)/2048)<<1)&0x02;
ma=(((addr%2048)/1024)<<2)&0x04;

//Command 1-1
MB90092_SPI_SendData(0x88|ff|ma|mb);               //command1-1 
MB90092_SPI_SendData(color|mc);             
//command2-1
MB90092_SPI_SendData(0x90+(addr%1024)/128);        //command2-1
MB90092_SPI_SendData(addr%128);
复制代码

}

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。