LED点阵原理图
- 格式:doc
- 大小:324.50 KB
- 文档页数:6
LED点阵显示屏工作原理及驱动程序LED显示屏驱动程序几年前本人得到一块双色LED显示屏,因为没有控制器,所以对显示屏的工作原理进行了一番研究,利用手头上的元件,搭了一块电路板,编写了一段程序就放置一边了,这几天有时间,把原来的89C51汇编程序改了一下,改为AT89C2051和STC11F04E单片机能用的程序,放到博客上希望有兴趣的同行可以参考一下。
下面是显示效果图:下面是接口电路板图:下面是电路原理图:工作原理:这块显示屏是分为上下共32行LED点阵,水平有4块16*16点阵,所以能显示16*16点阵8个汉字。
工作原理是用74ls138做为行扫描,列用74ls595控制,当138扫描到某一行时,595决定哪一列该亮,就这样快速扫描,就形成了图像了。
参见下图:以单色单元板为例走线方式如下图:各信号走向如下:l JP1排针16脚信号A->74HC245的第2脚(信号放大)->74HC245的第18脚->74HC138的第1脚->JP2排针16脚l JP1排针15脚信号B->74HC245的第3脚(信号放大)->74HC245的第17脚->74HC138的第2脚->JP2排针15脚l JP1排针1脚信号OE->74HC245的第4脚(信号放大)->74HC245的第16脚->74HC04D的第1脚->74HC04D的2脚->①74HC138的第5脚->②74HC04D的3脚->74HC04D的4脚->JP2排针1脚l JP1排针11脚信号R->74HC245的第9脚(信号放大)->74HC245的第11脚->最左上角74HC595-1的第14脚->74HC595-1的9脚->74HC595-2的14脚->74HC595-2的9脚->最右下角74HC595-16的14脚->74HC595-16的9脚->JP2排针11脚我现在用的是双色板,JP1各端口含义如下:ABCD是显示屏电路板上的74LS138地址译码端,单片机寄存器R3控制行扫描,当R3从00000000到00010000增加时ABCD的变化给138译码,当R3=0FH 时正好扫描16行,当进位到10时扫描结束,OE是138的片选使能端,低电平有效。
1.实验任务利用8X8点阵显示数字0到9的数字。
2.电路原理图图4.25.13.硬件系统连线(1).把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;(2).把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;4.程序设计内容(1).数字0-9点阵显示代码的形成如下图所示,假设显示数字“0”00123 4 5 6 78●●●●●●●●●●●●●●●●00 00 3E 41 41 41 3E 00因此,形成的列代码为00H,00H,3EH,41H,41H,3EH,00H,00H;只要把这些代码分别送到相应的列线上面,即可实现“0”的数字显示。
送显示代码过程如下所示送第一列线代码到P3端口,同时置第一行线为“0”,其它行线为“1”,延时2ms左右,送第二列线代码到P3端口,同时置第二行线为“0”,其它行线为“1”,延时2ms左右,如此下去,直到送完最后一列代码,又从头开始送。
数字“1”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●其显示代码为00H,00H,00H,00H,21H,7FH,01H,00H数字“2”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●●●●00H,00H,27H,45H,45H,45H,39H,00H数字“3”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●●00H,00H,22H,49H,49H,49H,36H,00H 数字“4”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●00H,00H,0CH,14H,24H,7FH,04H,00H00123 4 5 6 78●●●●●●●●●●●●●●●●●00H,00H,72H,51H,51H,51H,4EH,00H 数字“6”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●●●●00H,00H,3EH,49H,49H,49H,26H,00H00123 4 5 6 78●●●●●●●●●●●00H,00H,40H,40H,40H,4FH,70H,00H 数字“8”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●●●●00H,00H,36H,49H,49H,49H,36H,00H 数字“9”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●●●●00H,00H,32H,49H,49H,49H,3EH,00H 5.汇编源程序TIM EQU 30HCNTA EQU 31HCNTB EQU 32HORG 00HLJMP STARTORG 0BHLJMP T0XORG 30HSTART: MOV TIM,#00HMOV CNTA,#00HMOV CNTB,#00HMOV TMOD,#01HMOV TH0,#(65536-4000)/256MOV TL0,#(65536-4000) MOD 256SETB TR0SETB ET0SETB EASJMP $T0X:MOV TH0,#(65536-4000)/256MOV TL0,#(65536-4000) MOD 256MOV DPTR,#TABMOV A,CNTAMOVC A,@A+DPTRMOV P3,AMOV DPTR,#DIGITMOV A,CNTBMOV B,#8MUL ABADD A,CNTAMOVC A,@A+DPTRINC CNTAMOV A,CNTACJNE A,#8,NEXTMOV CNTA,#00HNEXT: INC TIMMOV A,TIMCJNE A,#250,NEXMOV TIM,#00HINC CNTBMOV A,CNTBCJNE A,#10,NEXMOV CNTB,#00HNEX: RETITAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH DIGIT: DB 00H,00H,3EH,41H,41H,41H,3EH,00HDB00H,00H,00H,00H,21H,7FH,01H,00HDB00H,00H,27H,45H,45H,45H,39H,00H00H,00H,22H,49H,49H,49H,36H,00HDB00H,00H,0CH,14H,24H,7FH,04H,00HDB00H,00H,72H,51H,51H,51H,4EH,00HDB00H,00H,3EH,49H,49H,49H,26H,00HDB00H,00H,40H,40H,40H,4FH,70H,00HDB00H,00H,36H,49H,49H,49H,36H,00HDB00H,00H,32H,49H,49H,49H,3EH,00HEND6.C语言源程序#includeunsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code digittab[10][8]={ {0x00,0x00,0x3e,0x41,0x 41,0x41,0x3e,0x00}, //0{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00},//1{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00},//2{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00},//3{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00},//4{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5 {0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00},//7{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00},//8{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00} //9}; unsigned int timecount;unsigned char cnta;unsigned char cntb;void main(void){TMOD=0x01;TH0=(65536-3000)/256;TL0=(65536-3000)%6;TR0=1;ET0=1;EA=1;while(1){;}}void t0(void) interrupt 1 using 0{TH0=(65536-3000)/256;TL0=(65536-3000)%6; P3=tab[cnta];P1=digittab[cntb][cnta]; cnta++;if(cnta==8){cnta=0;}timecount++;if(timecount==333){timecount=0;cntb++;if(cntb==10){cntb=0;}}}00。
LED点阵的工作原理二、16*16点阵拉线图、595驱动图三、16*16点阵显示汉字的过程五、点阵的取模利用软件对需要显示的汉字进行取字模,可以提高开发效率,软件界面如下图:如上图所示,是我们的“祁”字。
上面说过,最左边一竖的值分别是:0xef和0xdf。
而到了这里,则刚好相反,变成了0x10和0x20。
我们在编程的时候,需要进行一次取反操作,这样才能兼容以后的程序修改。
当然 也可以用过软件黑白取反来得到字模。
六、七彩点阵或者双色点阵:单色点阵一般都是直接完全点亮或者有亮度调整功能。
白天和黑夜需要的亮度不同。
耗电就不同。
双色点阵,就有共阴、供阳之分。
市面上常见的是红绿色点阵。
能够显示红、绿、黄三种颜色。
跟单色点阵的工作原理非常类似。
七彩点阵,由红绿蓝三基色构成,三种颜色组合成:红、黄、绿、青、蓝、紫、白。
一帮成本比较低的,就是这样的配置。
也跟单色点阵一样 可以配置不同的亮度。
实际能够合成的颜色不止7种,但是不会有很多种。
很多户外的彩色广告屏都是这种。
七、全真彩点阵的控制原理:真正的全彩点阵,一般都不能用扫描方式来控制,而是用芯片去控制每个灯的亮度。
比如一个灯是红、绿、蓝3基色。
正极一般直接接5V,三个负极分别接到芯片的RGB 脚,芯片直接精确控制这三个脚的电流大小,根据控制器发送的信号来调整电流占空比,从0-255可调整。
这样一来,灯珠可以合成的颜色就是256*256*256=1677万颜色。
1677万色是常见的8位二进制颜色,有些芯片可以支持16位颜色,也就是281万亿种颜色。
这种项目一般工程是不会去设计的。
显示要求太高了。
全真彩点阵作为单独控制每个灯,一般都是芯片跟芯片直接使用串行的通信方式。
这样,组合的形状就不限于矩形,而是可以做任何形状。
我们WQX开发板与全球娱乐行业接轨的DMX512灯光控制系统,就是支持8位1677万色的国际通用协议。
我们WQX开发板,板上搭载的8颗WS2812灯珠,就是内置1677万色的芯片,来显示全真彩色的。
LED点阵原理及基本原理概述LED点阵(LED matrix)是一种由多个LED灯组成的矩阵结构,通常用于显示文字、图形、动画等信息。
LED点阵的基本原理是通过控制每个LED灯的亮灭状态,来实现对整个点阵的显示控制。
本文将详细解释LED点阵的工作原理、组成结构以及控制方法。
LED点阵的组成结构LED点阵通常由多个LED灯组成,每个LED灯都是一个独立的发光体。
LED点阵可以根据显示需求选择不同尺寸的点阵,常见的尺寸有8×8、16×16、32×32等。
例如,一个8×8的LED点阵就由64个LED灯组成,排列成8行8列的矩阵。
LED点阵的工作原理LED点阵的工作原理可以简单分为两个步骤:扫描行和亮灭控制。
1. 扫描行LED点阵中的LED灯按照矩阵的行列排列,假设有一个8×8的LED点阵,那么点阵可以分成8行和8列。
扫描行的目的是逐行选取LED灯,并为其赋予电压,使其亮起。
在扫描行的过程中,逐行选取LED灯的方法可以是逐行左移或逐行上移,也可以是其他的扫描方法,不同的扫描方法可能会影响到LED点阵的显示效果。
2. 亮灭控制在扫描行的基础上,LED点阵需要通过控制LED灯的亮灭状态来显示文字、图形、动画等信息。
LED灯只有两种状态:亮和灭。
亮状态表示该LED灯需要显示的部分,灭状态表示该LED灯不需要显示的部分。
LED点阵通常通过控制每个LED灯的亮灭状态来实现显示效果。
例如,要显示一个字母,可以将该字母对应的LED灯设置为亮灭的状态组合,通过扫描行的方式将亮灭的状态逐个展示出来,就能够在LED点阵上显示出该字母。
LED点阵的控制方法LED点阵的控制方法可以简单分为两类:静态控制和动态控制。
1. 静态控制静态控制是指将所有LED灯的亮灭状态一次性设置好,然后通过控制扫描行逐行显示出来。
静态控制的优点是实现简单,只需要一次性设置好亮灭状态,然后循环扫描行即可。
汉字显示屏到处可见,被广泛应用于与汽车报站器,广告屏等。
本文中的16*16LED显示屏是采用4块8*8LED合并而成的。
下图是4个8*8LED组成的显示屏。
(图1)这里我把点阵LED显示屏制作的电路原理分成两个部分来介绍即显示屏电路和显示屏驱动电路。
一、显示屏电路本人用的是共阴极的8*8点阵屏,在市场上是比较容易买到,下图是8*8点阵屏的实物图。
(图2)点阵屏有两个类型,一类为共阴极(左),另一类则为共阳极(右),下图给出了两种类型的内部电路原理及相应的管脚图。
(图3)LED阵列的显示方式是按显示编码的顺序,一行一行地显示。
每一行的显示时间大约为4ms,由于人类的视觉暂留现象,将感觉到8行LED是在同时显示的。
若显示的时间太短,则亮度不够,若显示的时间太长,将会感觉到闪烁。
本文采用低电平逐行扫描,高电平输出显示信号。
即轮流给行信号输出低电平,在任意时刻只有一行发光二极管是处于可以被点亮的状态,其它行都处于熄灭状态。
为了方便调试本文把4块8*8组成的16*16的点阵屏的行信号扫描输出管脚和列信号显示输出管脚分别引到显示屏的两边。
Prot EL原理图如下:(图4)如图4 所示的原理图中的Si(i=1,2,3,…,16) 代表行扫描信号输出,Di(i=1,2,3,…,16)代表列显示信号输出。
实物电路图的正反面如下:(图5)二、显示屏驱动电路显示屏驱动电路的原理图如下:显示屏驱动电路主要由主芯片控制电路、电源电路、控制信号放大电路等组成。
1、主芯片控制电路该部分电路主要由AT89S52和74LS154组成。
单片机的P0和P2号控制显示信号的输出,P1号的低4位控制74LS154的译码输入,从而控制扫描信号的输出。
2、电源电路整个电路的供电由USB电源提供,利用我们的电脑主机USB接口可以输出+5V电压,方便我们在实验室调试3、控制信号放大电路为提供负载能力,在P0和P2口接16个常用9013的NPN三极管放大驱动信号。
LED点阵书写显示屏的设计
2011-12-23 22:51:14 来源:21IC
关键字:STC89C58LED双色点阵红外光电三板管光笔
近年来,点阵LED显示屏利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,已成为众多显示媒体以及户外作业显示的电子工具,广泛地应用于车站、宾馆、金融、证券、邮电、体育等广告发布或交通运输等行业。
目前LED显示屏的设计已经有多种方法可以实现,本设计是基于STC89C58单片机利用自制的光笔中红外光电三极管检测光笔触及位置处红色LED灯的点亮,计算出光笔位置的行列坐标,并根据按键设置的不同工作模式控制LED显示,从而实现点亮、划亮、反显、清屏、笔画拖动、轮流显示等功能。
1 系统设计方案
用双色LED点阵(红色和绿色)模块组合成32×32的LED点阵屏。
其中红色LED作微亮扫描检测用,绿色LED作显示用,用红外光电三极管自制光笔。
在检测时依次点亮红色LED,当点亮到某个LED时,如果此时光笔放在该LED时,这时红外光电三极管的阻值会发生变化,通过相应的检测电路可以得出一个高低电平的变化,单片机检测到信号变化时就可以判断光笔的当前位置。
该方案简单易行,对光笔位置判断的灵敏度较高,抗外界干扰能力强。
采用双色点阵和红外光电三极管能够有效地减少环境可见光和显示LED(绿色)所发的光线对光笔中光电三极管的干扰。
2 系统结构及单元模块设计
2.1 系统总体框图
系统主要由微处理器STC89C58,32×32双色LED点阵显示、光笔及检测电路、外界光照强度检测电路、按键输入电路、液晶显示模块等几个部分组成。
系统硬件结构框图如图1所示。
单片机STC89C58片内有1 KB的片外RAM,能够满足保存四屏显示信息要求,该单片机性价比很高。
系统原理图如图2所示。
2.2 光笔及检测电路
用红外光电三极管自制光笔,光笔检测电路如图3所示。
图中Q2是用红外光电三极管,用来完成对32×32点阵红色LED灯点亮或熄灭的检测;R6,RP1用于对Q2进行限流,另外还可以调节RP1来提高或减小输出的电压值;R7,R8是用于给U3A(比较器)的同相端提供基准电压值,通过它跟采集信息输出来的电压值进行比较(U2>U3,
U1=Umin),R12是U3A的输出上拉电阻。
工作原理如下:当红光照到红外光电三极管上时,红外光电三极管的电阻变小,其射极电压升高,此时2脚电压比3脚电压高,比较器1端输出为低电平。
当电容C11充电一段时间之后,比较器2脚电压比3脚电压低,比较器1端输出为高电平。
由此,当检测到光信号时,该电路将产生一个脉冲信号。
由于在电路中加了耦合电容,可有效地防止环境对光笔的影响。
在本系统中,光笔是一个非常重要的一个环节,为了更好的稳定工作,必须添加适当的抗干扰措施。
在信号传输方面采用屏蔽软同轴铜线,在红外光电三极管外围套加黑色热缩管,红外光电三极管比单个LED灯的直径小,以确保少受外界红外线的干扰。
2.3 LED双色点阵显示与驱动电路
LED双色(红、绿)点阵的型号有很多,其中最为常用的有4×4,8×8,16×16式模块,本设计需要一个32×32的双色显示,其显示亮度、体积由设计者自行定义。
考虑到采购的因素,选择由16块8×8双色点阵模块组成32×32点阵显示屏,利用由74HC154和74HC595芯片来驱动显示,由串行口工作在模式0(速度快)将显示信息快速送入74HC595。
LED是一个非线性元器件,当它两端的电压达到一定的值后,通过它本身的电流会急剧上升。
考虑32×32点阵式由1 024个发光二极管组成,当它们同时点亮时的电流很大,必须考虑电源供电能力。
一般LED的电流值为5~20 mA,取最大值20 mA,同时点亮两行,有:I=20×64= 1 280mA。
2.4 外界光照检测电路
外界光照检测电路如图4所示。
电路采用光敏电阻RP串联一个固定电阻R9,将光照变
化转换为电压变化,此电压信号通过芯片AD833进行模数转换(A/D)后,由5脚送入单片机处理,以控制亮度的调节。
根据分压原理,有:
可见选择不同的R9的阻值可改变Vin的大小,使输入信号在合适的范围之内。
光敏电阻RP随光照变化的阻值变化为3~4 kΩ,由上式可计算出R9为3~4 kΩ,取R9=4 kΩ。
2.5 超时低功耗设计
超时低功耗设计通过软件实现,利用按键设定时间常数,当在设定时间内光笔未接触显示屏或按键未按下时关闭所有显示,使系统进入休眠状态,减少电能消耗,当有按键按下时系统恢复运行。
3 系统软件设计
系统的软件采用C语言编程,软件在KeilμV3编程环境中编写和调试。
为了编写和调试的方便,程序使用模块化设计,根据按键、光笔扫描、LED点阵显示、LCD液晶显示、亮度调节等功能分别设计程序,大大简化了程序的设计和调试工作,节省设计周期。
系统主程序流程图如图5所示。
主程序开始对内部功能寄存器、端口、液晶显示模块等初始化,然后在主循环中进行光笔位置扫描、LED显示缓冲区数据更新、LED点阵输出、液晶模块输出、可见光亮度检测、低功耗判断等功能。
在定时器中断子程序中进行按键扫描,完成显示模式的识别,相应的显示模式信息和光标坐标在液晶模块上显示。
4 系统测试
本设计的测试要求与结果见表1。
通过测试结果表明,系统能够实现该设计要求的点亮、划亮、反显、清屏、笔画拖动、轮流显示、显示亮度调节、休眠模式等主要功能。
5 结论
系统主要由微处理器STC89C58、32×32双色LED点阵显示、光笔及检测电路、外界光照强度检测电路、按键输入电路、液晶显示模块等几个部分组成。
系统能够实现要求的点亮、划亮、反显、清屏、笔画拖动、轮流显示、显示亮度调节、休眠模式等主要功能。
在系统的设计过程中,利用软件和硬件相结合,充分发挥软件编程的灵活性,并最大限度挖掘单片机的硬件资源。
系统性价比高,运行稳定,能耗低,显示效果好。