2022 07月23日
作者: 显示行家
  • 浏览: 87
  • 收藏:0
  • 点赞:0
液晶显示(八)----图形点阵控制IC-UCI8835应用

       前面介绍过T6963图形控制器,它最大只能驱动到128行,如果需要用到更多行驱动时,T6963就不能满足了。UCI8835是台湾晶宏公司推出的单色图形点阵控制IC,驱动路数从1/2-1/256DUTY,最大支持640x256点阵显示,需要配合LCD驱动IC(KS0086/UCI0086/AIP31086)使用。广泛应用于工业仪器仪表等行业。UCI8835是SED1335(精工爱普生)的替代产品,在同类产品中是功能最强的控制器之一,目前市面还有RA8835可以选用。

一、基本特性

    UCI8835内置160个5x7点阵字符存储器(CGROM),支持常用的ASCII,Janpnese,及数字字符显示;

    支持文本显示、图形显示、图文混合显示模式,图形模式下支持3层复合显示;

    *文本模式下,内部显存区域的每个字节数据都会被当做字符代码(如8x8点阵字符,对应显存一个8x8点阵区域),并用该字代码确定字符库中的字符地址;

    *图形模式下,内部显存区域的每个字节当做图形显示像素点数据,对应1显示,0不显示,一个字节对应显示屏上的一个8个水平像素点;

    控制器内部可管理64K显存区域(DDRAM),支持扩展CGRAM(64个8x16点阵字符)或者扩展CGROM字库(最多256个8x16点阵字符);

    可程序控制光标开关及移动,水平垂直方向滚动显示; 

    支持1/2-1/256Duty;

    采用8位并口直接与MCU通讯(6800/8080);

    低功耗,正常3.5mA工作电流,省电模式0.05uA;

    工作电压2.7-5.5V;

    封装形式:QFP60

二、UCI8835典型应用方式

    2.1 160x160点阵:UCI8835+4xKS0086,1/160duty,VLCD>=18.0V;

    2.2 240x160点阵:UCI8835+5xKS0086,1/160duty,VLCD>=18.0V;

    2.3 320x240点阵:UCI8835+7xKS0086,1/240duty,VLCD>=22.0V;

    UCI8835是纯控制器,它自身不带驱动输出,因此必须配合LCD驱动IC使用。KS0086是80路驱动输出IC,可通过硬件设置为行驱动器或者列驱动器,是UCI8835最常用的搭配选择。应用最多的是240x160和320x240点阵,这2种产品早先大量应用各类仪器仪表,到现在市面仍有不少需求。

三、UCI8835指令表

    UCI8835共有13条指令,通过对这些指令的设置,可实现显示屏文本、图形及图文混合显示,这里对13条指令做说明供大家参考。

    3.1系统设置(40H必设)带8个参数,功能如下:

    参数1(P1):M0=0,内部CGROM;M0=1,外部CGROM;M1=0,内部CGRAM1(80H-9FH,32个);

                    M1=1,内部CGRAM1+CGRAM2(80H-9FH+E0H-FFH,64个);

                    M2=0,外部CGROM字体8x8点阵;M2=1,外部CGROM字体8x16点阵;(参考下表)

字符发生器.png

                    W/S=0,单屏模式;W/S=1,双屏模式(采用双屏模式会降低对比度);

                    IV设置反向显示边界,通常IV=1,无边界(这个主要是考虑文本模式下负显时,最上边一行会影响显示效果)。

    参数2(FX WF):设置字符水平宽度=FX+1,从1-8(PIXELS);WF设置行交流驱动波形,通常设为1,每完成1帧扫描后COM波形翻转。

    参数3(FY):设置字符垂直高度=FY+1,从1-16(PIXELS)。

    参数4(CR):设置有效显示字符数=(实际显示点列数/单个字符宽度)-1,最多可设置240个字符(0x00-0xEFH);其值可以小于显      示屏的实际宽度,但是余留的列数不能超过64点列。例如:显示屏宽度320列,8x8点阵字符显示,则C/R=(320/8)-1=39,如        果设C/R=35,后面4个字符将不会显示。

    参数5(TC/R):设置驱动频率的时间常数,一般要等于或大于C/R+4;改参数设置不正确,将会引起以下问题:

              *行扫描停止或出现亮线;

              *画面不稳定,闪烁/全亮/全暗;

              *LP信号弱或不存在 

    参数6(L/F):设扫描帧参数,单屏模式下L/F=一帧扫描行数(0x00-0xff,对应显示屏的1-256行);双屏模式下L/F=2倍的帧扫描      行数,须为偶数值。

    参数7(APL):设置显存地址低8位。

    参数8(APH):设置显存地址高8位,通常AP取值为C/R+1或大于C/R值的整数。

    

    3.2数据写入设置(42H) 

    该指令可设置MCU连续向显存写入显示数据,方向由光标控制,地址自动增加,至新指令写入结束。


    3.3数据读出设置(43H)

    该指令可设置MCU连续从显存读出数据,方向由光标控制,地址自动增加,至新指令写入结束。


    3.4滚动显示设置(44H)

    该指令带有10个参数,可设置四个显示区域的起始地址SAD和各区控制的显示行数SL,将产生画面平滑移动显示效果。具体如下:

    *SAD1L/SAD1H,分别表示第1显示区起始地址的低8位和高8位地址;

    *SL1,第1显示区控制的显示屏上的行数,取值范围00-L/FH;

    *SAD2L/SAD2H,分别表示第2显示区起始地址的低8位和高8位地址;

    *SL2,第2显示区控制的显示屏上的行数,取值范围00-L/FH;

    *SAD3L/SAD3H,分别表示第3显示区起始地址的低8位和高8位地址;

    *SAD4L/SAD4H,分别表示第4显示区起始地址的低8位和高8位地址;

    如果不需要,参数可以省略但是,参数顺序不能改变。SAD3/SAD4只有在双屏模式或双层显示配置下有效。


    3.5光标指针设置(46H)

    该指令表示当前光标位置和显存当前地址指针,当光标指向有效显示区外时光标会消失。带有2个参数,CRSL/CRSH分别代表光标地址低8位和高8位。


    3.6读光标(47H)

    该指令将指示MCU读出光标当前位置,读出顺序是先低(CSRL)后高(CSRH)。


    3.7设置光标移动方向(4C-4FH)

    通过设置CD0/CD1,可实现光标向右、左、上、下方向移动,这是UCI8835特有之处。


    3.8设置光标形状(5DH)

    该指令设置光标是以线型还是块状型显示,带有2个参数。

    *CRX 表示光标水平像素点数,取值0x00-0x0FH(1-16个像素点),光标宽度应小于等于字符宽度(FX);

    *CRY 表示光标垂直像素点数,取值0x00-0x0FH(1-16个像素点),CRY大于字符高度(FY)无效。

    *CM=0,使用线型光标;CM=1,使用块状光标。


    3.9待机模式设置(53H)

    该指令将强制UCI8835进入待机模式,完最后一行扫描后,将SEG输出清零;关闭显示驱动电源及信号;保存当前状态及RAM区;进入低功耗模式,只有当SYSTEM SET指令P1参数重新写入时,才会退出待机状态。


   3.10 显示开/关设置(58/59H)

    该指令设置显示开关状态,光标及各显示区显示状态,带有1个参数:(见下表)

显示开关.png

    3.11点位移设置(5AH)

    该指令设置以单个像素点为单位的水平位移量(相当于一个字节内的水平移动),带有一个参数,有2个作用,1是与SYSTEM SET的IV结合使用指定负向显示边界;2是与SCROLL(44H)结合使用,产生滚动显示效果:

    *当D[2:0]取值从0x00H—>0x07H时,首先使点位移参数从0-7递增,然后用44H将显示起始地址SDA+1,同时清零5AH,循环此过程,画面呈现左移;

    *当D[2:0]取值从0x07H—>0x00H时,首先使点位移参数从7-0递减,然后用44H将显示起始地址SDA-1,同时置5AH参数为0x07,循环此过程,画面呈现右移;

  

    3.12合成显示方式设置(5BH) 

    该指令设置画面重叠显示方式及显示一、三区显示方式:

    *OV=0,二重合成显示,用于文本和图形、图形和图形混合显示;OV=1,三重合成显示,仅限于图形与图形;

    *DM2=0,设置显示三区(SDA3)为文本方式,数据均做字符代码处理;DM2=1,设显示三区为图形方式,数据按图形数据处理;

    *DM1=0, 设置显示一区(SDA1)为文本方式,数据均做字符代码处理;DM2=1,设显示一区为图形方式,数据按图形数据处理;

    *MAX1  MAX0组合成四种显示方式,(见下表)

显示组合.png

    3.13设置CGRAM首地址(5CH)

    该指令设置CGRAM首地址(SAG)。从SAG起的2K字节空间(M2=0)或4K字节空间(M2=1)为CGRAM区域,带有2个参数:

    *SAGL 为CGRAM地址低8位;

    *SAGH 为CGRAM地址高8位。

    这里SAG地址对应的是字符代码00H的字模首地址,因此对于CGRAM1的首地址为SAG+80Hx8;CGRAM区域为E0H-FFH,由于控制器内部寻址电路上设置了异或40H电路,故CGRAM2的地址应按A0H-BFH计算,即CGRAM2的首地址为SAG+A0Hx8。 


四、T6963数据传送格式

    T6963支持8位并口通讯(8080),按照指令表MCU直接发送指令或显示数据即可。


五、DDRAM与显示屏对应关系(见下图) 

DDRAM对应关系.png

    

六、应用实例

    工业仪器仪表

七、原理图参考(以320x240应用,请直接下载附件)

    PROTEL99版本。

八、实例程序(请直接下载附件,此处仅显示初始化代码)

    *UCI8835先写指令,后写参数(如果有);

    *指令参数不必1次写完(最好写完整),但是参数顺序不能改变;

    *双字节的参数应作如下的处理:

    -CSRW、CSRR指令双字节的参数可以依顺序逐一修改,计算机可以仅改变或检查第一个参数(低字节)的内容;

    -SYSTEM SET、SCROLL、CGRAM ADR等指令双字节参数必须依顺序完整地写入,该参数仅在第二字节写入后才有效。

/**************************************************************
initialize parameters:设置40H 44H参数
**************************************************************/
unsigned char code add40[8]=	//Parameter for system set
{
 0x30,	      //P1         IV=1,W/S=0,M2=0,M1=0,M0=0  单屏模式,内部CGROM,8x8点阵    
 0x87,	      //P2=FX	   Horizontal character size parameter	字符宽带=8
 0x07,	      //P3=FY	   Vertical character size parameter    字符高度=8
 0x27,	      //P4=CR	   Characters per row parameter	       (320/8)-1=39
 0x42,	      //P5=TC/R
 0xef,	      //P6=L/F     Lines per frame instruction	        扫描行数=255
 0x28,	      //P7=APL	   Address pitch parameter      	 
 0x00,       //P8=APH	   Address pitch parameter
};	  
unsigned char code scr44[10]=   //Parameter for Scroll
{
 0x00,	     //P1 	   (SAD 1L)
 0x00,	     //P2  	   (SAD 1H)
 0xf0,	     //P3    	   (SL 1)
 0x80,	     //P4 	   (SAD 2 L)		  MAX640 X MAX256 /8
 0x25,	     //P5          (SAD 2H)
 0xf0,	     //P6 	   (SL 2)
 0x00,	     //P7 	   (SAD 3L)
 0x00,	     //P8          (SAD 3H)
 0x00,	     //P9 	   (SAD 4L)
 0x00,
};	     //P10  	   (SAD 4H)

/**************************************************************
初始化SED1335	或UCI8835
**************************************************************/
void initialzie(void)
{  
   _CS      =  0;
   _DSF     =  1;
   SEL1     =  1;
   _RST     =  0;
   delay(200);
   _RST     =  1;
   _CS      =  1;

   writecoms(0x40,8,add40);      //system set;
   writecoms(0x44,10,scr44);     //Scroll;

   writecom(1,0x5d);             //CURSOR SET;
   writecom(0,0x08);             //Parameter1 FOR CURSOR;
   writecom(0,0x08);             //Parameter1 FOR CURSOR;

   writecom(1,0x4C);             //DIRECTION OF CURSOR INCREMENT;Set cursor shift direction to right

   writecom(1,0x5b);             //Select text/graphics;		  OVLAY;
   writecom(0,0x0c);             //Parameter1 FOR  text/graphics select;0-0-0-OV-DM2-DM1-MX1-MX0 

   writecom(1,0x59);             //Display on;
   writecom(0,0x55);             //Parameter for Display on;

   writecom(1,0x46);             //CSRW	  ---CURSOR ADDRESS.
   writecom(0,0x00);             //Parameter1 FOR CSRW
   writecom(0,0x00);             //Parameter1 FOR CSRW
}

九、显示效果(图片与例程有所不同)

PIC.png


十、原理图及例程压缩包

G320240B_V1.rar

G320240B.sch.rar



  

发表评论

评论列表


没有评论

筛选

文章分类

热门文章

企业网址

2022-08-26  浏览:50576次

投稿及奖励(必看)

2022-07-06  浏览:50519次

2021年秋招经历

2022-07-24  浏览:420次

浅谈学习单片机的前景

2022-03-15  浏览:389次

怎样才能学好单片机

2022-03-28  浏览:362次