LED显示器接口电路
LED显示原理
LED(Light Emitting Diode发光二极管)显示器是由发光二极管构成的最为常用的显示器件。数字LED显示器利用7个发光二极管显示数字,通常被称为七段LED显示器、或者数码管。另外,数码管中还有一个圆点型发光二极管,用于显示小数点。结构图如图3.8.1所示。
LED显示器有共阳极接法和共阴极接法。共阳极接法的发光二极管的阳极连在一起构成公共阳极。使用时,公共阳极接+5V电压。在阴极端输入低电平,发光二极管就导通发光。共阴极接法的发光二极管的阴极连在一起构成公共阴极。使用时,公共阴极接地,在阳极端输入高电平时,发光二极管就导通发光。使用时要注意区分这两种不同接法的LED显示器。
LED导通电压在1.5V左右,工作电流每段约为20mA,直接接在+5V电平上会使数码管过亮导致损坏,需接一个100~300Ω的限流电阻。
多位数字显示控制技术
利用多个数字LED显示器可以显示多位数字。一个N位的LED显示器有N根位选线和8×N根段选线。根据显示方式的不同,位选线和段选线的连接方式也不同。段选线控制显示字符的字形,位选线控制显示位的亮、暗。
多个数字LED显示器显示控制方式有静态显示方式和动态显示方式两种形式。
(1)静态显示控制技术
数码管采用静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或接电源);每位的段选线(a ~ dp)分别与控制器的驱动信号输出相连。显示器中的各位相互独立,而且各位的显示字符一经确定,控制器的驱动信号输出将维持不变,直到显示另一个字符为止。数码管采用静态显示方式时亮度较高。
图3.8.2所示为一个四位静态LED显示器电路。该电路各位可独立显示,只要在该位的段选线上保持段选码电平,该位就能显示相应的字符。由于各位分别有一个8位输出口控制段选码,故在同一时间里,每一位显示的字符可以不同。这种显示方式接口,编程容易,管理也容易,付出的代价是占用端口线资源较多,一个四位静态LED显示器需要36个I/O口。所以,在显示位数较多的时,一般采用的是动态显示方式。
(2)动态显示控制技术
在多位LED显示时,为了简化硬件电路,通常将所有的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的I/O口线控制,实现各位的分时位选通控制。
图3.8.3为一个4位7段LED动态显示器的电路原理图。一共占用12个I/O口。由于各位的段选线并联,段选码的输出对各位来说都是相同的。因此,同一时刻,如果各位位选线都处于选通状态的话,4位LED将显示相同的字符。若要各位LED能够显示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于截止状态,同时,段选线上输出对应显示位的字符字形码。4位LED轮流选通,由于人眼的视觉暂留现象,只要每位显示间隔足够短,就可得到多位同时亮的效果。
LED显示驱动电路
LED显示器可采用74LS48(共阳)/74LS49(共阴)译码驱动电路来控制显示。由于FPGA和微控制器的驱动功率限制,不提倡由FPGA或者微控制器直接来驱动LED显示,需要使用放大驱动电路来控制LED的显示。
一个利用FPGA组成的动态显示控制电路如图3.8.4所示。
使用74LS245总线驱动器驱动LED的动态显示电路如图3.8.5所示
LED显示器字形代码
LED显示器字形代码如表3.8.1所示。
LCD显示器的控制
LCD显示的原理
在外加电场的作用下,液晶显示器件的具有偶极矩的液晶棒状分子在排列状态上发生变化,使得通过液晶显示器件的光被调制,从而呈现明与暗或透过与不透过的显示效果。下面介绍FPGA驱动点阵字符型液晶显示模块(MDLS)的方法与程序。
MDLS系列电路框图
MDLS系列液晶显示模块的电路方框图如图3.8.6所示。
其中E是使能信号输入端。R/W是读/写操作,选择逻辑电平1进行读操作,选择逻辑电平0进行写操作。RS是寄存器选择操作,1为数据,0为指令。 DB0~DB7是数据总线。VDD是+5V逻辑电源,V0是液晶驱动电源,VSS是电源地。
MDLS字符型液晶显示模块指令集
MDLS字符型液晶显示模块指令集见第4章4.3.1节。
MDLS字符型液晶显示模块的信号真值表
MDLS字符型液晶显示模块的信号真值表如表3.8.2所示。
MDLS字符型液晶显示模块的时序图
MDLS字符型液晶显示模块的写操作时序图如图3.8.7所示。
从图3.8.7的时序图可以看到数据写入的条件:寄存器Rs为高电平,读/写标志R/W为低电平,建立地址,接下来使能信号E为高电平,数据被写入,当使能端E为下降沿的时候数据被完全建立。从地址的建立、保持到数据的建立、保持的结束,整个过程需要的时间至少为355ns。关于MDLS系列接口特性及电特性查点阵字符式液晶显示模块使用手册。
整体设计原理框图
采用专用IC芯片可以实现MDLS字符型液晶显示模块的驱动,但专用IC芯片的资源有限,设计不灵活。采用FPGA驱动MDLS字符型液晶显示模块的原理方框图如图3.8.8所示,主要由按键控制部分、FPGA驱动电路和液晶显示模块组成。用户通过按键控制电路对FPGA驱动电路进行初始化控制, FPGA控制器驱动液晶显示模块,实现对字符型液晶显示的驱动功能。
设计实现
MDLS字符型液晶显示模块的FPGA驱动电路如图3.8.9所示。液晶显示器译码模块(lcd_decoder)是把输入的时间译成与之对应的液晶显示器的专用二进制代码。例如:要在液晶显示屏幕上显示数字3,必须把3译码成二进制代码"00110011",才能在显示屏幕上得到所需显示的数据。液晶显示器驱动模块(lcd_driver)的内部有三个进程,分别是数据预置、分频和控制进程。FPGA驱动电路的工作流程是:首先数据预置,然后被预置的数据通过液晶显示器译码模块(lcd_decoder)译成液晶显示器中所对应的二进制代码,送入液晶显示器驱动模块(lcd_driver),由驱动模块的输出信号直接控制液晶显示器,输出对应的字符。达到采用FPGA驱动MDLS字符型液晶显示的目的。
液晶显示器驱动模块(lcd_driver)的状态控制
液晶显示器驱动模块(lcd_driver)是FPGA控制器设计的主要内容,FPGA控制器内部的三大进程分别是数据预置(loaddata)、分频(divider)和控制进程(control)。其中分频进程是为了满足使能信号的使能周期的最小时间,这是由于FPGA的频率太高,要满足使能周期的最小时间就必须利用分频来实现。控制进程是利用状态机来完成的。状态转换图如图3.8.10所示,STATE0、STATE1…STATE5分别表示set_dlnf状态(功能设置)、clear_lcd状态(清屏)、 set_cursor状态(输入方式设置)、set_dcb状态(限制开关控制)、set_location状态(DDRAM地址设置)和write_data状态(写数据)。从图3.8.10中可知:当复位信号reset=0时,进入初始化状态,即set_dlnf状态(功能设置)。它的输出为: lcden<=‘0’; lcdda<=‘0’;lcdrw<=‘0’;data<=“00111100”;lcden为使能信号,lcdda相当于RS寄存器的输入信号,lcdrw是数据读/写信号,data<="00111100"表示该功能方式设置的是8位数据接口,两行显示5*10点阵字符。其它的状态输出和功能查MDLS字符型液晶显示模块指令集可知。由程序知道初始化时,使能信号(lcden)为低电平,然后延迟200μs后使能信号为高电平“1”,再延迟200μs使能信号清零,之后再延迟200μs才转到另一个状态。因此从一个状态转到另一个状态需要延迟600μs.在满足条件的情况下,各状态按照图3.8.10中所示的关系转换。
MDLS字符型液晶显示模块与单片机的接口
MDLS字符型液晶显示模块与单片机的接口电路见第4章4.3节。
LMA97S005AD点阵液晶显示模块与单片机的接口电路
LMA97S005AD点阵液晶显示模块与单片机的接口电路见第4章4.3节。