基于-单片机Led点阵lunwen_第1页
基于-单片机Led点阵lunwen_第2页
基于-单片机Led点阵lunwen_第3页
基于-单片机Led点阵lunwen_第4页
基于-单片机Led点阵lunwen_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z基于单片机的 Led 点阵广告牌设计【摘要】本设计使用 AT89C51 系列高速单片机作为主控制模块,利用简单的外围电路来驱动 6416的点阵 LED 显示屏。利用 AT89C51 系列高速单片机本身强大的功能,可以很方便的实现单片机与 PC 机间的数据传输及存储,并能利用软件方便的进展显示容的多样变化,另一方面点阵显示屏广泛的应用于医院、机场、银行等公共场所,所以本设计具有很强的现实应用性。本 LED 显示屏能够以动态扫描的方式同时显示 4 个 1616 点阵汉字,并能通过上位机软件修改显示容和显示效果等等。把字符码存储在空闲的单片机程序存储器空间,使本 LED 显示系统能掉电存储

2、1024 个字符。设计中采用了 SPI 接口的 GB2312 标准字库,支持所有的国标字符和 ASCII 标准字符的显示。因为采用串行传输方式,使本系统的可扩展性得到提升,便于多个显示单元的级联。本文从 LED 的显示原理入手,详细阐述了 LED 动态显示的过程,以及硬件电路的设计、计算和软件的算法。【关键词】动态显示;单片机;点阵字库目录目录1 LED 概述61.1 LED 电子显示屏概述61.2 LED 电子显示屏的分类62 显示原理及控制方式分析72.1 LED 点阵模块构造72.2 LED 动态显示原理72.3 LED 常见的控制方式83 硬件电路设计103.1 系统硬件概述103.2

3、 1616LED 点阵显示制作113.2.1 1616LED 点阵的部构造及工作原理113.2.2 用 88LED 点阵构成 1616LED 点阵123.3 主控单片机的接口说明143.4 LED 显示驱动电路144 字模生成164.1 字模简介164.1.1 LED 显示屏领域字模实现技术164.1.2 软件控制系统字模提取的分析与设计164.2 字模存储技术174.3 字库生成175 软件设计195.1 程序设计总体思路和构造195.1.1 程序设计总体思路195.1.2 程序流程图195.2 各模块程序设计205.2.1 系统初始化205.2.2 LED 动态显示205.2.3 汉字显示

4、的原理206 系统功能测试226.1 单元模块电路测试226.2 系统整体功能测试22-. z总结23致24参考文献25附录26引言LEDLight Emitting Diode ,发光二极管,简称 LED,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED 的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极使整个晶片被环氧树脂封装起来。半导体晶片由两局部组成,一局部是 P 型半导体,在它里面空穴占主导地位,另一端是 N 型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个P-N 结。当电流通过导线作用于这个

5、晶片的时候,电子就会被推向 P 区,在 P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是 LED 发光的原理。多个 LED 发光灯组成固定的字符或图形进展显示,即形成 LED 点阵图文显示屏。其主要特征是只控制 LED 点阵中各发光器件的通断发光或熄灭 ,而不控制 LED 的发光强弱。LED 点阵的汉字显示方式是先根据所需要的汉字提取汉字点阵如 1616 点阵 ,将点阵文件存入 ROM,形成新的汉字编码;而在使用时则需要先根据新的汉字编码组成语句,再由 MCU 根据新编码提取相应的点阵进展汉字显示。LED 点阵显示具有如下特点:1 电压:LED 使用低压电源,供电电压在 6-24V

6、之间,根据产品不同而异,所以它是一种比使用高压电源更平安的电源。2 效能:消耗能量比同光效的白炽灯减少 80%。3 适用性:每个单元 LED 小片是 3-5mm 的正方形,所以可以制备成各种形状的器件,并且适合于易变的环境。4 稳定性:10 万小时,光衰为初始的 50%。5 响应时间:其白炽灯的响应时间为毫秒级,LED 灯的响应时间为纳秒级。6 对环境污染:无有害金属汞。7 颜色:改变电流可以变色,发光二极管方便地通过化学修饰方法,调整材料的能带构造和带隙,实现红黄绿兰橙多色发光。由于 LED 的众多优势,在市场中得到了广泛的应用,主要应用领域有:1 、信号指示应用:信号照明是 LED 单色光

7、应用比拟广泛也是比拟早的一个领域,约占 LED 应用市场的 4%左右。2 、显示应用:指示牌、广告牌、大屏幕显示等, LED 用于显示屏幕的应用约占LED 应用的 20%25%,显示屏幕可分为单色和彩色。3 、照明应用:便携灯具,汽车用灯,特殊照明。由于 LED 尺寸小,便于动态的亮度和颜色控制,因此比拟适合用于建筑装饰照明。背光照明:普通电子设备功能显示背光源、笔记本电脑背光源、大尺寸超大尺寸 LCD 显示器背光源等。以及投影仪用 RGB 光源。1LED 概述1.1LED1.1LED 电子显示屏概述电子显示屏概述LED 电子显示屏Light Emitting Diode Panel是由几百-

8、几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的LED 像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色 LED 的开发已经到达了实用阶段。 LED 显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、-. z图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。 LED 显示屏分为图文显示屏和条幅显示屏,均由 LED 矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容量的字符信息显示。LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳

9、定等优点。因而被广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。LED 显示屏的开展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向开展。1.2LED1.2LED 电子显示屏的分类电子显示屏的分类按颜色分类:单基色显示屏:单一颜色红色或绿色 。 双基色显示屏:红和绿双基色,256 级灰度、可以显示 65536 种颜色。 全彩色显示屏:红、绿、蓝三基色,256 级灰度的全彩色显示屏可以显示一千六百多万种颜色。 按显示器件分类:LED 数码显示屏:显示器件为 7 段码数码管,适于制作时

10、钟屏、利率屏等,显示数字的电子显示屏。 LED 点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。按使用场合分类:室显示屏:发光点较小,一般 3mm-8mm,显示面积一般零点几至十几平方米。 室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在下工作,具有防风、防雨、防水功能。 按发光点直径分类:室屏:3mm、3.75mm、5mm、 室外屏:10mm、12mm、16mm、19mm、21mm、26mm 室外屏发光的根本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二极管封在一个塑料筒共同发光增强亮度。2 显示原理及控制方式分析2.12.1 LE

11、DLED 点阵模块构造点阵模块构造八十年代以来出现了组合型 LED 点阵显示器模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。这种一体化封装的点阵 LED 模块,具有高亮度、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED 点阵规模常见的有 44、48、57、58、88、1616 等等。根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色不同,所显示的文字、图象等容的颜色也不同。单色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示容的颜色由像素不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的

12、点亮时间,则可实现 256 或更高级灰度显示,即可实现真彩色显示。图 2.1 示出最常见的 88 单色 LED 点阵显示器的部电路构造和外型规格,其它型号点阵的构造与引脚可试验获得。图 2.1 88 单色 LED 模块部电路LED 点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号如 5*7 点阵显示器用于显示西文字母58 点阵显示器用于显示中西文,8*8 点阵可以-. z用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过 PC 机或单片机控制驱动。2.22.2 LEDLED 动态显示原理动态显示原理LED 点阵显

13、示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进展选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。点阵式 LED 汉字广告屏绝大局部是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于 24 帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩

14、减了发光单元的信号线数量,因此在 LED 显示技术中被广泛使用。以 88 点阵模块为例,说明一下其使用方法及控制过程。图 2.1 中,红色水平线Y0、Y1Y7 叫做行线,接部发光二极管的阳极,每一行 8 个 LED 的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线*0、*1*7 叫做列线,接部每列 8 个 LED的阴极,相邻两列线间绝缘。在这种形式的 LED 点阵模块中,假设在*行线上施加高电平用1表示 ,在*列线上施加低电平用0表示 。则行线和列线的穿插点处的 LED 就会有电流流过而发光。比方,Y7 为 1,*0 为 0,则右下角的 LED 点亮。再如 Y0 为 1,*0 到*

15、7 均为 0,则最上面一行 8 个LED 全点亮。现描述一下用动态扫描显示的方式,显示字符B的过程。其过程如图 2.2图 2.2 用动态扫描显示字符B的过程2.32.3 LEDLED 常见的控制方式常见的控制方式目前常见的是并行传输方式见附录 1.1 ,通过 8 位锁存器将 8 位总线上的列数据进展锁存显示,各 8 位锁存器的片选信号由译码器提供。此种方式的优点是传输速度快,对微控制器MCU的通信速度要求较低。但是这种方案最大的缺点是不便于随意扩展显示单元的数目。每增加一个 1616 点阵的全角汉字显示单元,就需要在之前的电路上多增加两根地址线,这就要求在 PCB 布线的时候要留有充足的地址线

16、冗余量。再一个缺点是,每个单元的 PCB 随着安放位置的不同,布线构造也不一样,不利于厂家批量生产。并行传输需要的芯片较多,因此市场上已经出现用 FPGA,CPLD 等高密度可编程逻辑器件PLD来取代传统锁存器 IC 的方案。本钱有所下降,但可扩展性仍旧较差。因此,并行传输方式适用于显示单元数目确定的条屏。随着广告屏显示容的多媒体化,对控制器传输速度,运算能力的要求越来越高。因此控制器的种类也在不断开展以适应要求,从最初的 8051 单片机,到 PIC 单片机,又到FPGA,直到现在的 ARM 处理器。不同功能档次的广告屏对应着不同的处理器。一以传统 8051 单片机为控制器的 LED 显示屏

17、。因受到单片机运算速度及通信速率的限制,LED 动态显示的刷新率不可能做得太高。对显示效果和移动算法的处理也比拟吃力,在实际显示效果上有比拟明显的闪烁感。除此之外,传统 8051 单片机的部资源贫乏,仅128 字节的数据存储器,几 K 字节的程序存储器,无 E2PROM,SPI。这就需要对单片机扩展外设,无疑增加了硬件本钱。因此,8051 控制的条屏只能用于显示容及其简单,不需要经常更改显示容的场合。二以 PIC 单片机为控制器的 LED 显示屏。因 PIC 单片机是 RISC 架构的工业专用单片机,处理指令的速度有所增加,抗干扰能力优秀,型号种类繁多。作为条屏的控制器,可-. z以明显的改善

18、显示效果,同时 PIC 单片机部的资源较丰富,可节省外部电路设计难度,同时降低了硬件本钱。因此,以 PIC 单片机为控制器的条屏目前仍是单色条屏市场的主流。三以 FPGA复杂可编程逻辑门阵列为控制器的 LED 显示屏。FPGA 以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为 LED 显示屏的控制器,能够高速的处理色阶 PWM 信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系统。但是其本钱较高,开发难度较大。四以 ARM32 位 RISC 架构高性能微处理器为控制器的 LED 显示屏。ARM 有着极高的指令效率,极高的时钟频率。因此其运算能力非常

19、强大,部资源也十分丰富,极大的简化了硬件设计的难度,缩短了开发周期。在条屏的运用中,能用 ARM 来实现把戏繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM 与 FPGA 的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以 ARM 为控制器的显示屏常为视频全彩屏。3 硬件电路设计3.13.1 系统硬件概述系统硬件概述整个电路由单片机 89C51,8 个 74LS373,1 个 74HC154,1 个 74LS138,4 个 1616 的LED。该电路所设计的电子屏可显示多个汉字,需要 4 个 1616 LED 点阵模块,可组成1664 的条形点阵。AT

20、89C51 是一种带 4KB 可编程可擦除 只读存储器 的低电压,高性能微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器, AT89C2051 是它的一种精简版本。 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 AT89C51 引脚即外观如图 3.1 所示。图 3.1 AT89C51 的管脚图译码器是组合逻辑电路的一个重要的器件

21、, 74LS138 的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门 ,74LS138 与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据 LED 的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器 ;针对共阴极 LED 的高电平输出有效的译码器 。74LS373 是低功耗肖特基 TTL8D 锁存器,有 8 个一样的 D 型(三态同相)锁存器,由两个控制端(11 脚 G 或 EN;1 脚 OUT、CONT、OE)控制。当 OE 接地时,假设 G 为高电平,74LS373 接收由 PPU 输出的地址

22、信号;如果 G 为低电平,则将地址信号锁存。工作原理:74LS373 的输出端 O0O7 可直接与总线相连。当三态允许控制端 OE 为低电平时,O0O7为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。74LS373 引脚即外观如图 3.2 所示图 3.2 74LS373 引脚图74HC154 为 4 线12 线译码器,中选通端G1、G2均为低电平时,可将地址端ABCD的二进制编码在一个对应的输出

23、端,以低电平译出。假设将 G1 和 G2 中的一个作为数据输入端,由 ABCD 对输出寻址,还可作 1 线16 线数据分配器。工作环境温度为 070,对社会的要求非常适合。 LED,50 年前人们已经了解半导体材料可产生光线的根本知识,第一个商用二极管产生于1960 年。LED 是英文 light emitting -. zdiode发光二极管 的缩写,它的根本构造是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧7 树脂密封,即固体封装,所以能起到保护部芯线的作用,所以 LED 的抗震性能好 该电路的显示采用逐行扫描方式。工作时,由单片机取出第一行需要显示的容经延时一段时间后

24、再进展下一行点阵数据的显示。需要注意的是,每次只能选通一行数据,即要通过不断的逐行扫描来实现汉字或字符的显示。3.23.2 1616 16LED16LED 点阵显示制作点阵显示制作3.2.13.2.1 1616 16LED16LED 点阵的部构造及工作原理点阵的部构造及工作原理以 UCDOS 中文宋体字库为例,每一个字由 16 行 16 列的点阵组成显示。即国家标准汉字库中的每一个字均由 256 点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在 256 像素围的任何图形。这里我们以高字说明,如图 3.3 所示。图 3

25、.3 16*16LED 汉字显示用 8 位的 AT89C51 单片机控制,由于单片机的总线为 8 位,一个字需要拆分为 2 个局部。一般把它拆分为上部和下部,上部由 816 点阵组成,下部也由 816 点阵组成。在本例中单片机首先显示的是左上角的第一列的上半局部,即第 0 列的 p00p07 口。方向为p00 到 p07 ,显示汉字高时,p02 点亮,由上往下排列,为 p0.0 灭,p0.1 灭, p0.2 灭, p0.3 灭, p0.4 灭, p0.5 亮,p0.6 灭,p0.7 灭。即二进制 00000100,转换为 16 进制为 04h。上半部第一列完成后,继续扫描下半部的第一列,为了接

26、线的方 便,我们仍设计成由上往下扫描,即从 p27 向 p20 方向扫描,从上图可以看到,这一列全部为不亮,即为 00000000,16 进制则为 00h。 然后单片机转向上半部第二列,仍为 p01 点亮,为 00000100,即 16 进制 04h.这一列完成后继续进展下半局部的扫描,p20 点亮,为二进制 00000010,即 16 进制 02h.依照这个方法,继续进展下面的扫描,一共扫描 32 个 8 位,可以得出汉字高的扫描代码为:02h,00h,01h, 04h,0FFh,0FEh, 00h, 00h,1Fh,0F0h, 10h, 10h, 10h, 10h, 1Fh,0F0h,00

27、h, 04h, 7Fh,0FEh, 40h, 04h, 4Fh,0E4h,48h, 24h, 48h, 24h, 4Fh,0E4h, 40h, 0Ch。由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。不过现在有很多现成的汉字字模生成软件,就不必自己去画表格算代码了。 用用 8 8 8LED8LED 点阵构成点阵构成 1616 16LED16LED 点阵点阵Proteus 中只有 57 和 88 等 LED 点阵,并没有 1616LED 点阵,而在实际应用中,要良好地显示一个汉字,则至少需要 1616 点阵。下面我们就首先介绍使用 88 点阵构建

28、1616 点阵的方法,并构建一块 1616LED 点阵,用于本例的显示任务。首先,从 Proteus7.1 的元件库中找到MATRI*-8*8-RED元器件,并将四块该元器件放入Proteus 文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置没有转动方向,我们要首先将其左转 90,使其水平放置,则此时它的左面 8 个引脚是其行线,右边 8个引脚是其列线当然,如果你是将右转,则右边 8 个引脚是行线。然后我们将四个元器件对应的行线和列线分别进展连接,使每一条行线引脚接一行 16 个 LED,列线也一样。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。连接好的 1616 点阵如

29、图 3.4 所示。成如上图的 1616 点阵只是第一步,这样分开的数块并不能到达好的显示效果,下面我们要将其进一步组合。组合实际上很简单,首先选中如上图中右侧的两块 88 点阵,然后拖动并使其与左侧的两块相并拢,如图 3.5 所示。-. z图 3.5可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如图 3.6所示。看到,原来杂乱的连线现在已经几乎全部隐藏了,一块 1616 的 LED 点阵做成了。需要注意,做成的 LED 点阵的行线为左侧的 16 个引脚,下侧的 16 个引脚为其列线,而且其行线为

30、高电平有效,列线为低电平有效。然后,我们将其保存,以便以后使用。图 3.63.33.3 主控单片机主控单片机的接口说明的接口说明P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址 /数据总线复制用口,作为输入口时,每位能吸收电流的方式驱动8 个 TTL 逻辑门电路,对端口写入 1 可作为高阻抗输入端用。在外部数据存储器或程序存储器时,这组口线分时转换地址低 8 位和数据总线复用,在期激活部上拉电阻。在Flash 编程时,PO 口接收指令节,而在程序校检时,输出指令字节,校检时,要求外接上拉电阻。 P1 口:P1 口是一个带部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲

31、级可驱动吸收或输出电流 4 个 TTL 逻辑门电路。对端口写 1” ,通过部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时,因为部存在上拉电阻,*个引脚被外部信号拉低时会输出一个电流 I。Flash 编程和程序校检期间, P1 接收低 8 位地址。P2 口:P2 口是一个带部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动吸收或输出电流 4 个 TTL 逻辑门电路。对端口写 1” ,通过部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时,因为部存在上拉电阻,*个引脚被外部信号拉低时会输出一个电流 I。在外部数据存储器或 16 位地址的外部数据存储 例如执行 MOV*D

32、PTR 指令时,P2 口送出高 8 位地址数据。在 8 位地址的外部数据存储器图 3.4 点阵模块组合-. z如执行 MOV*RI 指令时,P2 口线上的容 也即特殊功能存放器 SFR区中 R2 存放器的容 ,在整个期间不改变。 Flash 编程和校检时, P2 亦接收高位地址和其他控制信号。P3 口:P3 口是一个带部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱动吸收或输出电流 4 个 TTL 逻辑门电路。对 P3 口写入1”时,它们被部上拉电阻拉高并可作输入端口,作输入端时,被外部拉低的P3 口将用上拉电阻,输出电流I。P3 口还接收一些用于 Flash 闪速存储器编程和程序

33、校检的控制信号。RST:复位输入,当震荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当外部程序存储器或数据存储器时,ALE(地址锁存允许输出脉冲用于所存地址的低 8 位字节。即使不外部存储器,ALE 乃以时钟振动频率的 1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当外部数据存储器时将跳过一个 ALE 脉冲。3.43.4 LEDLED 显示驱动电路显示驱动电路LED 显示驱动电路如图 3.7 所示。图 3.7 显示驱动电路图4 字模生成4.14.1 字模简介字模简介文字的字模是一组数字,但它的意义却与数字的意义有着根本的变

34、化,它是用数字的各位信息来记载英文或汉字的形状1。在电脑硬件中,根本没有汉字这个概念,也没有英文的概念,其认识的概念只有码(将 ASCII 表的高 128 个很少用到的数值以两个为一组来表示汉字,即汉字的码。而剩下的低 128 位则留给英文字符使用,即英文的码)。如果你用启动盘启动系统后用 DIR 命令可能得到一串串莫名其妙的字符,但那确确实实是汉字,如果你启动 UCDOS 或其他的汉字系统后,就会看到那是一个个熟悉的汉字。在硬件系统,英文的字模信息一般固化在 ROM 里,即使在没有进入系统的 CMOS 里,也可以让你看到英文字符。而在 DOS 下,中文的字模信息一般记录在汉字库文件里(将制作

35、好的字模放到一个个标准的库中,这就是点阵字库文件)。-. z LEDLED 显示屏领域字模实现技术显示屏领域字模实现技术在通过软件实现的技术中,目前有许多字模生成软件,软件翻开后输入汉字,点检取,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。在通过硬件实现字模提取的技术中,有在单片机系统中增加硬汉字库的方法,主控器发送的汉字是其机码,用两个字节来表示一个汉字。根据机码,显示单元控制模块从汉字库中查取显示字模,实现汉字显示。由于带有硬汉字库,进展动态文字显示时,通用智能显示单元仅承受汉字的机码即可,这样数据通讯量大大减少。因此,动态文字显示速度快。软件控制系统

36、字模提取的分析与设计软件控制系统字模提取的分析与设计而在 LED 显示屏控制系统具体应用的 Windows 操作系统下如何提取字模信息是设计的核心。软件控制系统在实际编辑过程中,要求各种字体、字号的文字都能被编辑、保存。所以系统在设计时,把文本区理解为由众多的象素点构成,而把不同字体、字号的文字理解为一幅图像。因为所开启的文本区大小与 LED 显示屏的大小对应,所以采用 1616 点阵为单位,把文本区的每个像素点都看成一个二维数组,由于系统中各种颜色都有对应的值,赋予每个不同颜色的像素点不同的对应值,再把每个点赋予一个 int 型的值,这样保存下来的信息就是二进制数据。通过这样的设计,我们不仅

37、可以把任何字型,任何大小的文字保存下来,还可以显示以 256 个像素点阵为单位的任何图形。在软件控制系统中实现字模的提取,也就防止了在单片机中加载硬汉字库模块,从而简化了硬件模块的设计。以下以单色屏为例,介绍系统采用字模保存的算法设计:定义 COLORREF zimo_ color 为像素点的颜色,判断*个点的颜色值。如果值为O*ffffff,说明此点为白色,赋予此点值 0。由于单色屏只有红色和不显色两种,所以可以简单赋值为除白色外其余点赋值为 1CClientDC dc(this); CFile myfile;unsigned int zimo192 384=0;unsigned char

38、zimo_data19248=0; COLORREF zimo_color; int row, col ; this -HideCaret(); for (row=0;row192;row+) for (col=0;col384;col+) zimo_color=do.GetPi*el (col, row); if (zimo color = =O*ffffff) zimo row col=0;else zimo row col=1;定义 unsigned int zimo192384=0;/文本区像素点以 8 位为一字节(因为在随后的串行通讯中,传输的数据是 8 位的二进制数据)定义 uns

39、igned char zimo_data19248=04.24.2 字模存储技术字模存储技术目前使用最广泛的技术是,通过上位机软件将待显示的字符串转换为对应的点阵字模数据,通过烧写的方式将这些字模数据按一定的顺序编址后存储在 E2PROM 中。在条屏显示的过程中按规定的方式取出 E2PROM 中的字模数据进展处理。对于一个 1616 点阵的汉字字模数据,需要连续 32 字节的 E2PROM 空间来存储。照此计算,假设有 256 个需要显示的字-. z符,则至少需要 32B256=8192 字节8KB的 E2PROM 存储空间。通常的单片机部没有集成这么大容量的 E2PROM。因此这种方案,需要

40、在单片机外部扩展大容量的 E2PROM,增加硬件本钱。上位机程序设计由于涉及到汉字取模,取模算法的难度较大。在多字下载的时候传输时间也较长。诸多弊端使本设计放弃了传统方案。而本设计创新使用了专用的点阵字库芯片,本钱仅为 8 元,含各种点阵规格的 GB2312、ASCII 等标准字库。专用字库芯片采用微型 SO-8 封装,使用高速同步串行 SPI 接口进展读写操作,节省了控制器的 I/O。在本设计中,单片机部的小容量 E2PROM,用于存储待显示汉字的 GB2312 标准机码,每个全角字符的码占 2 字节,则在同样需要显示 256 个汉字的情况下,这种方案仅占用 512 字节的E2PROM 空间

41、4.34.3 字库生成字库生成因为本设计中为行扫描,列输入,所以的自摸代码为:DB 49H,40H,4AH,51H,4CH,6AH,7FH,0C4H,4CH,4AH,8AH,71H,88H,42H,3FH,84HDB64H,98H,0A5H,0E0H,3EH,0BEH,24H,81H,24H,89H,7FH,81H,20H,07H,00H,00佳字代码为:DB 01H,00H,02H,00H,04H,00H,1FH,0FFH,0E2H,02H,12H,22H,12H,22H,12H,22HDB 12H,22H,0FFH,0FEH,12H,22H,12H,22H,32H,62H,16H,26H,

42、02H,02H,00H,00H锋字代码为:DB 01H,40H,02H,40H,0EH,40H,0F3H,0FEH,12H,44H,12H,48H,09H,00H,11H,28HDB 0F2H,0A8H,2AH,0A8H,25H,0FFH,2AH,0A8H,32H,0A8H,23H,28H,02H,00H,00H,00H5 软件设计5.15.1 程序设计总体思路和构造程序设计总体思路和构造 程序设计总体思路程序设计总体思路用简短的汇编程序设计,实现 LED 点阵显示容,并使显示的容在屏幕上从左到右的滚动显示。系统采用模块化构造,包括主程序、延时程序、显示子程序和串行口中断程序。-. z用 AT

43、89C51、74LS373、74LS138、74HC154 芯片和 4 个 1616LED 点阵显示器构成一个完整的 16 位点阵 LED 显示系统。程序流程图程序流程图程序主要由开场、初始化、主程序、字库组成。其中主程序和子程序的流程图如图5.1 所示。图 5.1 单片机汉字显示程序流程图5.25.2 各模块程序设计各模块程序设计系统初始化系统初始化ORG 0000HAJMP STARTORG 000BHLJMP TIME0ORG 0030HSTART:MOV R1,*00HMOV R2,*00HMOV R3,*00HMOV R4,*00H-. zMOV R5,*00H LEDLED 动态显

44、示动态显示显示要求汉字在显示屏上按从左到右的顺序一个个的出现。设计时可采用如下方法:首先将 LED 显示屏对应的显示缓冲区全部清零,即 LED 显示空白,然后每间隔一个软定时器设定的动态显示时间,显示缓冲区依次参加一个汉字点阵数据并进展扫描显示,这样就可到达动态显示的效果。实现 LED 从左向右移动显示程序:TIME0:INC R5CJNE R5,*3,NE*TMOV R5,*0INC DPTRINC DPTRINC R1CJNE R1,*144,NE*TMOV R1,*0MOV DPTR,*TABNE*T: MOV TH0,*3CHMOV TL0,*0B0HRETI汉字显示的原理汉字显示的原

45、理我们以中文宋体字库为例,每一个字由 16 行 16 列的点阵组成显示。即国标汉字库中的每一个字均由 256 点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字, 也可以显示在 256 像素围的任何图形。LED 点阵汉字显示程序:MAIN: MOV P1,R2MOV A,R3MOVC A,A+DPTRMOV P2,AINC R3MOV A,R3MOVC A,A+DPTRMOV P0,AINC R3MOV P3,R4LCALL DELAY1MSINC R2CJNE R2,*16,MAINMOV R2,*0INC R4CJNE R4,*

46、3,MAINMOV R3,*0MOV R4,*0LJMP MAIN6 系统功能测试-. z6.16.1 单元模块电路测试单元模块电路测试在 proteus 仿真软件中运行测试 AT89C51、74LS373、74LS138、74HC154 等芯片和 LED显示器均能正常运行并完整的显示出了我所要的效果。所以各个模块功能正常。6.26.2 系统整体功能测试系统整体功能测试在仿真软件 proteus 中运行测试系统整体功能,一切正常。实现了汉字的左移滚动显示,完整的显示出了理工学院浮动汉字。图 6.1 单片机汉字显示系统测试图总结在本设计中我用简短的汇编程序在 LED 显示屏实现了汉字的左移滚动显

47、示。在设计中采用的芯片有 AT89C51、74LS373、74LS138、74HC154 和 4 个 1616LED 点阵显示器。其特点:1.容能从右向左浮动显示。2.硬件构造简单,应用广泛。3.LED 数码管动态扫描显示,工作效率高,价格低廉等。通过本次(6416 位点阵 LED)的设计,理论知识学习和实际设计的结合锻炼了我的综合运用所学的专业根底知识解决实际工程问题的能力,同时也提高我查阅文献资料、设计手册、设计规以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经历得到了丰富。为后继的学习和工作奠定的根底。致在完成此设计过程

48、中,我曾屡次去找我的指导教师,建忠教师,每次在遇到实验中遇到困难或者程序看不懂的时候,我都去找教师,不管上班下班时间,教师每次都不厌其烦,不辞辛苦的给我细心讲解指导,我才能在实验室完成实验,在写论文过程中教师也给了我很大帮助,在此,我由衷的对教师对我的指导和教育。参考文献1建忠编著.单片机原理及应用.:电子科技大学,20022群芳,肖看编著.单片机原理、接口及应用.:清华大学,20053于海生编著.微型计算机控制技术.:清华大学,20214戴梅萼,史嘉权编著.微型计算机技术及应用(第 3 版).:清华大学,20215江晓安,董秀峰编著.数字电子技术(第二版).:电子科技大学,2005附录附录:

49、源程序代码ORG 0000H ;初始化 AJMP START ORG 000BH LJMP TIME0 ORG 0030HSTART:MOV R1,*00H MOV R2,*00H MOV R3,*00H MOV R4,*00H MOV R5,*00H MOV TMOD,*01H MOV TH0,*3CH MOV TL0,*0B0H-. z MOV IE,*82H SETB TR0 MOV DPTR,*TAB;=MAIN: MOV P1,R2 ;单片机输出 MOV A,R3 MOVC A,A+DPTR MOV P2,A INC R3 MOV A,R3 MOVC A,A+DPTR MOV P0,

50、A INC R3 MOV P3,R4 LCALL DELAY1MS INC R2 CJNE R2,*16,MAIN MOV R2,*0 INC R4 CJNE R4,*4,MAIN MOV R3,*0 MOV R4,*0 LJMP MAIN;=TIME0:INC R5 ;移动显示 CJNE R5,*3,NE*T MOV R5,*0 INC DPTR INC DPTR INC R1 CJNE R1,*144,NE*T MOV R1,*0 MOV DPTR,*TABNE*T: MOV TH0,*3CH MOV TL0,*0B0H RETI;=DELAY1MS:MOV R7,*2 ;延时DEL: M

51、OV R6,*250 DJNZ R6,$ DJNZ R7,DEL RET;=TAB:;DB 000H,000H,01FH,0FCH,010H,000H,025H,000H,03BH,004H,000H,048H,00AH,050H,009H,060H;陕-. z ;DB 07FH,0C0H,010H,0A0H,012H,090H,014H,088H,000H,08CH,000H,004H,000H,004H,000H,000H DB 00H,00H,7FH,0FFH,44H,20H,5AH,10H,61H,0E1H,10H,82H,14H,84H,12H,88H DB 10H,0B0H,0FF

52、H,0C0H,10H,0B0H,12H,88H,34H,86H,11H,83H,00H,82H,00H,00H DB 000H,000H,003H,000H,002H,0F8H,022H,010H,022H,050H,03FH,090H,022H,010H,022H,010H DB 07FH,090H,044H,090H,044H,090H,004H,00CH,004H,030H,007H,0C0H,000H,000H,000H,000H DB 000H,010H,011H,010H,011H,020H,01FH,0E0H,022H,048H,000H,048H,038H,008H,027H,

53、048H DB 025H,048H,03FH,0F0H,04AH,090H,042H,090H,07EH,010H,000H,010H,000H,000H,000H,000H DB 000H,000H,000H,010H,000H,010H,000H,010H,008H,010H,008H,010H,008H,010H,00FH,0E0H DB 010H,020H,010H,020H,010H,020H,000H,020H,000H,020H,000H,020H,000H,000H,000H,000H DB 000H,000H,003H,020H,00EH,020H,044H,020H,024H,020H,005H,020H,04AH,024H,02AH,0C2H D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论