MAX7219驱动LED显示器显示连续数的方法

MAX7219驱动LED显示器显示连续数的方法
MAX7219驱动LED显示器显示连续数的方法

MAX7219驱动LED显示器显示连续数的方法

摘要:生产实际中单片机应用系统往往需要显示诸多数据,采用MAX7219驱动LED显示器有许多优点,该芯片采用BCD译码模式编程比较方便,但要使显示器显示一系列连续数要经过一定的程序处理。本文介绍了一种用MAX7219驱动数码管显示器显示连续数的硬件电路及编程方法,它设计思想独特,程序简单,在包装机械及数据采集系统中使用效果良好。

关键词: MAX7219;LED;BCD译码模式;显示;连续数

1 引言显示是单片机应用系统中非常重要的环节,通常用数码管显示器LED作为输出设备显示一些信息和结果。在很多设备中,往往需要显示一系列不断递增的连续数,例如采集数据过程中不仅要显示采集数据的具体数值还要显示已经采集数据的个数,那么采集数据的个数就是一系列连续数,又如很多生产设备要不断显示已加工好的零件或产品的数量等。在传统的显示驱动电路中,每一个LED显示器需要一个译码芯片,而每一段又需要一个限流电阻,在显示信息量较大时,电路变得复杂而且也会占用系统很多资源。MAX7219芯片是美国MAXIM公司出品的新型紧凑型、可编程共阴极LED数码管的驱动芯片,它集BCD译码器、多路扫描器、段驱动和位驱动电路于一体, 内含8×8位双口静态SRAM ,可保存8位LED数据。MAX7219芯片的外围接口电路简单,使用方便,仅需三根I/O口线便可驱动多块LED进行动态显示。MAX7219只需一个外部电阻来设置所有LED的段电流,不仅可以克服常规的动态显示亮度不够、闪烁等缺点,而且大大简化硬件电路并减少软件的工作量,因此MAX7219芯片成为单片机应用系统中首选的LED显示接口电路。MAX7219具有BCD译码模式和非译码模式。如果仅显示一些连续数,当然可采用非译码模式,这时可做一个TAB表,依次存放数字的相应编码, 通过使用查表指令即可实现。但生产实际中往往要显示很多种数据,其它数据的显示采用BCD译码显示方式比较方便。虽然一片MAX7219可以在不同的LED同时输出两种显示方式,但这样将大大增加软件编程的负担,为使程序简化,可将连续数和其它数据同时采用BCD译码模式显示。本文以MAX7219串行LED驱动器驱动LED显示连续数1~99999为例,说明其实现显示连续数的方法。

2 硬件接口电路 MAX7219是24脚DIP塑料封装元件,MAX7219芯片与AT89C52单片机及共阴极小电流LED段码显示器的接口电路简单,原理图。AT89C52的引脚P1.0、P1.1、P1.2分别与MAX7219的DIN数据输入管脚、LOAD锁定输入管脚、CLK时钟输入管脚相连。 MAX7219可通过V+ 管脚和ISET管脚之间所接的外部电阻RSET 来控制显示的亮度,RSET电阻越大段电流越小,硬件电路中RSET可采用10KΩ。为了减少外界的干扰,应在MAX7219的V+ 管脚和GND管脚之间加上一个0.1μF的涤纶电容和一个10μF的钽电容。

图1 MAX7219与AT89C52单片机硬件接口电路3 软件编程 MAX7219与AT89C52芯片编程主要分为两部分:初始化子程序、送显子程序以及数据传送。初始化程序主要是对MAX7219的显示模式、显示亮度、显示位数等进行初始化。本例中主要的初始化部分是选择每一显示位相应的显示方式为全译码方式,即给译码方式寄存器X9H 单元送相应的数值0FFH;限制显示扫描显示位数为5位,即给扫描限制寄存器XBH 单元送相应的数值04H。数据传送子程序是根据器件的传送时序编写的子程序,其主要功能是串行传送数据。送显程序的功能是将要显示的数值送到MAX7219的数据寄存器里,使其显示出来。这两部分的内容在很多文献中都有说明,本文不多加说明。本文要重点介绍在数据传送和送显程序前面部分的处理程序,也就是使要显示的一系列连续数1~99999逐步放入各个显示数据暂存单元的程序。当MAX7219采用BCD 译码模式时,这个处理程序是往往是不好编程的,因为它要显示数据的位数不固定,要从一位数逐步跳变为多位数。如果采用普通的设计思路,这个程序将会十分复杂。我们采用了一

种新的设计思路进行编程,取得了令人满意的结果。显示器显示数据刷新的时间是根据需要而定的,本例采用单片机内部的定时器来进行定时,在每次定时时间到后先执行该处理程序,然后再调用数据传送和送显程序便可实现在LED数码管上显示连续数。该处理程序的设计思想是在程序执行前先将各显示暂存单元中数字都清零,即让显示器最初显示“00000”。每当定时时间到时先将个位暂存单元中的数字与9相减,结果不为0时,将个位数字加1后送入个位暂存单元并送出显示(所有数的个位数字1~9的变化都通过该段程序完成);如果结果为0,则将十位暂存单元中的数字与9相减,结果不为0时,则先将个位数字变为0,再将十位数字加1后分别送入个位、十位暂存单元并送出显示(所有数的十位数字1~9的变化都通过该段程序完成);如果十位数字与9相减结果为0,则要再将百位暂存单元中的数字与9相减比较,结果不为0时,则先将个位、十位数字都先变为0,再将百位数字加1后分别送入个位、十位、百位数据暂存单元并送出显示(所有数的百位数字1~9的变化都通过该段程序完成);如果百位数字与9相减比较结果为0,再将千位数字与9相减比较结果…如此下去,便可使显示器显示一系列连续数。例如程序执行第一次时,个位暂存单元中的数字为0,它与9相减的结果不为0,那么将0加上1的结果1放入个位暂存单元送显便显示出数据“00001”,执行第九次显示数据为“00009”,执行第十次时,要先将个位暂存单元中的数字9与9相减,结果为0,这时再将十位暂存单元中的数字0与9相减,0与9相减的结果不为0,这时先将个位数字变为0放入个位暂存单元,再将十位暂存单元中的数字0加上1后的结果1放入十位暂存单元送显,便可显示数据“00010”。要使显示的数最大为99999,只需在每一数位与9比较之前判断它的下一数位是否是十万位,如果下一数位是十万位时退出程序即可。该处理程序十分巧妙地根据要显示的数不同数位上的数字与9比较的结果,来选择执行不同的程序段而达到目的,因此虽然程序设计思想复杂,但程序十分简单。程序如下:(程序入口为C0)C1:MOV @R1,#00HINC R1MOV A,R1SUBB A,#45H ;判断是否到十万位暂存单元45HCLR CJZ C2C0:MOV A,@R1SUBB A,#09HJZ C1MOV A,@R1ADD A,#01HMOV @R1,AC2:MOV R1,#40H ;个位暂存单元40H送寄存器RET4 结论用MAX7219作为显示驱动电路,只需三根端口线,且软件驱动编程简单,控制方式灵活,使显示部分的电路和编程大为简化。本文通过一个实例说明使用MAX7219驱动LED显示器在其 BCD译码模式下显示连续数的方法,该方法已经在数据采集系统和包装设备上得到运用,效果良好。本文创新点是:MAX7219芯片在其BCD译码模式下驱动LED显示器显示连续数的软件部分如果采用普通编程设计思路,程序会十分复杂。本文采用一种新颖独特的编程思想,十分巧妙地根据要显示的一系列连续数不同数位上的数字与9比较的结果,来选择执行不同的程序段而达到目的,使得程序十分简单。本程序可供其它单片机应用系统如既需要显示产品个数又需要显示产品其它参数的场合参考使用。

TFT LCD液晶显示器的驱动原理

TFT LCD液晶显示器的驱动原理 我们针对feed through电压,以及二阶驱动的原理来做介绍.简单来说Feed through电压主要是由于面板上的寄生电容而产生的,而所谓三阶驱动的原理就是为了解决此一问题而发展出来的解决方式,不过我们这次只介绍二阶驱动,至于三阶驱动甚至是四阶驱动则留到下一次再介绍.在介绍feed through电压之前,我们先解释驱动系统中gate driver所送出波形的timing图. SVGA分辨率的二阶驱动波形 我们常见的1024*768分辨率的屏幕,就是我们通常称之为SVGA分辨率的屏幕.它的组成顾名思义就是以1024*768=786432个pixel来组成一个画面的数据.以液晶显示器来说,共需要1024*768*3个点(乘3是因为一个pixel需要蓝色,绿色,红色三个点来组成.)来显示一个画面.通常在面板的规划,把一个平面分成X-Y轴来说,在X轴上会有1024*3=3072列.这3072列就由8颗384输出channel的source driver 来负责推动.而在Y轴上,会有768行.这768行,就由3颗256输出channel的gate driver来负责驱动.图1就是SVGA分辨率的gate driver输出波形的timing图.图中gate 1 ~ 768分别代表着768个gate

driver的输出.以SVGA的分辨率,60Hz的画面更新频率来计算,一个frame的周期约为16.67 ms.对gate 1来说,它的启动时间周期一样为16.67ms.而在这16.67 ms之间,分别需要让gate 1 ~ 768共768条输出线,依序打开再关闭.所以分配到每条线打开的时间仅有16.67ms/768=21.7us而已.所以每一条gate d river打开的时间相对于整个frame是很短的,而在这短短的打开时间之内,source driver再将相对应的显示电极充电到所需的电压. 而所谓的二阶驱动就是指gate driver的输出电压仅有两种数值,一为打开电压,一为关闭电压.而对于common电压不变的驱动方式,不管何时何地,电压都是固定不动的.但是对于common电压变动的驱动方式,在每一个frame开始的第一条gate 1打开之前,就必须把电压改变一次.为什么要将这些输出电压的t iming介绍过一次呢?因为我们接下来要讨论的feed through电压,它的成因主要是因为面板上其它电压的变化,经由寄生电容或是储存电容,影响到显示电极电压的正确性.在LCD面板上主要的电压变化来源有3个,分别是gate driver电压变化,source driver电压变化,以及common电压变化.而这其中影响最大的就是gate driver电压变化(经由Cgd或是Cs),以及common电压变化(经由Clc或是Cs+Clc). Cs on common架构且common电压固定不动的feed through电压 我们刚才提到,造成有feed through电压的主因有两个.而在common电压固定不动的架构下,造成f eed through电压的主因就只有gate driver的电压变化了.在图2中,就是显示电极电压因为feed thro ugh电压影响,而造成电压变化的波形图.在图中,请注意到gate driver打开的时间,相对于每个frame 的时间比例是不正确的.在此我们是为了能仔细解释每个frame的动作,所以将gate driver打开的时间画的比较大.请记住,正确的gate driver打开时间是如同图1所示,需要在一个frame的时间内,依序将7

液晶屏驱动板原理维修代换方法

液晶屏驱动板的原理与维修代换方法 1、液晶屏驱动板的原理介绍 液晶屏驱动板常被称为A/D<模拟/数字)板,这从某种意义上反应出驱动板实现的主要功能所在。液晶屏要显示图像需要数字化过的视频信号,液晶屏驱动板正是完成从模拟信号到数字信号<或者从一种数字信号到另外一种数字信号)转换的功能模块,并同时在图像控制单元的控制下去驱动液晶屏显示图像。液晶显示器的驱动板如图1、图2所示。 图1 品牌液晶显示器采用的驱动板 图2部分液晶显示器采用的是通用驱动板 如图3所示,液晶屏驱动板上通常包含主控芯片、MCU微控制器、ROM存储器、电源模块、电源接口、VGA视频信号输入接口、OSD按键板接口、高压板接口、LVDS/TTL驱屏信号接口等部分。 液晶屏驱动板的原理框图如图4所示,从计算机主机显示卡送来的视频信

号,通过驱动板上的VGA视频信号输入接口送入驱动板的主控芯片,主控芯片根据MCU微控制器中有关液晶屏的资料控制液晶屏呈现图像。同时,MCU微控制器实现对整机的电源控制、功能操作等。因此,液晶屏驱动板又被称为液晶显示器的主板。 图3 驱动板上的芯片和接口 液晶屏驱动板损坏,可能造成无法开机、开机黑屏、白屏、花屏、纹波干扰、按键失效等故障现象,在液晶显示器故障中占有较大的比例。 液晶屏驱动板广泛采用了大规模的集成电路和贴片器件,电路元器件布局

紧凑,给查找具体元器件或跑线都造成了很大的困难。在非工厂条件下,它的可修性较小,若驱动板因为供电部分、VGA视频输入接口电路部分损坏等造成的故障,只要有电路知识我们可以轻松解决,对于那些因为MCU微控制器内部的数据损坏造成无法正常工作的驱动板,在拥有数据文件<驱动程序)的前提下,我们可以用液晶显示器编程器对MCU微控制器进行数据烧写,以修复固件损坏引起的故障。早期的驱动板,需要把MCU微控制器拆卸下来进行操作,有一定的难度。目前的驱动板已经普遍开始采用支持ISP<在线编程)的MCU微控制器,这样我们就可以通过ISP工具在线对MCU微控制器内部的数据进行烧写。比如我们使用的EP1112最新液晶显示器编程器就可以完成这样的工作。 图4 驱动板原理框图 在液晶显示器的维修工作中,当驱动板出现故障时,若液晶显示器原本就使用的是通用驱动板,就可以直接找到相应主板代换处理,当然,仍需要在其MCU中写入与液晶屏对应的驱动程序;若驱动板是品牌机主板,我们一般采用市场上常见的“通用驱动板”进行代换方法进行维修; “通用驱动板”也称“万能驱动板”。目前,市场上常见的“通用驱动板”有乐华、鼎科、凯旋、悦康等品牌,如图5所示,尽管这种“通用驱动板”所用元器件与“原装驱动板”不一致,但只要用液晶显示器编程器向“通用驱动板”写入液晶屏对应的驱动程序<购买编程器时会随机送液晶屏驱动程序光盘),再通过简单地改接线路,即可驱动不同的液晶屏,通用性很强,而且维修成本也不高,用户容易接受。

max7219资料及电路图

MAX7219是MAXIM公司生产的串行输入/输出共阴极数码管显示驱动芯片,一片MAX7219可驱动8个7段(包括小数点共8段)数字LED、LED条线图形显示器、或64个分立的LED发光二级管。该芯片具有10MHz传输率的三线串行接口可与任何微处理器相连,只需一个外接电阻即可设置所有LED的段电流。。它的操作很简单,MCU只需通过模拟SPI三线接口就可以将相关的指令写入MAX7219的内部指令和数据寄存器,同时它还允许用户选择多种译码方式和译码位。此外它还支持多片7219串联方式,这样MCU就可以通过3根线(即串行数据线、串行时钟线和芯片选通线)控制更多的数码管显示。MAX7219的外部引脚分配如图1所示及内部结构如图2所示。 图1 MAX7219的外部引脚分配

图2 MAX7219的内部引脚分配 各引脚的功能为: DIN:串行数据输入端 DOUT:串行数据输出端,用于级连扩展 LOAD:装载数据输入 CLK:串行时钟输入 DIG0~DIG7:8位LED位选线,从共阴极LED中吸入电流 SEG A~SEG G DP 7段驱动和小数点驱动 ISET:通过一个10k电阻和Vcc相连,设置段电流 MAX7219有下列几组寄存器:(如图3) MAX7219内部的寄存器如图3,主要有:译码控制寄存器、亮度控制寄存器、扫描界限寄存器、关断模式寄存器、测试控制寄存器。编程时只有正确操作这些寄存器,MAX7219才可工作。

图 3 MAX7219内部的相关寄存器 分别介绍如下: (1)译码控制寄存器(X9H) 如图4所示,MAX7219有两种译码方式:B译码方式和不译码方式。当选择不译码时,8个数据为分别一一对应7个段和小数点位;B译码方式是BCD译码,直接送数据就可以显示。实际应用中可以按位设置选择B译码或是不译码方式。 图4 MAX7219的译码控制寄存器 (2)扫描界限寄存器(XBH)

LED显示屏相关计算方式知识

1.前言 LED屏应用越来越广,小到小门店,大到大型广场,都会看见LED屏的存在,那么你对LED屏知多少,下面我们就来学习下。 1.1.点间距计算方法 每个像素点到每一个相邻像素点之间的中心距离;每个像素点可以是一颗LED灯[如:PH10(1R)]、两颗LED灯[如:PH16(2R)]、三颗led灯[如:PH16(2R1G1B)],P16的点间距为:16MM; P20的点间距为:20MM; P12的点间距为:12MM。 1.2.屏的长宽计算 长度和高度计算方法:点间距×点数=长/高 如:PH16长度=16点×1.6㎝=25.6㎝高度=8点×1.6㎝=12.8㎝ PH10长度=32点×1.0㎝=32㎝高度=16点×1.0㎝=16㎝ 1.3.屏体模组数计算 屏体使用模组数计算方法:总面积÷模组长度÷模组高度=使用模组数 如:10个平方的PH16户外单色led显示屏使用模组数等于: 10平方米÷0.256米÷0.128米=305.17678≈305个 更加精确的计算方法:长度使用模组数×高度使用模组数=使用模组总数 如:长5米、高2米的PH16单色led显示屏使用模组数: 长使用模组数=5米÷0.256米=19.53125≈20个 高使用模组数=2米÷0.128米=15.625≈16个 使用模组总数目=20个×16个=320个 1.4.LED显示屏可视距离的计算方法 RGB颜色混合距离三色混合成为单一颜色的距离:LED全彩屏视距=像素点间距(mm)×

500/1000。 最小的观看距离能显示平滑图像的距离:LED显示屏可视距离=像素点间距(mm) ×1000/1000。 最合适的观看距离观看者能看到高度清晰画面的距离:LED显示屏最佳视距=像素点间距(mm) ×3000/1000。 最远的观看距离:LED显示屏最远视距=屏幕高度(米)×30(倍)。 1.5.LED显示屏扫描方式计算方法 1.5.1.扫描方式 在一定的显示区域内,同时点亮的行数与整个区域行数的比例。室内单双色一般为1/16扫描,室内全彩一般是1/8 扫描,室外单双色一般是1/4扫描,室外全彩一般是静态扫描。 目前市场上LED显示屏的驱动方式有静态扫描和动态扫描两种,静态扫描又分为静态实像素和静态虚拟,动态扫描也分为动态实像和动态虚拟;驱动器件一般用国产HC595,台湾MBI5026,日本东芝TB62726,一般有1/2 扫,1/4扫,1/8扫,1/16扫。 举列说明: 一个常用的全彩模组像素为16*8 (2R1G1B),如果用MBI5026 驱动,模组总共使用的是:16*8*(2+1+1)=512 ,MBI5026 为16位芯片,512/16=32。 (1)如果用32 个MBI5026芯片,是静态虚拟 (2)如果用16个MBI5026芯片,是动态1/2扫虚拟 (3)如果用8个MBI5026芯片,是动态1/4扫虚拟 如果板子上两个红灯串连: (1)用24个MBI5026芯片,是静态实像素 (2)用12个MBI5026芯片,是动态1/2扫实像素 (3)用6个MBI5026芯片,是动态1/4扫实像素 在LED单元板,扫描方式有1/16,1/8,1/4,1/2,静态。 1.5. 2.如何区分 一个最简单的办法就是数一下单元板的LED的数目和74HC595的数量。

点阵屏驱动程序(MAX7219)

//自己做项目写的2*4点阵屏驱动,分享给大家,基于STC15单片机 点阵屏如上图所示 #include "stc15w4k32s4.h" #define uchar unsigned char #define uint unsigned int //定义Max7219端口 sbit Max7219_pinCLK = P1^7; sbit Max7219_pinCS = P1^6; sbit Max7219_pinDIN = P1^5; void Write_Max7219_byte(uchar DATA); //向MAX7219(U3)写入字节void Write_Max7219(uchar address,uchar dat); //向MAX7219写入数据 void Init_MAX7219(void); //初使化函数 void Display_1(uchar dat); //1号屏显示数字 void Display_2(uchar dat); //2号屏显示数字 void Display_3(uchar dat); //3号屏显示数字 void Display_4(uchar dat); //4号屏显示数字 void Display_5(uchar dat); //5号屏显示数字 void Display_6(uchar dat); //6号屏显示数字 void Display_7(uchar dat); //7号屏显示数字

void Display_8(uchar dat); //8号屏显示数字、 /* 8个点阵驱动程序 */ uchar code disp1[38][8] ={ {0x00,0x30,0x48,0x48,0x48,0x48,0x48,0x30}, //0 {0x00,0x10,0x30,0x10,0x10,0x10,0x10,0x38}, //1 {0x00,0x78,0x08,0x08,0x78,0x40,0x40,0x78}, //2 {0x00,0x78,0x08,0x08,0x78,0x08,0x08,0x78}, //3 {0x00,0x10,0x30,0x50,0x78,0x10,0x10,0x10}, //4 {0x00,0x78,0x40,0x40,0x78,0x08,0x08,0x78}, //5 {0x00,0x78,0x40,0x40,0x78,0x48,0x48,0x78}, //6 {0x00,0x7C,0x04,0x08,0x10,0x10,0x10,0x10}, //7 {0x00,0x78,0x48,0x48,0x78,0x48,0x48,0x78}, //8 {0x00,0x78,0x48,0x48,0x78,0x08,0x08,0x78}, //9 {0}, //显示空白10 {0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x00}, //显示负数符号11 {0x00,0x7C,0x40,0x40,0x7C,0x40,0x40,0x7C}, //E 12 {0x00,0x78,0x44,0x44,0x7C,0x48,0x48,0x44}, //R 13 {0x10,0x28,0x44,0x44,0x44,0x7C,0x44,0x44}, //A 14 {0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x78}, //L 15 {0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70}, //C 16 }; //-------------------------------------------- //功能:向MAX7219(U3)写入字节 //入口参数:DATA //出口参数:无 //说明: void Write_Max7219_byte(uchar DATA) { uchar i; Max7219_pinCS=0; for(i=8;i>=1;i--) { Max7219_pinCLK=0; Max7219_pinDIN=DATA&0x80; DATA=DATA<<1; Max7219_pinCLK=1; } } //------------------------------------------- //功能:向MAX7219写入数据 //入口参数:address、dat

led液晶显示器的驱动原理

led液晶显示器的驱动原理 LED液晶显示器的驱动原理 艾布纳科技有限公司 前两次跟大家介绍有关液晶显示器操作的基本原理, 那是针对液晶本身的特性,与 TFT LCD 本身结构上的操作原理来做介绍. 这次我们针对 TFT LCD 的整体系统面来做介绍, 也就是对其驱动原理来做介绍, 而其驱动原理仍然因为一些架构上差异的关系, 而有所不同. 首先我们来介绍由于 Cs(storage capacitor)储存 电容架构不同, 所形成不同驱动系统架构的原理. Cs(storage capacitor)储存电容的架构 一般最常见的储存电容架构有两种, 分别是Cs on gate与Cs on common这两种. 这两种顾名思义就可以知道, 它的主要差别就在于储存电容是利用gate走线或是common走线来完成的. 在上一篇文章中, 我曾提到, 储存电容主要是为了让充好电的电压,能保持到下一次更新画面的时候之用. 所以我们就必须像在 CMOS 的制程之中, 利用不同层的走线, 来形成平行板电容. 而在TFT LCD的制程之中, 则是利用显示电极与gate走线或是common走线,所形成的平行板电容,来制作出储存电容Cs.

图1就是这两种储存电容架构, 从图中我们可以很明显的知道, Cs on gate由于不必像Cs on common一样, 需要增加一条额外的common走线, 所以它的开口率(Aperture ratio)会比较大. 而开口率的大小, 是影响面板的亮度与设计的重要因素. 所以现今面板的设计大多使用Cs on gate的方式. 但是由于Cs on gate的方式, 它的储存电容是由下一条的gate走线与显示电极之间形成的.(请见图2的Cs on gate与Cs on common的等效电路) 而gate走线, 顾名思义就是接到每一个TFT 的gate端的走线, 主要就是作为gate driver送出信号, 来打开TFT, 好让TFT对显示电极作充放电的动作. 所以当下一条gate走线, 送出电压要打开下一个TFT时 , 便会影响到储存电容上储存电压的大小. 不过由于下一条gate走线打开到关闭的时间很短,(以1024*768分辨率, 60Hz更新频率的面板来说. 一条gate走线打开的时间约为20us, 而显示画面更新的时间约为16ms, 所以相对而言, 影响有限.) 所以当下一条gate走线关闭, 回复到原先的电压, 则Cs储存电容的电压, 也会随之恢复到正常. 这也是为什么, 大多数的储存电容设计都是采用Cs on gate的方式的原因.

LED液晶显示器的驱动原理

LED液晶显示器的驱动原理 艾布纳科技有限公司 前两次跟大家介绍有关液晶显示器操作的基本原理, 那是针对液晶本身的特性,与TFT LCD 本身结构上的操作原理来做介绍. 这次我们针对TFT LCD 的整体系统面来做介绍, 也就是对其驱动原理来做介绍, 而其驱动原理仍然因为一些架构上差异的关系, 而有所不同. 首先我们来介绍由于Cs(storage capacitor)储存电容架构不同, 所形成不同驱动系统架构的原理. Cs(storage capacitor)储存电容的架构 一般最常见的储存电容架构有两种, 分别是Cs on gate与Cs on common这两种. 这两种顾名思义就可以知道, 它的主要差别就在于储存电容是利用gate走线或是common走线来完成的. 在上一篇文章中, 我曾提到, 储存电容主要是为了让充好电的电压,能保持到下一次更新画面的时候之用. 所以我们就必须像在CMOS的制程之 中, 利用不同层的走线, 来形成平行板电容. 而在TFT LCD的制程之中, 则是利用显示电极与gate走线或是common走线,所形成的平行板电容,来制作出储存电容Cs. For personal use only in study and research; not for commercial use

图1就是这两种储存电容架构, 从图中我们可以很明显的知道, Cs on gate由于不必像Cs on common一样, 需要增加一条额外的common走线, 所以它的开口率(Aperture ratio)会比较大. 而开口率的大小, 是影响面板的亮度与设计的重要因 素. 所以现今面板的设计大多使用Cs on gate的方式. 但是由于Cs on gate的方 式, 它的储存电容是由下一条的gate走线与显示电极之间形成的.(请见图2的Cs on gate与Cs on common的等效电路) 而gate走线, 顾名思义就是接到每一个TFT 的gate端的走线, 主要就是作为gate driver送出信号, 来打开TFT, 好让TFT对显 示电极作充放电的动作. 所以当下一条gate走线, 送出电压要打开下一个TFT时, 便会影响到储存电容上储存电压的大小. 不过由于下一条gate走线打开到关闭的时间很短,(以1024*768分辨率, 60Hz更新频率的面板来说. 一条gate走线打开的时间约为20us, 而显示画面更新的时间约为16ms, 所以相对而言, 影响有限.) 所以当下一条gate走线关闭, 回复到原先的电压, 则Cs储存电容的电压, 也会随之恢复到正常. 这也是为什么, 大多数的储存电容设计都是采用Cs on gate的方式的原因. For personal use only in study and research; not for commercial use

串行接口8位LED显示驱动MAX7219-MAX7221

```````````````````````````````````?? NBY832:0NBY8332????????0???????????????????)μQ*?9?8?MFE??????????????75????MFE?????CDE!C?????????????????????????????9y9??SBN???????????????MFE?????NBY8332???TQJ UN ?RTQJ UN ??NJDSPXJSF UN ?????????????????FNJ? ???5?????????????μQ???????????????????????????NBY832:0NBY8332????????????C?????????? ????261μB????????????????????????2?9???????????????????MFE?????? ??4W????????????????NBY7:62????? ```````````````````````````````````?? ```````````````````````````````````?? ?21NI{????????MFE??????0?????? ?261μB?????)????*!??????????????????????????MFE??? ?????????????????FNJ!)NBY8332*!?TQJ?RTQJ?NJDSPXJSF????)NBY8332*!?35??EJQ?TP?? NBY832:0NBY8332 ?????9??MFE????? ________________________________________________________________Maxim Integrated Products 1 ```````````````````````````?????? ```````````````````````````````???? 19-4452; Rev 4; 7/03 ```````````````````````````````???? ????)?*???????????*?????U B >!,36°D? TQJ?RTQJ?Npupspmb!Jod/????NJDSPXJSF?Obujpobm!Tfnjdpoevdups!Dpsq/???? ??????????? ???MFE????? ???????????????????????????????????????????????????? ????????????????Nbyjn??????ǖ21911!963!235:!)????*?21911!263!235:!)????*????Nbyjn?????ǖdijob/nbyjn.jd/dpn?

LED显示屏工程报价计算方法

LED显示屏工程报价计算方法 根据客户的需求,确定led显示屏箱体的规格。包括什么场合?什么环境?客户有没有什么特殊要求等。 根据实际的位置确定显示屏的尺寸大小。实际位置,实际测量,比照显示屏的规格参数确定 显示屏的大小尺寸。 整体美观设计显示屏,确定显示屏的边框规格大小。根据周边的环境综合选取显示屏的边框。 确定显示屏的控制方式。依据客户的控制要求来选取。 如何报价? 显示屏的工程价格=屏体价格*屏体面积+控制系统费用+边框结构的费用+运输安装的费用+配电系统的费用含电源线数据线+钢架及土木工程的费用+税金 1)屏体面积的计算方法: 屏体面积=屏体长* 屏体高 屏体长=所选单元板的长*单元板的块数 屏体高=所选单元板的高*单元板的块数 2)控制系统的计算方法:一般显示屏的脱机控制高度不超过256个像素点且控制长度不超过1024个像素点,控制卡用一套,一般室价格为450元,室外及半室外的价格为530元。超过以上的要求其价格均按两倍的价格收取。(脱机控制就是当需要修改显示屏数据时才用到计算机的控制) 同步控制系统的组成有计算机、DVI和VGA双功能的图形显示卡、显示屏数据发送卡、专用数据连接线、数据接收卡(N)等组成。一般室单双色显示屏的控制点数高不超过512点,长不超过1024点用接收卡用1,就OK了。一般报价为计算机客户自理,DVI和VGA双功能的图形显示卡450元,显示屏数据发送卡(单双色)550元,接收卡550元.(可以总体同步系统费用为1500元/1套)

3)边框的规格种类有一下几种: 1、标准的铝合金型材有7cm*10cm 100元/米 5cm*10cm 80元/米 3cm*10cm 50元/米 以上型号可选的颜色有:香槟色、黑色、银白色 2.5cm*8.5cm 50元/米只有香槟色 4.4cm*100cm 60元/米只有黑色(圆滑带坡面,有拐角) 4.4cm*100cm 55元/米只有香槟色 2、非标准的时候一般采用钢架结构,不锈钢、铝塑板等装饰包边。具体规格大小有实际情况而定。 钢架及土木工程的费用 这是一个综合的费用,计算起来比较麻烦,需要预先设计出安装位置图,及CAD钢架结构图,罗列所用材料的种类,数量及规格。土建工程的人工及机械费用。 六、目前单色户外半户条形显示屏是市面上的流行产品,希望大家能把有关这一些型号的显示屏规格熟记于心。参照价格表。 规格单元板尺寸单元像素点密度像素 φ5.0单色 484mm*242mm 64*32 17200 1R 484mm*121mm 64*16 1R 363mm*242mm 48*32 1R 363mm*121mm 48*16 1R φ5.0双色 484mm*242mm 64*32 1R1G 484mm*121mm 64*16 1R1G

液晶显示驱动原理1

TFT LCD液晶显示器的驱动原理(一) 谢崇凯 前两次跟大家介绍有关液晶显示器操作的基本原理, 那是针对液晶本身的特性,与TFT LCD本身结构上的操作原理来做介绍. 这次我们针对TFT LCD的整体系统面来做介绍, 也就是对其驱动原理来做介绍, 而其驱动原理仍然因为一些架构上差异的关系, 而有所不同. 首先我们来介绍由于CS(storage capacitor)储存电容架构不同, 所形成不同驱动系统架构的原理. CS(storage capacitor)储存电容的架构 一般最常见的储存电容架构有两种, 分别是cs on gate与cs on common这两种. 这两种顾名思义就可以知道, 它的主要差别就在于储存电容是利用gate走线或是common走线来完成的. 在上一篇文章中, 我曾提到, 储存电容主要是为了让充好电的电压,能保持到下一次更新画面的时候之用. 所以我们就必须像在CMOS的制程之中, 利用不同层的走线, 来形成平行板电容. 而在TFT LCD的制程之中, 则是利用显示电极与gate走线或是common走线,所形成的平行板电容,来制作出储存电容CS. 图1就是这两种储存电容架构, 从图中我们可以很明显的知道, cs on gate由于不必像cs on common一样, 需要增加一条额外的common走线, 所以它的开口率(Aperture ratio)会比较大. 而开口率的大小, 是影响面板的亮度与设计的重要因

素. 所以现今面板的设计大多使用cs on gate的方式. 但是由于cs on gate的方式, 它的储存电容是由下一条的gate走线与显示电极之间形成的.(请见图2的cs on gate 与cs on common的等效电路) 而gate走线, 顾名思义就是接到每一个TFT的gate端的走线, 主要就是作为gate driver送出信号, 来打开TFT, 好让TFT对显示电极作充放电的动作. 所以当下一条gate走线, 送出电压要打开下一个TFT时 ,便会影响到储存电容上储存电压的大小. 不过由于下一条gate走线打开到关闭的时间很短,(以1024*768分辨率, 60Hz更新频率的面板来说. 一条gate走线打开的时间约为20us, 而显示画面更新的时间约为16ms, 所以相对而言, 影响有限.) 所以当下一条gate 走线关闭, 回复到原先的电压, 则cs储存电容的电压, 也会随之恢复到正常. 这也是为什么, 大多数的储存电容设计都是采用cs on gate的方式的原因. 至于common走线, 我们在这边也需要顺便介绍一下. 从图2中我们可以发现, 不管您采用怎样的储存电容架构, Clc的两端都是分别接到显示电极与common. 既然液晶是充满在上下两片玻璃之间, 而显示电极与TFT都是位在同一片玻璃上, 则common电极很明显的就是位在另一片玻璃之上. 如此一来, 由液晶所形成的平行板电容Clc, 便是由上下两片玻璃的显示电极与common电极所形成. 而位于cs储存电容上的common电极, 则是另外利用位于与显示电极同 一片玻璃上的走线, 这跟Clc上的common电极是不一样的, 只不过它们最后都是接到相同的电压就是了.

Arduino驱动MAX7219四位数码管显示时间

Arduino驱动MAX7219四位数码管显示时间 默认使用Pin 2为MOSI(数据发送)引脚,Pin 3为CS(片选)引脚,Pin 4为SCLK(时钟)引脚,如有需要请修改代码前三行的define。 #define MO 2 #define CS 3 #define CLK 4 static int time_h = 21, time_m =25, time_s = 30; //此刻时间:时,分,秒 int alarm_clock_h = 8, alarm_clock_m = 00; //闹钟时间 unsigned long time = 0; unsigned char buffer_led[5] = { 0x00,};//缓存 void SPI_init(void) //初始化SPI引脚 { pinMode(CLK, OUTPUT); pinMode(MO, OUTPUT); pinMode(CS, OUTPUT); digitalWrite(CS, HIGH); digitalWrite(CLK, LOW); digitalWrite(MO, HIGH); } void SPI_send(unsigned char reg, unsigned char data) //spi单向16位数据发送{ int x; /* Serial.print("reg = "); Serial.print(reg, HEX); Serial.print(" data = "); Serial.println(data, HEX); */ digitalWrite(CS, LOW); for (x = 0; x < 8; x++) { digitalWrite(MO, 0x80 & (reg << x)); //高位在前 digitalWrite(CLK, HIGH); digitalWrite(CLK, LOW); } for (x = 0; x < 8; x++) {

举例 p5双色LED显示屏功率、电源个数计算方法

LED显示屏电源个数计算方法,电源是30A 和40A;单色是8块LED 模组1个40A 的电源,双色是6块LED模组1个电源;如果全彩的LED模组就好按全亮时的最大功率来算。 a.一个电源能带几张单元板的个数=电源的电压×电源的电流/单元板的横向像素点数/单元板的纵向像素点数/0.1/2 例如:半户外P10:5V40A 的电源可带:5×40/(32×16×0.1/0.5)=7.8 取大8个; b.根据屏体总功率求出所需电源个数=平均总功率/一个电源的功率(电源电压*电源电流)例如:一块LED显示屏的长用12个P10模组,高用3 个P10 模组总共:36 个模组那么所需电源个数=32×16×0.1×36×0.5/5/40=4.6 取大(5个电源) 功率的公式是P=UI P 代表功率,U 代表电压,I 代表电流,通常我们所用的电源电压是5V,电源是30A 和40A;单色是8块模组1个40A 的电源,双色是6块模组1个电源;下面将举个例子。某单位要做9个平方米的户内P5双色LED显示屏,计算最大需要多少功率。先要算出40A 的电源个数=9(0.244×0.488)/6=12.5=13只电源(要整数,以大为标准)那么很简单,最大功率P=13只×40A×5V=2600W。 单灯的功率=5V×20mA=0.1W LED显示屏模组的功率=单灯的功率×分辨率(横向像素点数×纵向像素点数)/2 LED显示屏的最大功率=屏体的分辨率×每分辨率灯数×0.1

LED显示屏的平均功率=屏体的分辨率×每分辨率灯数×0.1/2 LED显示屏的实际功率=屏体的分辨率×每分辨率灯数×0.1/扫描数(4扫,2扫,16扫,8扫,静态)

max7219驱动8个数码管代码及电路图

max7219驱动8个数码管代码及电路图 #include "reg52.h" #include "my_type.h" #define Addr_No_Op 0x00 //不工作寄存器地址 #define Addr_Digit0 0x01 #define Addr_Digit1 0x02 #define Addr_Digit2 0x03 #define Addr_Digit3 0x04 #define Addr_Digit4 0x05 #define Addr_Digit5 0x06 #define Addr_Digit6 0x07 #define Addr_Digit7 0x08 #define Addr_Decode_Mode 0x09 //译码模式寄存器地址

#define Addr_Intensity 0x0a //亮度控制寄存器地址(max7221) #define Addr_Scan_Limit 0x0b //扫描控制寄存器地址 #define Addr_Shutdowm 0x0c //掉电模式寄存器地址 #define Addr_Display_Test 0x0f //显示检测寄存器地址 sbit Max7219_Din=P1^5; sbit Max7219_Load=P1^6; sbit Max7219_Clk=P1^7; uchar code max7219_7led_code[18]={0x7e,0x30,0x6d,0x79, //0-1-2-3 0x33,0x5b,0x5f,0x70, //4-5-6-7 0x7f,0x7b,0x01,0x4e, //8-9-"-"-E 0x37,0x0e,0x67,0x00}; //H-L-P-空白 void wr_max7219(uchar addr,uchar dat) { uchar i;

液晶屏原理

液晶屏原理 1.液晶显示器(LCD)目前科技信息产品都朝着轻、薄、短、小的目标发展,在计算机周边中拥有悠久历史的显示器产品当然也不例外。在便于携带与搬运为前题之下,传统的显示方式如CRT映像管显示器及LED显示板等等,皆受制于体积过大或耗电量甚巨等因素,无法达成使用者的实际需求。而液晶显示技术的发展正好切合目前信息产品的潮流,无论是直角显示、低耗电量、体积小、还是零辐射等优点,都能让使用者享受最佳的视觉环境。 2.液晶的诞生要追溯液晶显示器的来源,必须先从「液晶」的诞生开始讲起。在公元1888年,一位奥地利的植物学家,菲德烈.莱尼泽(Friedrich Reinitzer)发现了一种特殊的物质。他从植物中提炼出一种称为螺旋性甲苯酸盐的化合物,在为这种化合物做加热实验时,意外的发现此种化合物具有两个不同温度的熔点。而它的状态介于我们一般所熟知的液态与固态物质之间,有点类似肥皂水的胶状溶液,但它在某一温度范围内却具有液体和结晶双方性质的物质,也由于其独特的状态,后来便把它命名为「Liquid Crystal」,就是液态结晶物质的意思。不过,虽然液晶早在1888年就被发现,但是真正实用在生活周遭的用品时,却是在80年后的事情了。公元1968年,在美国RCA公司(收音机与电视的发明公司)的沙诺夫研发中心,工程师们发现液晶分子会受到电压的影响,改变其分子的排列状态,并且可以让射入的光线产生偏转的现象。利用此一原理,RCA公司发明

了世界第一台使用液晶显示的屏幕。尔后,液晶显示技术被广泛的用在一般的电子产品中,举凡计算器、电子表、手机屏幕、医院所使用的仪器(因为有辐射计量的考虑)或是数字相机上面的屏幕等等。令人玩味的是,液晶的发现比真空管或是阴极射线管还早,但世人了解此一现象的并不多,直到1962年才有第一本,由RCA研究小组的化学家乔.卡司特雷诺(Joe Castellano)先生所出版的书籍来描述。而与映像管相同的,这两项技术虽然都是由美国的RCA公司所发明的,却分别被日本的新力(Sony)与夏普(Sharp)两家公司发扬光大。 3.什么是液晶液晶显示器是以液晶材料为基本组件,由于液晶是介于固态和液态之间,不但具有固态晶体光学特性,又具有液态流动特性,所以已经可以说是一个中间相。而要了解液晶的所产生的光电效应,我们必须来解释液晶的物理特性,包括它的黏性(visco-sity)与弹性(elasticity)和其极化性(polarizalility)。液晶的黏性和弹性从流体力学的观点来看,可说是一个具有排列性质的液体,依照作用力量不同的方向,应该有不同的效果。就好像是将一把短木棍扔进流动的河水中,短木棍随着河水流着,起初显得凌乱,过了一会儿,所有短木棍的长轴都自然的变成与河水流动的方向一致,这表示着次黏性最低的流动方式,也是流动自由能最低的一个物理模型。此外,液晶除了有黏性的反应外,还具有弹性的反应,它们都是对于外加的力量,呈现了方向性的效果。也因此光线射入液晶物质中,必然会按照

MAX7219工作原理简介

MAX7219工作原理简介 MAX7219是一个采用3线串行接口的8位共阴极7段LED显示驱动器。本文分析了MAX7219各个寄存器的功能,并结合MAX7219的工作时序,给出了MAX7219在Motorola MC68HC908单片机系统中的一个应用实例。关键词: MCU;MAX7219;LED Motorola MC68HC908 MAX7219工作时序及其寄存器 MAX7219是一个高性能的多位LED显示驱动器,可同时驱动8位共阴极LED或64个独立的LED。其内部结构框图如图1所示,主要包括移位寄存器、控制寄存器、译码器、数位与段驱动器以及亮度调节和多路扫描电路等。 MAX7219 采用串行接口方式,只需LOAD、DIN、CLK三个管脚便可实现数据传送。DIN管脚上的16位串行数据包不受LOAD状态的影响,在每个CLK的上升沿被移入到内部16位移位寄存器中。然后,在LOAD的上升沿数据被锁存到数字或控制寄存器中。LOAD必须在第16个时钟上降沿或之后,但在下一个时钟上升沿之前变高,否则数据将会丢失。DIN端的数据通过移位寄存器传送,并在16.5个时钟周期后出现在DOUT端,随CLK 的下降沿输出。 MAX7219的操作时序如图2所示。 MAX7219的串行数据标记为D15~D0,其中低8位表示显示数据本身,最高的4位D15~D12未使用,寻址内部寄存器的地址位占用D11~D8,选择14个内部寄存器,见表1。 图1 MAX7219内部结构框图 图2 MAX7219的数据传送时序 MAX7219 内部具有14个可寻址数字和控制寄存器。其中的8个数字寄存器由一个片内8×8双端口SRAM实现。它们可直接寻址,因此可对单个数进行更新并且通常只要 V+超过2V数据就可保留下去。除8个数位寄存器之外,还有无操作、译码方式、亮度调整、扫描位数、睡眠模式和显示器测试6个控制寄存器。 无操作寄存器用于多片MAX7219级联,在不改变显示或不影响任意控制寄存器条件下,它允许数据从DIN传送到DOUT。 睡眠模式控制寄存器用于节省电源消耗,延长显示器的使用寿命。当睡眠模式控制寄存器控制字节中的最低位D0=0时,为睡眠模式;D0=1时,为正常操作模式。上电时所有的控制寄存器都复位,显示器都熄灭,芯片

LED显示屏功率计算方法

led显示屏计算方法|led电子显示屏功率计算|led电源计算方法|led显示屏计算方法大全 led显示屏计算方法|led电子显示屏功率计算|led电源计算方法|led显示屏计算方法大全 1、点间距计算方法:每个像素点到每一个相邻像素点之间的中心距离;每个像素点可以是一颗LED灯[如:PH10(1R)]、两颗LED灯[如:PH16(2R)]、三颗led灯[如:PH16(2R1G1B)],P16的点间距为:16MM; P20的点间距为:20MM; P12的点间距为:12MM... 2、长度和高度计算方法:点间距×点数=长/高 如:PH16长度=16点×1.6㎝=25.6㎝高度=8点×1.6㎝=12.8㎝ PH10长度=32点×1.0㎝=32㎝高度=16点×1.0㎝=16㎝ 3、屏体使用模组数计算方法:总面积÷模组长度÷模组高度=使用模组数 如:10个平方的PH16户外单色led显示屏使用模组数等于:10平方米÷0.256米÷0.128米=305.17678≈305个 更加精确的计算方法:长度使用模组数×高度使用模组数=使用模组总数如:长5米、高2米的PH16单色led显示屏使用模组数:长使用模组数=5米÷0.256米=19.53125≈20个高使用模组数=2米÷0.128米=15.625≈16个使用模组总数目=20个×16个=320个 4.LED显示屏可视距离的计算方法: RGB颜色混合距离三色混合成为单一颜色的距离:LED全彩屏视距=像素点间距(mm)×500/1000 最小的观看距离能显示平滑图像的距离:LED显示屏可视距离=像素点间距(mm) ×1000/1000 最合适的观看距离观看者能看到高度清晰画面的距离:LED显示屏最佳视距=像素点间距(mm) ×3000/1000 最远的观看距离:LED显示屏最远视距=屏幕高度(米)×30(倍) 5.LED显示屏扫描方式计算方法: 扫描方式:在一定的显示区域内,同时点亮的行数与整个区域行数的比例。

相关文档
最新文档