微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > C8051F00x与智能点阵HCMS2964显示屏的串行接口

C8051F00x与智能点阵HCMS2964显示屏的串行接口

时间:03-01 来源:互联网 点击:

引言

HCMS2964是AGILENT TECHNOLOGIES公司生产的新一代点阵显示屏。该产品内部自带CMOS集成电路,可驱动LED,并可直接与处理器串行连接实现数据传输。由于其亮度调节方便快捷,故可广泛地应用在嵌入式系统和单片机控制的仪表、仪器和飞行模拟设备领域中,本文介绍了HCMS2964的显示原理和显示屏的驱动方式、亮度调节以及基层软件的设计方案。

1 HCMS 2964显示屏

HCMS2964模块为双列直插封装,每一个HCMS2964都有12个引脚以及内部晶阵和寄存器。HCMS2964它通过CMOS刷新电路来驱动四个发光的字符块,每个字符的尺寸是1.8 cm×1 cm,这些字符是由5column×8row共40 bit点寄存器首尾相连而成的,其中row0没有用到,因而不会发光,所以,每个字符实际由35个点像素组成。

HCMS2964有两个独立的控制寄存器,可通过改变寄存器的内容来设置HCMS2964模块的属性。其中控制寄存器0用于PWM亮度脉宽调节、峰值电流强度设定(亮度调节)以及睡眠模式控制等。控制寄存器1则用于设置数据输出方式和晶阵选择模式(选择为品阵频率或晶阵频率的1/8)。每个显示模块中的160bit点寄存器的内容和驱动LED的关系是对应且唯一对应的,故可直接对点寄存器置1或0,并通过内部IC电路来控制点阵上灯像素的亮或暗,从而形成相应的字符

2 系统硬件接口设置

HCMS2964的输入引脚应经过上拉后与单片机的I/O口相连,其中主要的控制引脚有RS、CE、CLK,设计时可分别与C8051F00x的P1.0、P1.1、P1.2相对应,其中RS用于选择点阵显示寄存器(L)或命令寄存器(H),具体的时序是在写显示数据之前须将CE拉低,由RS选择相应的寄存器。输入时钟用于写点阵寄存器或命令寄存器,可在上升沿触发数据读入。在数据传人的整个过程中,CE要始终保持低电平,最后通过CLK时钟为低电平、CE为高(点寄存器)或上升沿(命令寄存器)来锁存数据显示输出。上述三条引脚的功能见表1所列,其相应的时序图如图1所示。

3 级联

级联主要用于扩展系统的显示部分,以便把更多的显示设备挂在串行扩展接口线上。设计时可以通过单片机来控制片选信号输入端,通常把多个片选信号接在一起统一控制。每个显示模块的输出引脚连接下一个显示屏的输入引脚,便可实现多个显示模块的级联,具体连接如图2所示。一般地,在多模块级联显示系统中,第一个显示模块用于控制最左端的四个字符,最后一个显示模块用于控制最右端的四个字符,数据转换寄存器的长度是160位×N(N的个数为级联的个数),每个模块的位置0都是(N-1)×160位,依次顺延。

要注意的是,级联中的多个显示模块的控制寄存器是相互独立的,因此,在对显示模块进行属性的统一设置时,要对每个显示模块的控制寄存器写入相同的控制字。

CE、RS、BL、RST、CLK五根控制总线最终应连接到C8051f00×的I/O线。从口线出来的DIN连接到最左端的模块,DOUT线则连接下一个显示模块的DIN,最后一个模块的DOUT空闲。每个模块均可用内部晶阵或外部晶阵。本系统最左端模块的SEL高电平就是由IC内部晶阵(MASTER)产生的,其它模块的SEL低电平则接受来自左端模块的晶阵(SLAVE),本系统可通过OCS总线完成晶阵传输。

4 40级亮度调节

点阵式HCMS2964系列IC提供有两种改变亮度的方式,分别是16级和4级的亮度调解,它们都是通过改变控制寄存器0来实现的。图3是其亮度改变模式示意图。其中PWM亮度控制是利用控制字0的DO~D3并通过实时脉宽调节来改变点阵的亮度。一般PWM都通过调节晶体振动的时钟周期来调节脉宽大小,从而改变亮度。而峰值像素电流控制则是利用控制字0的D4和D5并通过改变四种峰值像素电流来改变点阵的亮度。

以这两种改变亮度的方式适于分级调亮,但实际上常常会遇到通过采集电位计的模拟量来实现持续调亮的情况,而此时上述两种方式由于亮度采集只有16级或4级,各级之间电路中通过点光源的电流跳变很大,亮度阶梯变化也较为明显,而这种亮度阶梯在视觉上会形成过于明显的亮度突变,因而视觉效果较差。要使亮度调节变得连续柔和并更容易被人眼接受,只有增加调亮的级数,提高分辨率,才能模拟持续亮度调节所达到的效果。

由于D4-D5位(峰值像素电流)与D0-D3(PWM调亮)共占了控制字0的低六位,因此设计时可以想到把所有控制亮度的因素考虑进来,并按照亮度打乱排序,重新组成4×16=64级阶(即64个亮度等级)来改善调亮效果。在这里要说明的是,由于从000000H~111111H采集出来的亮度不是递增的,故不要采集模拟量直接送入控制字的低六位,也不能将脉宽值与像素电流峰值简单的累加计算来进行亮度的对比,实验证明:MX=亮度这一

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top