点阵式led汉字广告屏的设计与制作毕业设计.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流点阵式led汉字广告屏的设计与制作毕业设计.精品文档.本科毕业论文(设计)论文(设计)题目:点阵式汉字广告屏的设计与制作学 院:计算机科学与技术专 业:电子科学与技术班 级:电子科学与技术学 号:20学生姓名:魏广寅指导教师:杨鲁平2008 年 6 月 2 日贵州大学本科毕业论文(设计)诚信责任书本人郑重声明:本人所呈交的毕业论文(设计),是在导师的指导下独立进行研究所完成。毕业论文(设计)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。特此声明。论文(设计)作者签名: 日 期: 目录中文摘要及关键词.VAbstract & Keywords.VI第1章 前言.111 LED电子显示屏概述112 LED电子显示屏的分类113 LED显示屏的应用示例214 设计任务.2第2章 显示原理及控制方式分析.321 LED点阵模块结构322 LED 动态显示原理 .323 LED常见的控制方式5第3章 总体方案设计与分析.731 显示单元的考虑.732 滚屏的实现.733 关于可扩展性.734 微控制器的考虑.735 关于点阵数据的存储方式.836 关于显示内容的更新.837 总体电路结构及工作原理.9371 硬件电路框图.9372 工作原理.10第4章 硬件电路设计.1241 显示单元电路设计.12411 点阵LED模块的选择.13412 列驱动电路设计.13413 行驱动电路设计.15414 行驱动电路元件参数计算.1642 单片机控制系统电路设计.17421 单片机的选型. 17422 STC单片机在条屏运用中的优越性.17423 单片机系统电路设计.1943 字库与单片机的接口设计.20431 字库芯片选型.20432 字库芯片的使用方法.20433 字库芯片的电气特性.21434 字库芯片与单片机的接口设计.23435 字库芯片3.3V电源设计23436 5V-3.3V的电平转换电路设计.2444 与上位机的通信电路设计.25441 通信协议的选择25442 MAX232电平转换芯片特点26443 单片机与PC间通信接口电路设计.2745 对于系统电源及通信电缆的选择.27451 对于LED显示屏的电源要求.27452 开关电源在条屏应用中的优势.28第5章 单片机软件设计.2951 开发工具及语言.2952 单片机软件流程.2953 单片机软件中几个重要算法的实现.30531 显示缓存技术与映射关系.30532 LED点阵与显示缓冲区建立连续编址映射的算法30533 实现动态显示的算法.31534 实现滚屏的算法3154 下位机软件有关的计算.32541 UART异步串行口波特率计算32542 SPI同步串行口波特率计算.33543 汉字内码与点阵地址的换算.3355 片上E2PROM的空间分配3356 单片机与PC机间的通信协议.34第6章 上位机软件设计.3561 上位机软件开发环境.3562 上位机软件流程.3563 上位机软件界面设计.36631 控件布局.36632 MSCOMM控件属性.3664 上位机软件关键算法实现.37641 PC机串口操作.37642字符转为GB2312内码的算法.3865 上位机软件使用方法及运行环境.39651 控件功能及使用方法.39652 运行环境.40第7章 PCB结构设计.4171 PCB设计平台.4172 元件布局及PCB整体结构工艺.4173 布线工艺与准则.4174 PCB实物照片.43第8章 使用说明与测试结果.4481 LED汉字显示屏使用说明.44811 使用环境.44812 安装上位机软件44813 更改显示内容.44814 更换显示模式.4582 测试结果.45821 软件测试.45822 实际刷新率测试46823 实际移动速度测试.46824 电气指标测试4783 设计任务完成情况.48第9章 总结.49参考文献.50致谢50附录51附图1 并行驱动方式电路图.51附图2 本设计完整电路图(串行传输方式).52附图3 PCB元件布局.53附图4 PCB顶层布线.54附图5 PCB底层布线.55附图6 元件清单.56附图7 本设计作品照片.57附图8 本设计显示效果照片.58清单1 单片机程序清单.59清单2上位机软件VB程序清单 .。79点阵式LED汉字广告屏的设计与制作摘要本设计使用STC12C系列高速单片机作为主控制模块,利用简单的外围电路来驱动96×16的点阵LED显示屏。利用STC12C系列高速单片机本身强大的功能和内部E2PROM,可以很方便的实现单片机与PC机间的数据传输及存储,并能利用软件方便的进行显示内容的多样变化,另一方面点阵显示屏广泛的应用于医院、机场、银行等公共场所,所以本设计具有很强的现实应用性。本LED显示屏能够以动态扫描的方式同时显示六个16×16点阵汉字,并能通过上位机软件修改显示内容和显示效果等等。采用IAP在应用可编程技术,把字符内码存储在空闲的单片机程序存储器空间,使本LED显示系统能掉电存储1024个字符。设计中采用了SPI接口的GB2312标准字库,支持所有的国标字符和ASCII标准字符的显示。因为采用串行传输方式,使本系统的可扩展性得到提升,便于多个显示单元的级联。本文从LED的显示原理入手,详细阐述了LED动态显示的过程,以及硬件电路的设计、计算和软件的算法。关键词 动态显示Ddynamic Display单 片 机MCU 串行传输Serial Data Transfer点阵字库Llattice LlibraryThe Design and Making ofChinese Characters Lattice LED Display AbstractThis design uses STC12C series MCU as a main controller, and depends on a simple external circuit to drive 96×16 the lattice LED display. By using its own powerful functions and capacity of internal E2PROM, it is easy to accomplish the MCU and PC and E2PROM for internal storage, data transmission equipment ,and it also can be used conveniently to show a variety of content changes. The other dot matrix display is widely used in hospitals, airports, banks and other public places. Therefore, the design has a strong practical application. The LED Display dynamic scan can show the way at the same time six 16 × 16 dot matrix Chinese characters, and PC software can modify the content and effect shows, and so on. IAP used in the application of programmable technology, the characters within the code stored in the SCM free program memory space, so that the LED display system can store 1,024 brown-out characters. SPI used in the design of the interface standard GB2312 character, to support all the GB2312 standard ASCII characters and characters of the show. Because serial transmission used, so that the system can be enhanced scalability, for a number of display units of the cascade. This article from the start LED display principle, elaborated on the LED display dynamic process, as well as hardware circuit design, computing and software algorithms.Keywords Ddynamic Display动态显示MCU单 片 机 Serial Data Transfer串行传输Llattice Llibrary点阵字库第1章 前言11 LED电子显示屏概述LED电子显示屏(Light Emitting Diode Panel)是由几百-几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。 LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。 LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容量的字符信息显示。LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点。因而被广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。 LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。 12 LED电子显示屏的分类按颜色分类单基色显示屏:单一颜色(红色或绿色)。 双基色显示屏:红和绿双基色,256级灰度、可以显示65536种颜色。 全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。 按显示器件分类LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。 LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。 按使用场合分类室内显示屏:发光点较小,一般3mm-8mm,显示面积一般零点几至十几平方米。 室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能。 按发光点直径分类室内屏:3mm、3.75mm、5mm、 室外屏:10mm、12mm、16mm、19mm、21mm、26mm 室外屏发光的基本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二极管封在一个塑料筒内共同发光增强亮度。13 LED显示屏的应用示例见图1.1 左:图文屏 右:条幅屏图1.1 LED电子显示屏应用示例其中的LED点阵单色图文动态条幅屏(下文中简称条屏),因为成本低廉、可靠性高、显示效果优良,所以成为点阵式LED汉字广告屏中的主流产品。14 设计任务本设计的任务就是完成一个可以随意扩展显示单元数目的单色动态条幅屏。任务要求:(1) 能同时显示六个简体汉字(2) 能实现汉字在屏幕上的移动 第2章 显示原理及控制方式分析21 LED点阵模块结构八十年代以来出现了组合型LED点阵显示器模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。这种一体化封装的点阵LED模块,具有高亮度、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED点阵规模常见的有4×4、4×8、5×7、5×8、8×8、16×16等等。根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色不同,所显示的文字、图象等内容的颜色也不同。单色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。图2.1示出最常见的8×8单色LED点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可试验获得。图2.1 8×8单色LED模块内部电路LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号如5x7点阵显示器用于显示西文字母5×8点阵显示器用于显示中西文,8x8点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过PC机或单片机控制驱动。22 LED 动态显示原理 LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。以8×8点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图2.2图2.2 用动态扫描显示字符“B”的过程假设X,Y为两个8位宽的字节型数据,X的每位对应LED模块的8根列线X7-X0,同样Y的每位对应LED模块的8根行线Y7-Y0。在这个示例中,Y叫行扫描线,行扫描线在每个时刻只有一根线为“1”即有效行选通电平,X叫列数据线,其内容就是点阵化的字模数据的体现。下面用伪代码描述动态显示的过程。(1)Y=0x01,X=0xFF,如图 2.2第一帧;(2)Y=0x02,X=0x87,如图 2.2第二帧;(3)Y=0x04,X=0xBB,如图 2.2第三帧;(4)Y=0x08,X=0xBB,如图 2.2第四帧;(5)Y=0x10,X=0x87,如图 2.2第五帧;(6)Y=0x20,X=0xBB,如图 2.2第六帧;(7)Y=0x40,X=0xBB,如图 2.2第七帧;(8)Y=0x80,X=0x87,如图 2.2第八帧;(9)跳到第(1)步循环。如果高速地进行(1)到(9)的循环,且两个步骤间的间隔时间小于1/24秒,由于视觉暂留。LED显示屏上将呈现出一个完整的“B”字符。这就是动态扫描的原理。只不过实际运用的时候,列线和行线通常不止8位,还要根据列线和行线的数量来决定是用行线或列线来做扫描线。例如0601条屏(每行6个汉字,共1行),行线有16根,列线有96根。如果用列线来做扫描线,则每列LED在每96次循环扫描中只可能亮一次,则其发光视觉平均亮度为直流亮度的1/96。如果用行线来做扫描线,则每16次循环,每行LED就能亮一次,其发光视觉平均亮度为直流情况下的1/16。可见,用行线做扫描线,因为其发光周期的占空比较大,其视觉亮度是用列线做扫描线的6倍。因而发光效率比前者高。在实际运用的时候,还要在每两帧之间加上合适的延时,以使人眼能清晰的看见发光。在帧切换的时候还要加入余辉消除处理。比如先将扫描线全部设置为无效电平,送下一行的列数据后再选通扫描线,避免出现尾影。23 LED常见的控制方式目前常见的是并行传输方式(见附录1.1),通过8位锁存器将8位总线上的列数据进行锁存显示,各8位锁存器的片选信号由译码器提供。此种方式的优点是传输速度快,对微控制器(MCU)的通信速度要求较低。但是这种方案最大的缺点是不便于随意扩展显示单元的数目。每增加一个16×16点阵的全角汉字显示单元,就需要在之前的电路上多增加两根地址线,这就要求在PCB布线的时候要留有充足的地址线冗余量。再一个缺点是,每个单元的PCB随着安放位置的不同,布线结构也不相同,不利于厂家批量生产。并行传输需要的芯片较多,因此市场上已经出现用FPGA,CPLD等高密度可编程逻辑器件(PLD)来取代传统锁存器IC的方案。成本有所下降,但可扩展性仍旧较差。因此,并行传输方式适用于显示单元数目确定的条屏。随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力的要求越来越高。因此控制器的种类也在不断发展以适应要求,从最初的8051单片机,到PIC单片机,又到FPGA,直到现在的ARM处理器。不同功能档次的广告屏对应着不同的处理器。一以传统8051单片机为控制器的LED显示屏。因受到单片机运算速度及通信速率的限制,LED动态显示的刷新率不可能做得太高。对显示效果和移动算法的处理也比较吃力,在实际显示效果上有比较明显的闪烁感。除此之外,传统8051单片机的内部资源贫乏,仅128字节的数据存储器,几K字节的程序存储器,无E2PROM,SPI。这就需要对单片机扩展外设,无疑增加了硬件成本。因此,8051控制的条屏只能用于显示内容及其简单,不需要经常更改显示内容的场合。二以PIC单片机为控制器的LED显示屏。因PIC单片机是RISC架构的工业专用单片机,处理指令的速度有所增加,抗干扰能力优秀,型号种类繁多。作为条屏的控制器,可以明显的改善显示效果,同时PIC单片机内部的资源较丰富,可节省外部电路设计难度,同时降低了硬件成本。因此,以PIC单片机为控制器的条屏目前仍是单色条屏市场的主流。三以FPGA(复杂可编程逻辑门阵列)为控制器的LED显示屏。FPGA以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为LED显示屏的控制器,能够高速的处理色阶PWM信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系统。但是其成本较高,开发难度较大。四以ARM(32位RISC架构高性能微处理器)为控制器的LED显示屏。ARM有着极高的指令效率,极高的时钟频率。因此其运算能力非常强大,内部资源也十分丰富,极大的简化了硬件设计的难度,缩短了开发周期。在条屏的运用中,能用ARM来实现花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM与FPGA的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以ARM为控制器的显示屏常为视频全彩屏。第3章 总体方案设计与分析31 显示单元的考虑显示一个简体汉字,至少需要16×16点阵来描述。为了在较远距离处获得清晰的视觉效果,本设计采用4个8×8点阵,像素直径5mm的LED模块拼接成16×16点阵的LED阵列。这样每个16×16汉字能够获得12×12cm的显示尺寸,因此在50米处仍能清晰阅读。本设计要求整个屏幕能同时显示六个汉字,则至少需要用24个8×8的LED模块拼接成96×16的矩阵。3. 2 滚屏的实现字符的位置在屏幕上实现移动,即术语“滚屏”。可以用硬件实现,但无疑增加了额外的硬件成本及设计难度。因此本设计采用软件算法实现左滚屏、左暂停、定格显示等常见滚屏方式。用软件来完成滚屏算法,其最大的优点在于成本低廉,而且可维护性、可升级性大大增强。3. 3 关于可扩展性除了基本要求外,本设计还要实现显示单元数目的随意扩展。在传统的并行传输方式中,因受到列数据锁存器地址线数目的制约,不能随意的增添显示单元,且每个显示单元的电路结构不同,PCB结构也不同,完全不符合模块化设计的要求。因此摒弃了传统的并行传输方式,而采用独特的串行锁存技术,通过控制五根总线就能实现各显示单元之间的列数据锁存。不仅板间连接简单,更是降低了PCB布局及布线的难度。每个显示单元的PCB都是完全一样的,便于量产。34 微控制器的考虑因本设计采用软件来实现滚屏,且传输方式为串行方式。所以对微控制器单元的处理速度要求较高,可供选择的有ARM7和高速8位单片机。ARM的处理速度极快,但对于条屏的应用,ARM内部的资源浪费严重,且成本较高。因此选择高速8位单片机作为控制器,常见的高速8位单片机有AVR系列单片机,C8051F系列单片机,STC12C系列单片机。这几种单片机的处理速度均能达到1MIPS/MHz(在时钟频率为1MHz时处理能力为每秒100万条指令),但AVR系列单片机的极限时钟频率只能到16MHz,而C8051F系列SOC类似于ARM7,时钟速度可到100MHz,但会浪费其内部丰富的资源,而且价格昂贵,用在单色条屏的控制中颇感浪费。于是最佳选择为STC12C系列单片机,其最高时钟能到48MHz,且有较丰富的接口及存储器资源,价格极其低廉,零售价仅为9元/片。大幅降低了产品成本。35 关于点阵数据的存储方式目前使用最广泛的技术是,通过上位机软件将待显示的字符串转换为对应的点阵字模数据,通过烧写的方式将这些字模数据按一定的顺序编址后存储在E2PROM中。在条屏显示的过程中按规定的方式取出E2PROM中的字模数据进行处理。对于一个16×16点阵的汉字字模数据,需要连续32字节的E2PROM空间来存储。照此计算,若有256个需要显示的字符,则至少需要32B×256=8192字节(8KB)的E2PROM存储空间。通常的单片机内部没有集成这么大容量的E2PROM。因此这种方案,需要在单片机外部扩展大容量的E2PROM,增加硬件成本。上位机程序设计由于涉及到汉字取模,取模算法的难度较大。在多字下载的时候传输时间也较长。诸多弊端使本设计放弃了传统方案。而本设计创新使用了专用的点阵字库芯片,成本仅为8元,内含各种点阵规格的GB2312、ASCII等标准字库。专用字库芯片采用微型SO-8封装,使用高速同步串行SPI接口进行读写操作,节省了控制器的I/O。在本设计中,单片机内部的小容量E2PROM,用于存储待显示汉字的GB2312标准机内码,每个全角字符的内码占2字节,则在同样需要显示256个汉字的情况下,这种方案仅占用512字节的E2PROM空间。36 关于显示内容的更新目前常用的下载方式有串口下载、USB下载、无线下载等。考虑到本设计的上、下位机进行一次通信时的数据量不大(2KB以内),而且对通信的速度及可靠性要求并不严格。因此本设计采用PC机串口来作为下载接口,PC机串口为RS-232C标准,其特点是共模传输,因此通信电缆可以是成本低廉的普通双绞线,同轴屏蔽线等。PC机串口的驱动程序编写较为简单,不需要掌握复杂的通信协议。汉字点阵数据采用现成的字库芯片,需要通过汉字的机内码作地址来取出相应汉字的点阵字模数据。因此上位机软件的任务就是:将待显示的字符转换成对应的标准机内码,并把操作者对下位机显示方式、速度等进行设置的常数,通过RS232总线按一定的通信协议一起发送到下位机。37 总体电路结构及工作原理371 硬件电路框图通过前面对各种方案的比较与分析,初步构建硬件系统框图如图3.1图3.1 LED显示屏硬件框图在图3.1中,X0、X1Xn为显示单元。每个显示单元由一个16×16点阵的LED模块和一个16位宽的移位锁存器(串行并行转换器)构成。所有显示单元的16根行线均连接到公共的行扫描驱动电路。而每个显示单元的列数据则由16位移位锁存器并行输出口提供。中央微处理器MCU负责与所有外围设备的协调通信,以及各种算法的处理。MCU用通用I/O口来驱动行扫描驱动电路。用通用I/O口模拟同步串行接口以实现和列数据锁存器(移位锁存器)之间的单向通信。MCU通过内部集成的SPI接口和字库芯片进行双向通信。PC机(上位机)的RS-232C电平经过转换后,通过UART接口与MCU进行双向通信。电源则为各个模块提供稳定的电压以及足够的电流。372 工作原理单片机上电后就检测单片机P3.2脚(DownLoad)的电平,如果按住LED显示屏上的“DownLoad”键开机,则单片机P3.2脚被强制拉为低电平,显示屏被引导进入下载模式。这时单片机把UART异步串行口初始化为“方式一”工作,波特率为115200bps。之后不断检测从UART传入的数据,如果连续接收到的两字节数据与程序中约定的两字节数据帧同步码(0xA0,0xFA)相同。则判定下载命令合法,真正进入下载流程。设置两字节同步码是为了降低误码干扰的概率。进入下载流程后,擦除连续从0x2600地址开始的5个E2PROM扇区,每个扇区512字节。然后连续接收上位机发出的7字节设置数据,并从E2PROM第一个扇区首地址0x2600开始依次存放。这样,第一个扇区就保存了上位机对下位机的所有设置数据,包括刷新率,移动速度,显示模式以及总共需要显示的字符数等等。保存好以上7字节的设置数据后,紧接着连续地接收上位机发出的不大于2048个内码数据,并依次保存在第二个E2PROM扇区中。因为第二到第五扇区是连续编址的,所以第二扇区存满后会自动存放在第三扇区,以次类推。汉字内码的数据量由上位机确定。当单片机接收到下载结束符0x8F时,执行软件复位,强迫程序在AP区从头运行。这时若仍然按住“DownLoad”键,则再一次进入下载模式。如果开机的时候不按下“DownLoad”键,则单片机程序被引导进入显示模式。进入显示模式后,首先把单片机的SPI接口初始化为“空闲低电平/上升沿驱动”模式,为读写字库芯片作准备。在单片机内部的扩展数据存储器(xdata区)中开辟192字节(1536位)动态显示缓冲区Display_Buffer和32字节的字模数据缓存区Temp_Buffer,两个缓存区编址连续。Display_Buffer中的一位与LED的一个点阵一一对应。(详细对应关系见章节531显示缓存技术与映射关系)经过这样的映射处理,使字符在显示中的移动算法变得简单灵活,不论进行何种显示效果处理,只需要对Display_Buffer进行操作。遵循结构化的程序设计思路。把单片机的在显示模式的所有工作量分为以下三个任务: 一扫描显示任务:扫描显示任务负责把Display_Buffer中的数据依次发送到列驱动器74HC595,并按严格的时序高电平选通十六根行扫描线(Y0Y15),使每一列数据对应着一个行线状态。二移动处理任务:移动处理任务负责完成显示字符逐点阵向左移动的算法处理,这是最基本的显示效果。其它大部分显示效果如左移六字暂停,全屏定格显示等都是以逐位左移为基础。对显示字符的移动,实质上是对显示缓冲区Display_Buffer内数据的移动。该算法是将Display_Buffer和Temp_Buffer中的数据首尾相接地左移一位,并不断把Temp_Buffer移入Display_Buffe。三字符更新任务:在单片机的xdata区开辟了32字节的字模数据缓存区Temp_Buffer。该缓存区与Display_Buffer编址连续。当调用字符更新任务时,程序从E2PROM内码区指定位置读取相邻两字节的汉字内码数据。并通过一定的算法,把内码数据变换为该内码对应汉字的字模数据在字库芯片中的地址。单片机通过SPI接口,向字库芯片发送读命令和地址,字库芯片返回连续32字节的全角汉字字模数据或16字节的ASCII半角字模数据。这些字模数据就存储在32字节的字模数据缓存区中。字模数据缓存区Temp_Buffer中的数据可通过调用移动处理任务而逐位转移至动态显示缓冲区Display_Buffer中。三个任务彼此独立,又相互联系。下面用实际的C51程序来说明一下如何实现简单的左移显示效果。void Dis_Mode_1(void)/左移显示效果unsigned char i,j,k;unsigned int n;unsigned int strings;while(1)/所有显示效果都是无限循环for(n=0;n< CNT;n+=2)/ CNT是字符总数,每字符内码2字节,所以以2步进strings =EEPROM_read (ADDR_GB2312+n); /从EEPROM中读取内码高字节strings<<=8; /左移8位以合成16位数据strings +=EEPROM_rea