导言
LED显现屏的根本作业原理是动态扫描。显现操控的进程是先从数据存储器读得字模数据,再经过单片机的串行口或并行口将数据写给LED点阵片,然后再行扫描。
动态扫描计划和静态显现计划比较节约驱动元件,但要求改写频率高于50 Hz,以防止显现的图画或文字呈现闪耀。由于改写频率的约束,一片单片机能操控显现元件的片数是较少的。
现在大屏幕LED显现屏的运用已越来越广泛。为了对成百、上千片的LED点阵片完结有序的、快速的显现操控,人们动了许多脑筋,双CPU、双RAM的计划,FPGA的计划等都获得了成功的运用;可是这些计划的显现操控进程仍是先读后写。
本计划另开思路:用一条读指令,将读和写合在一步完结,可大大地进步显现操控的功率,且电路简略。
1 LED显现屏的作业原理
LED显现屏的根本作业原理是动态扫描。动态扫描又分为行扫描和列扫描两种办法,常用的办法是行扫描。行扫描办法又分为8行扫描和16行扫描两种。
内行扫描作业办法下,每一片LED点阵片都有一组列驱动电路,列驱动电路中一定有一片锁存器或移位寄存器,用来锁存待显现内容的字模数据。内行扫描作业办法下,同一排LED点阵片的同名行操控引脚是并接在一条线上的,共8条线,最终衔接在一个行驱动电路上;行驱动电路中也一定有一片锁存器或移位寄存器,用来锁存行扫描信号。
LED显现屏的列驱动电路和行驱动电路一般都选用单片机进行操控,常用的单片机是MCS51系列。LED显现屏显现的内容一般按字模的办法寄存在单片机的外部数据存储器中,字模是8位二进制数。
单片机对LED显现屏的操控进程是先读后写。按LED点阵片在屏幕上的摆放次序,单片机先对第1排的第1片LED点阵片的列驱动锁存器,写入从外部数据存储器读得的字模数据,接着对第2片、第3片……直到这一排的最终一片都写完字模数据后,单片机再对这一排的行驱动锁存器写行扫描信号,所以第1排第1行与字模数据相关的发光二极管点亮。接着第2排第1行、第3排第1行……直到最终一排第1行的点亮。各排第1行都点亮后,延时一段时刻,然后黑屏,这样就算完结了单片机对LED显现屏的一行扫描操控。
单片机对LED显现屏第2行的扫描操控、第3行的扫描操控……直到第8行的扫描操控,其进程与第1行的扫描操控进程相同。对悉数8行的操控进程都完结后,LED显现屏也就完结了1帧图画的完好显现。
尽管按这种作业办法,LED显现屏是一行一行点亮的,每次都只需一行亮,但只需确保每行每秒钟能点亮50次以上,即改写频率高于50 Hz,那么由于人的视觉慵懒,所看到的LED显现屏显现的图画仍是全屏安稳的图画。
2 LED显现屏的传统操控办法
参考文献[1]对LED显现屏的操控电路作了概括和比较。其间,显现操控电路是按行扫描办法作业的,列操控电路分为两大类。列操控电路中,一类是用74LS377之类的芯片作为列驱动电路的锁存器,CPU经过并行总线给列驱动电路的锁存器写字模数据;另一类是用移位寄存器74LS595之类的芯片作为列驱动电路的锁存器,CPU经过串行总线给列驱动电路的锁存器写字模数据。
无论是并行总线的操控办法仍是串行总线的操控办法,其作业进程都是先给数据指针DPTR赋值,接着累加器A按数据指针DPTR的指向,从外部数据存储器RAM中读得字模数据。然后,并行总线时,再给数据指针DPTR赋值,接着CPU将累加器A中的字模数据,按数据指针DPTR的指向,写给LED点阵片列驱动电路的锁存器;串行总线时,CPU将累加器A中的字模数据,经过串行口写给LED点阵片列驱动电路的锁存器。
一般显现操控中,运用较多的单片机是MCS51系列。假定单片机体系的晶振频率是12 MHz,机器周期是1 μs,上述两种操控办法完结1片LED点阵片的显现操控都得十几μs。
本文提出的高速操控计划,完结1片LED点阵片的显现操控大约只需4 μs。按此计算,1片MCS51系列的单片机,差不多能够对600多片LED点阵片进行显现操控。与传统的操控办法比较,显现操控的功率成倍进步。
3 LED显现屏的高速操控计划
图1是高速操控计划LED显现屏电路原理。选用MCS51系列单片机对LED显现屏进行操控;随机存储器62512用作LED显现屏的数据存储器,存储待显现内容的字模数据;选用8行扫描办法,多片LED点阵片共用1组行驱动电路;每片LED点阵片都有一组列驱动电路,用74LS377作为列驱动的锁存器,CPU经过并行总线给列驱动电路的锁存器写字模数据;地址译码电路,用于产生LED点阵片行驱动电路和列驱动电路的片选地址。
图1 高速操控计划LED显现屏电原理
本计划的特色有两个: 榜首,尽管CPU仍是经过并行总线给列驱动电路的锁存器写字模数据,可是锁存器的锁存信号改用了CPU的操控信号RD,而不是惯例用法的WR;第二,地址译码电路确保了LED点阵片列驱动电路的片选地址和数据存储器的某一段的逻辑地址是堆叠的,而不是惯例用法,这两组地址有必要分隔。
由于上述电路的一些简略更改,单片机对LED显现屏的显现操控功率将产生显着的改变。详细作业进程如下: 假定数据指针DPTR中现已装入了数据存储器的地址,履行指令“MOVXA,@DPTR”。这条指令的功用是CPU按DPTR的指向从外部数据存储器中读字模数据,读到累加器A中;可是在本电路中,由于LED点阵片列驱动电路的片选地址和数据存储器的某一段的逻辑地址是堆叠的,也便是说,在履行指令“MOVXA,@DPTR”时,DPTR除了指向外部数据存储器的某个地址外,还选中了某一个LED点阵片列驱动电路的锁存器。假如此刻被选中的这个锁存器的锁存引脚正好有打入脉冲来到,那么锁存器也就将从外部数据存储器送出的字模数据锁住了。这个打入脉冲用的便是RD。RD是CPU在履行指令“MOVXA,@DPTR”时向外部数据存储器宣布的读操控信号。由于MCS51系列单片机的读操控信号RD和写操控信号WR的时序彻底相同[2],RD替代WR完结锁存功用,当然也就没有什么悬念了。这条指令在履行时,在完结对数据存储器读的一起,又完结了对LED点阵片的写,因而加快了显现操控的进程。
前面讲过,并行总线时CPU完结1次向LED点阵片的列驱动电路的锁存器写字模数据的程序进程,大约需求十几μs;而现在只需4 μs,快多了,由于现在完结1次向LED点阵片的列驱动电路的锁存器写字模数据的程序进程只需两步,首先给数据指针DPTR赋有用地址,接着CPU按DPTR的指向从外部数据存储器中读字模数据,与此一起也将字模数据传给了LED点阵片列驱动电路的锁存器。2条指令,4个机器周期,4 μs。这儿要弥补阐明一点,在编制悉数LED点阵片列驱动电路的锁存器写字模数据的程序时,不要用循环指令,由于那样每次进程又得添加2 μs;要选用对LED点阵片逐片编程的办法,这样编出来的程序尽管占空间,但节约了时刻。用空间换时刻的规划办法,有时也是规划人员值得测验的一种办法。
本电路的行驱动锁存器的锁存操控,仍是用CPU的写操控信号WR,不作更改。行驱动锁存器的片选信号也来自地址译码电路。为了防止数据存储器和LED点阵片之间的彼此搅扰,与这组地址对应的数据存储器的这部分存储空间就不用它了。
地址译码电路的规划,应确保LED点阵片列驱动电路的片选地址和数据存储器的某一段的逻辑地址是堆叠的。详细规划举例如下:
假定某一块LED显现屏用了240片LED点阵片,可显现16×16的汉字60个,用1片MCS51系列单片机进行高速操控。这240片LED点阵片列驱动电路的片选地址就应有240个,地址译码电路有必要确保译码后的有用地址大于这个数量。图1中的地址译码电路,输入的地址信号是A0~A7和A11~A15,没有接入A8、A9、A10。用74LS138译码器,三级译码后可得到256根有用地址线,第1根有用地址线对应外部数据存储器的8个地址:0000H、0100H、0200H、0300H、0400H、0500H、0600H、0700H。第2根有用地址线对应外部数据存储器的8个地址:0001H、0101H、0201H、0301H、0401H、0501H、0601H、0701H。……第256根有用地址线对应外部数据存储器的8个地址:00FFH、01FFH、02FFH、03FFH、04FFH、05FFH、06FFH、07FFH。这256根有用地址线,240根给列驱动电路的片选地址,余下的给行驱动电路的片选地址;假如不够用,行驱动电路可考虑改为串行总线的办法进行操控。上述剖析成果标明,1片LED点阵片的I/O接口地址和数据存储器的8个字节的地址树立了堆叠联系。这是由于每片LED点阵片都有8行,每行都对应1个字节的字模数据。
上述剖析成果还标明,悉数LED点阵片的I/O接口地址和数据存储器的0000H~07FFH地址段树立了映射联系。数据存储器0000H~07FFH中寄存的正好是一帧图画的悉数字模数据。
4 高速操控计划在LED显现屏中的运用
现在商业上用的大屏幕LED显现屏,用到的LED点阵片成百、上千乃至几千片。单片机对LED显现屏的操控,包含单片机与PC机的通讯、字模数据的数据处理以及显现操控三个部分。1片单片机要与PC机通讯,又要进行数据处理,还要进行显现操控,肯定是忙不过来的。
为了处理大屏幕LED显现屏的操控问题,许多文献都对操控计划作了成功的规划。不少计划[36]的根本思路是数据处理由一片单片机完结,显现操控由另一片单片机或一个专门规划的电路完结。这些计划的操控功率尽管很高,可是电路比较复杂。
图2 数据存储器分段挑选开关电路
本计划的根本思路是,单片机与PC机的通讯、数据处理及显现操控都由1片单片机完结。显现操控选用本文提出的高速操控计划,电路简略,并且显现操控的功率很高。例如,LED点阵片选用常用的6 cm×6 cm外廓尺度的LED点阵片时,屏幕面积小于2 m2时,1片MCS51系列单片机就能够完结。可是,高速操控计划用于大屏幕LED显现屏,还有一些问题要处理:
① 单片机与PC机的通讯问题。大屏幕LED显现屏与PC机衔接时,PC机用来修改待显现的内容,并将内容传给大屏幕LED显现屏中的单片机。PC机与单片机通讯时,不会搅扰显现屏的作业。由于显现屏作业时,是一场一场显现的,场与场之间有黑屏的时刻,运用黑屏的时刻进行通讯彻底没有问题。
② 添加显现场次的问题。大部分显现屏的作业办法是,显现的内容一场、一场、又一场,如此循环。前面的规划只考虑了显现一帧图画时,LED点阵片的I/O接口地址和数据存储器的一段树立映射联系的问题,因而只能显现一场定格的图画。在图1的基础上添加图2,能够使LED点阵片的I/O接口地址和数据存储器的多段树立映射联系。作业时,由P1口操控多路开关,切换数据存储器的不同段和LED点阵片的I/O接口地址映射,所以显现屏就能够一场一场所循环显现了。假如扩大外部数据存储器的片数,并由P1口使能其间的一片有用,那么将能够扩大更多的段和LED点阵片的I/O接口地址树立映射联系,这样的话,像拉幕、流水等一些显现作用,也就能够完结了。
③ 字模数据的数据处理问题。显现的办法比较多,比方有定格、拉幕、流水,流水办法中又有向左流水、向右流水等。在转化显现办法时,就有必要进行一次字模数据的数据处理,用1片单片机,这也不会成为问题。由于转化显现办法时,原本要黑屏1 s至几s,这段时刻也就正好用来进行数据处理了。
结语
本LED显现屏的高速操控计划,经运用证明作业安稳、牢靠,且电路简略,特别合适银行汇率显现屏、利率显现屏运用。别的本文提出的灵活运用读指令的思路,也能够提供给人们作为学习。
…