资源描述
本科生毕业论文本科生毕业论文(设计设计) 题目(中文):题目(中文): LED 显示屏控制器的设计与实现 (英文):(英文): The Design and Implementation of LED Display Controller 本科毕业论文(设计)诚信声明本科毕业论文(设计)诚信声明 作者郑重声明:所呈交的本科生论文(设计),是在指导老 师的指导下,独立进行研究所取得的成果,成果不存在知识 产权争议。除文中已近注明引用的内容外,论文不含任何其 他个人或集体已经发表或撰写过的成果。对论文的研究做出 重要贡献的个人和集体均已在文中以明确的方式标明。本声 明的法律结果由作者承担。 本科生论文(设计)作者签名: 年 月 日 目 录 摘 要.I 关键词I AbstractI Key wordsII 1 前言.1 1.1 LED 电子显示屏概述1 1.2 LED 电子显示屏的分类2 1.3 LED 显示屏市场前景2 2 LED 显示原理的分析 .3 2.1 LED 点阵模块结构3 2.2 LED 动态显示原理4 3 系统设计的任务与方案论证.7 3.1 设计任务 .7 3.2 设计方案论证 .7 3.2.1 显示单元模块的选择7 3.2.2 主控制器的选择8 3.2.3 点阵数据存储方式的选择9 3.2.4 系统总体结构及原理分析.11 3.2.5 工作原理分析.12 4 硬件电路设计13 4.1 LED 控制卡电路设计.13 4.1.1 列驱动电路设计.14 4.1.2 行驱动电路设计.15 4.2 时钟模块电路设计 16 4.3 温度驱动电路设计 16 4.4 MAX232 串行通信电路设计17 4.5 系统电源及通信电缆的选择 18 4.5.1 对于 LED 显示屏的电源要求.18 4.5.2 开关电源在 LED 屏应用中的优势.19 5 系统软件设计19 5.1 上位机软件设计 19 5.2 汉字字模的提取方法 21 5.3 上位机与单片机通信协议 22 5.4 下位机软件设计 23 5.5 中断数据处理 25 6 测试结果与分析25 6.1 上位机软件测试 25 6.2 汉字移动测试 26 6.3结果分析26 7 总结26 参考文献.28 致 谢29 附录 A LED 显示屏控制卡原理图30 附录 B LED 显示屏控制卡 PCB 电路图31 附录 C VB 上位机界面.32 附录 D 本设计显示效果图片 .32 附录 E 程序清单 .33 I LED 显示屏控制器的设计与实现 摘 要 本设计是以 STC12C5A60S2 单片机作为核心控制器件,外围存储芯片实现 汉字编码的存储,可以实现中英文字符和动态显示,并且可以通过级连的方式来 扩展显示屏的尺寸,增加显示内容。本设计采用 Visual Basic 6.0 编写上位机,上 位机与下位机采用 RS-232 通信标准来实现。上位机向下位机发送控制命令和需 要存储的汉字编码,下位机接收数据并处理上位机发送过来的控制命令以及显 示编码。由 LED 控制卡驱动 32*64 点阵屏显示,利用人眼的滞留现象,达到能够 实时修改显示内容的目的。 关键词 上位机;LED 显示屏控制卡;32*64 单色点阵屏;时钟芯片 The Design and Implementation of LED Display Controller Abstract This design is based on STC12C5A60S2 microcomputer as the core control device ,to achieve the storage of the Chinese character coding through external memory chips. The function of the system can be achieved in English characters and dynamic display or can be connected in cascade manner to expand the size and the content of display,. preparation of PC programmed by Visual Basic 6.0, the communication standard between the PC and the microcomputer is RS-232. The preparation of PC send commands and Chinese character coding that needs to be II stored to MCU, the next crew processes commands and the data that was sent from preparation of PC and display coding, 32 * 64 dot matrix display driven by the LED display control card. Achieving the purpose of display contents can be modified in time through human eye phenomenon。 Key words Host computer;LED display control card;32*64 monochrome dot matrix screen;Clock chip 1 1 前言 1.1 LED 电子显示屏概述 LED 电子显示屏(Light Emitting Diode Panel)是由几百至几十 万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不 同的半导体材料可以制造不同色彩的 LED 像素点1。目前应用最广 的是红色、绿色、黄色。而蓝色和纯绿色 LED 的开发已经达到了实用 阶段。LED 显示屏是一种通过控制半导体发光二极管的亮度的方式, 来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的 显示屏幕2。 LED 显示屏分为图文显示屏和条幅显示屏,均由 LED 矩阵块组 成。图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅 显示屏则适用于小容量的字符信息显示。LED 显示屏因为其像素单 元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、 耐冲击和性能稳定等优点3。因而被广泛应用于车站、码头、机场、商 场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和 其它公共场所。LED 显示屏的发展前景极为广阔,目前正朝着更高亮 度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、 全色化方向发展4。 本文主要研究一种基于 STC12C5A60S2 单片机的 LED 点阵屏 的控制系统,显示面板为单色 32*64 点阵屏,控制卡上集成了温度传 感器和时钟模块,可以独立显示时间和温度。并且有按键可以直接在 下位机上调整时间与显示速度,与上位机采用 RS-232 通信的方式,控 2 制更加简便。 1.2 LED 电子显示屏的分类 (1)、按颜色分类:单基色显示屏:单一颜色(红色或绿色)。双基色 显示屏:红和绿双基色,256 级灰度、可以显示 65536 种颜色。全彩色 显示屏:红、绿、蓝三基色,256 级灰度的全彩色显示屏可以显示一千 六百多万种颜色。 (2)、按显示器件分类:LED 数码显示屏:显示器件为 7 段码数码 管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。LED 点阵 图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显 示模块,适于播放文字、图像信息。 (3)、按使用场合分类:室内显示屏:发光点较小,一般 3mm- 8mm,显示面积一般零点几至十几平方米。室外显示屏:面积一般几 十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、 防水功能。 (4)、按发光点直径分类:室内屏:3mm、3.75mm、5mm。室外 屏:10mm、12mm、16mm、19mm、21mm、26mm 。室外屏 发光的基本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二 极管封在一个塑料筒内共同发光增强亮度5。 1.3 LED 显示屏市场前景 LED 全彩显示屏,是 20 世纪 90 年代在全球迅速发展起来的新 型信息显示媒体。它利用发光二极管构成的点阵模块或像素单元组成 大面积显示屏幕,结合了微电子技术、光学技术、计算机技术、信息处 3 理等现代高新技术,以其可靠性高、使用寿命长、环境适应能力强、性 价比合理、使用成本低等特点迅速成为大型平板显示的主流产品,以 其明显优越于背投、等离子、液晶显示及电视屏幕的性能而在信息显 示领域得到了广泛的应用,如体育场馆、大型展览馆、市政广场、演唱 会、车站、机场等场所6。尤其是以其高亮度,大面积显示而让更多人 在户外也感受到信息时代的来临。显示信息无处不在。据业内专家预 测,今后几年全球各类 LED 显示屏需求每年均达到几十亿美元,且 还在逐年递增。国际大都市如纽约、巴黎、伦敦都普遍使用大型 LED 全彩显示屏作为信息传播、广告宣传的新型载体。在中国,随着经济 的飞速发展,各类场馆的兴建和市政工程改造项目的兴起,国内市场 LED 显示屏需求增长率更是高达 30以上。按每年 30%的增长速度, LED 显示屏的市场规模将会不断的壮大,由于 LED 产品具有性能稳 定、寿命较长、功耗较小以及价格低廉等优势,因此在各种实际应用 中具有较强的市场竞争力,市场前景十分广阔。 2 LED 显示原理的分析 2.1 LED 点阵模块结构 八十年代以来出现了组合型 LED 点阵显示器模块,以发光二极 管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封 装而成7。这种一体化封装的点阵 LED 模块,具有高亮度、引脚少、 视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED 点阵规模常见的 有 44、48、57、58、88、1616 等等。 根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色 4 不同,所显示的文字、图像等内容的颜色也不同。单色点阵只能显示 固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色 由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显 示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现 256 或 更高级灰度显示,即可实现真彩色显示8。 本系统所使用的 88 单色 LED 点阵显示器的内部电路结构和外 形规格如图 2.1 所示,其它型号点阵的结构与引脚可试验获得。 图 2.1 88 单色 LED 模块内部电路 LED 点阵显示器单块使用时,既可代替数码管显示数字,也可 显示各种中西文字及符号。如 5x7 点阵显示器用于显示西文字母, 58 点阵显示器用于显示中西文,8x8 点阵可以用于显示简单的中文 文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏 幕显示器,但这类大屏幕显示方法常通过 PC 机或单片机控制驱动。 2.2 LED 动态显示原理 LED 点阵显示系统中各模块的显示方式:有静态和动态显示两 种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一 般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的 窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同 5 时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操 作,就可以显示各种图形或文字信息。 点阵式 LED 汉字广告屏绝大部分是采用动态扫描显示方式,这 种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高 速的循环显示,只要帧速率高于 24 帧/秒,人眼看起来就是一个完整 的,相对静止的画面9。最典型的例子就是电影放映机。在电子领域 中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量, 便于 PBC 的布局难度促进工厂批量生产,因此在 LED 显示技术中被 广泛使用。 以 88 点阵模块为例,说明一下其使用方法及控制过程。红色水 平线 Y0、Y1Y7 叫做行线,接内部发光二极管的阳极,每一行 8 个 LED 的阳极都接在本行的行线上。相邻两行线间绝缘。同样,红色 竖直线 X0、X1X7 叫做列线,接内部每列 8 个 LED 的阴极,相邻 两列线间绝缘。 在这种形式的 LED 点阵模块中,若在某行线上施加高电平(用 “1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉 点处的 LED 就会有电流流过而发光。比如,Y7 为 1,X0 为 0,则右下 角的 LED 点亮。再如 Y0 为 1,X0 到 X7 均为 0,则最上面一行 8 个 LED 全点亮。 现描述一下用动态扫描显示的方式,显示字符“9”的过程。其过 程如图 2.2 所示。 6 图 2.2 用动态扫描显示字符 9 的过程 假设 X,Y 为两个 8 位宽的字节型数据,X 的每位对应 LED 模块 的 8 根列线 X7-X0,同样 Y 的每位对应 LED 模块的 8 根行线 Y7- Y0。在这个示例中,Y 叫行扫描线,行扫描线在每个时刻只有一根线 为“1”即有效行选通电平,X 叫列数据线,其内容就是点阵化的字模 数据的体现。下面用伪代码描述动态显示的过程。 (1)Y=0 x01,X=0 xFF,如图 2.2 第一行; (2)Y=0 x1C,X=0 x02,如图 2.2 第二行; (3)Y=0 x22,X=0 x04,如图 2.2 第三行; (4)Y=0 x22,X=0 x08,如图 2.2 第四行; (5)Y=0 x1E,X=0 x10,如图 2.2 第五行; (6)Y=0 x01,X=0 x20,如图 2.2 第六行; (7)Y=0 x04,X=0 x04,如图 2.2 第七行; (8)Y=0 x38,X=0 x80,如图 2.2 第八行; (9)跳到第(1)步循环。 如果高速地进行(1)到(9)的循环,且两个步骤间的间隔时间小 于 1/24 秒,由于视觉暂留。LED 显示屏上将呈现出一个完整的“9”字 符。这就是动态扫描的原理。只不过实际运用的时候,列线和行线通 7 常不止 8 位,还要根据列线和行线的数量来决定是用行线或列线来做 扫描线。例如 0601 条屏(每行 6 个汉字,共 1 行),行线有 16 根,列线 有 96 根10。如果用列线来做扫描线,则每列 LED 在每 96 次循环扫 描中只可能亮一次,则其发光视觉平均亮度为直流亮度的 1/96。如果 用行线来做扫描线,则每 16 次循环,每行 LED 就能亮一次,其发光 视觉平均亮度为直流情况下的 1/16。可见,用行线做扫描线,因为其 发光周期的占空比较大,其视觉亮度是用列线做扫描线的 6 倍。因而 发光效率比前者高。 在实际运用的时候,还要在每两帧之间加上合适的延时,以使人 眼能清晰的看见发光。在帧切换的时候还要加入余辉消除处理。比如 先将扫描线全部设置为无效电平,送下一行的列数据后再选通扫描线, 避免出现尾影。 3 系统设计的任务与方案论证 3.1 设计任务 本设计的任务要求完成可以控制兼容 T12 和 T08 显示屏单元板 并可扩展显示单元数目的单色动态调幅屏 (1)、显示区域:单色显示 6432 点; (2)、通过上位机修改显示内容,按键可改变显示内容; (3)、能存储 1616 点阵汉字不少于 64 个。 3.2 设计方案论证 3.2.1 显示单元模块的选择 LED 显示屏显示一个简单的汉字,至少需要一个 16*16 点阵单 8 元来构成,根据发光点直径的大小分为 3.75mm 和 5mm 的 LED 点阵 模块。 方案一:3.75mm 的小型发光二极管组成的 8*8 的点阵模块,发 光亮度不足,电流过大时易烧坏,远距离观看视觉效果模糊一般把 3.75mm 的屏作为室内屏使用。 方案二:5mm 直径组成的 8*8 点阵模块,在同样的距离内 5mm 直径的发光二极管组成的 8*8 的点阵模块所发出的亮度值大约是 3.75mm 单元模块的一倍,清晰程度也高于 3.75mm 的单元模块。 因此为了在较远距离处获得清晰的视觉效果,本设计选择方案 二,采用 32 个 88 点阵单元,像素直径 5mm 的 LED 模块拼接成 32*64 的 LED 显示屏。这样每个 88 汉字能够获得 1616cm 的显示 尺寸,因此在 50 米处仍能清晰阅读。而本设计使用是一块完整的 32*64 的点阵屏,能同时显示 8 个汉字。 3.2.2 主控制器的选择 随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力 的要求越来越高。从单片机,到 FPGA,直到现在的 ARM 处理器。控 制器的种类也在不断发展以适应市场需求,不同功能档次的广告屏对 应着不同的处理器。 方案一:以单片机(STC12C5A60S2 高速单片机)为控制器的 LED 显示屏。STC12C560S2 单片机是传统的 8051 单片机的升级版, 外部时钟频率可达到 80MHZ、60K 的 FLASH 存储器、1280 字节的 ROM 和 10 位 A/D 转换,拥有 P4 口适合需要多个 I/O 的设计系统。 9 其内部资源对于点阵单元模块确定的条屏 LED 显示屏,无论从存储 容量还是单片机的执行速度都能很好的适用单元点阵模块确定的 LED 显示屏 方案二:以 FPGA(复杂可编程逻辑门阵列)为控制器的 LED 显 示屏。FPGA 以高速、并行著称。是近年来新兴的可编程逻辑器件。用 他作为 LED 显示屏的控制器,能够高速的处理色阶 PWM 信号、高速 的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基 色、三基色的显示系统。但是其成本较高,开发难度较大。 方案三:以 ARM(32 位 RISC 架构高性能微处理器)为控制器的 LED 显示屏。ARM 有着极高的指令效率,极高的时钟频率。因此其 运算能力非常强大,内部资源也十分丰富,极大的简化了硬件设计的 难度,缩短了开发周期。在条屏的运用中,能用 ARM 来实现花样繁 多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM 与 FPGA 的 组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时 地显示视频信号。因此,以 ARM 为控制器的显示屏常为视频全彩屏。 经过上面方案的比较最终确定选择方案一,选用 STC12C5A60S2 单片机作为本次设计的核心控制器,其内部资源丰 富、成本比较低廉各项功能均能满足本设计的要求。 3.2.3 点阵数据存储方式的选择 目前使用最广泛的技术是,通过上位机软件将待显示的字符串转 换为对应的点阵字模数据,通过烧写的方式将这些字模数据按一定的 10 顺序编址后存储在 E2PROM 中。在条屏显示的过程中按规定的方式 取出 E2PROM 中的字模数据进行处理。对于一个 16*16 点阵的汉字 字模数据,需要连续 32 字节的 E2PROM 空间来存储。照此计算,若 有 256 个需要显示的字符,则至少需要 32B256=8192 字节(8KB)的 E2PROM 存储空间。通常的单片机内部没有集成这么大容量的 E2PROM。因此需要在单片机外部扩展大容量的 E2PROM。 方案一:选用 FLASH 存储器来存储上位机发送过来的汉字编码, FLASH 存储器种类多样,其中最为常用的为 NOR 型和 NAND 型 FLASH。通常 NOR 型比较适合存储程序代码,其随机读写速度快, 容量一般较小,且价格较高,一般只能整块读写数据,随机存取能力 差。它们对数据的存取不是使用线性地址映射,而是通过寄存器的操 作串行存取数据。FLASH 存储器的擦除过程相对费时,且擦除流程 相对复杂。 方案二:选用 AT24C64 存储器来存储汉字编码,AT24C64 采用的 是 I2C 总线接口方式,I2C 总线是一种用于 IC 器件之间连接的二线制 总线。连接总线的器件的输出必须是集电极或漏极开路,以具有线 “与”功能。I2C 总线的数据传送速率在标准工作方式下为 100kbit/s, 在快速方式下,最高传送速率可达 400kbit/s。它通过 SDA(串行数据 线)及 SCL(串行时钟线)两根线和连在总线上的上位机进行通信,并 根据地址识别每个器件。采用 I2C 总线标准的单片机或 IC 器件,其内 部不仅有 I2C 接口电路,而且将内部各单元电路按功能划分为若干相 对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。 11 CPU 不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对 该单元的工作状况进行检测,从而实现对硬件系统既简单又灵活的扩 展与控制。 由于本设计的任务是需要存储汉字不少于 64 个,采用 FLASH 芯片来存储汉字编码,其操作复杂、成本太高,不适合在本次设计中 采用 FLASH 芯片,因此本设计采用方案二来存储上位机发送过来的 汉字编码并用寻址读取数据。 3.2.4 系统总体结构及原理分析 通过对各种方案的比较与分析,初步构建硬件系统框图如图 3.1 所示。 低8位行扫描线 高8位行扫描线 行扫描驱动电路 Y0 Y15 X0 X1Xn 16位移位寄存器16位移位寄存器 16位移位寄存器 电源 STC12C5A60S2 单片机 EEPORM64 上位机 RS-232 电平转换 RS-232屏蔽线 I/O口 I/O口 通用IO口 图 3.1 LED 显示屏系统框图 在图 3.1 中,X0、X1Xn 为显示单元。整个显示单元由一个 32*64 点阵的 LED 模块和一个 32 位宽的移位锁存器(串行并行转 换器)构成。所有显示单元的 16 根行线均连接到公共的行扫描驱动电 路。而每个显示单元的列数据则由 16 位移位锁存器并行输出口提供。 12 中央微处理器 MCU 负责与所有外围设备的协调通信,以及各种算法 的处理。MCU 通用 I/O 口来驱动行扫描驱动电路。通用 I/O 口模拟同 步串行接口以实现和列数据锁存器(移位锁存器)之间的单向通信。 3.2.5 工作原理分析 单片机上电复位后,先从外部存储器 E2PROM 读取上次存储在 内部的显示模式,在 32*64 单色屏中上半屏存储时间、温度等数据。 下半屏存储的是上位机要传输过来的数据。进入下载模式后从上位机 传送来的数据经过 MAX232 串口存放到单片机内部的扩展数据存储 区,在 AT24C64 存储区中开辟 192 字节(1536 位)动态显示缓冲区 Display_Buffer 和 32 字节的字模数据缓存区 Temp_Buffer,两个缓存 区编址连续。Display_Buffer 中的一位与 LED 的一个点阵一一对应。 遵循结构化的程序设计思路,把单片机在显示模式时所有工作量分为 以下三个任务: (1)、扫描显示任务:扫描显示任务负责把 Display_Buffer 中的数 据依次发送到列驱动器 74HC595,并按严格的时序高电平选通十六 根行扫描线(Y0Y15),使每一列数据对应着一个行线状态。 (2)、移动处理任务:移动处理任务负责完成显示字符逐点阵向左 移动的算法处理,这是最基本的显示效果。其它大部分显示效果如: 左移六字暂停,全屏定格显示等都是以逐位左移为基础。对显示字符 的移动,实质上是对显示缓冲区 Display_Buffer 内数据的移动。 该算法是将 Display_Buffer 和 Temp_Buffer 中的数据首尾相接地左移 一位,并不断把 Temp_Buffer 移入 Display_Buffe。 13 (3)、字符更新任务:在单片机的 xdata 区开辟了 32 字节的字模数 据缓存区 Temp_Buffer。该缓存区与 Display_Buffer 编址连续。当调 用字符更新任务时,程序从 E2PROM 内码区指定位置读取相邻两字 节的汉字内码数据。并通过一定的算法,把上位机发送的汉字编码转 换成标准的 GB2312 汉字编码。单片机通过 I2C 接口,向 E2PROM 发 送读命令和地址,单片机连续读取 32 字节的全角汉字字模数据或 16 字节的 ASCII 半角字模数据。这些字模数据就存储在 32 字节的字模 数据缓存区中。字模数据缓存区 Temp_Buffer 中的数据可通过调用移 动处理任务而逐位转移至动态显示缓冲区 Display_Buffer 中,这样在 LED 显示屏上就显示我们所需要的内容。 4 硬件电路设计 4.1 LED 控制卡电路设计 LED 点阵屏控制卡是整个 LED 显示屏的核心控制器件,它集 成了 STC12C5A60S2 主控芯片、时钟芯片、温度传感器、存储芯片、 串口转换电路为一体的控制器,它是控制点阵屏的核心部分,各项功 能的实现必须经过控制卡的控制。通过 LED 控制卡来驱动 32*64 显 示屏上面的行,列选通芯片,把十六进制汉字编码送 74HC595 显示。 本系统设计的控制卡接有标准的 T08 接口和 T12 接口,也适合其它 型号的点阵屏使用本控制卡,因此控制卡的设计非常重要。图 4.1 为 核心控制器件与标准的接口,其他各个部分控制电路(见附录 A) 14 P4.2/INT3 1 P1.0/T2 2 P1.1/T2EX 3 P1.2 4 P1.3 5 P1.4 6 P1.5 7 P1.6 8 P1.7 9 RST 10 RXD/P3.0 11 INT2P4.3 12 TXD/P3.1 13 INT0/P3.2 14 INT1/P3.3 15 T0/P3.4 16 T1/P3.5 17 WR/P3.6 18 RD/P3.7 19 XTAL2 20 XTAL1 21 GND 22 P4.0 23 P2.0 24 P2.1 25 P2.2 26 P2.3 27 P2.4 28 P2.5 29 P2.6 30 P2.7 31 P4.4 32 ALE/P4.5 33 P4.1 34 P4.6 35 P0.7 36 P0.6 37 P0.5 38 P0.4 39 VCC 44 P0.0 43 P0.1 42 P0.2 41 P0.3 40 STC12C5A60S2 PLCC-44 *1 89C52-44 30P C6 30P C7 GND 10F CJ1 1k R2 10k R4 S5 GND VCC RST RST X1 X2 X1 X2 18B20 SCL SDA P2.5 P2.3 P2.4 P3.3 1 2 3 4 5 6 7 8 P2 CON1x8 1 2 3 4 5 6 7 8 P1 CON1x8 GND GND GND GND GND EN R1 R2 A B C D G1 G2 CLK STB 1 2 3 4 5 6 7 8 P4 CON1x8 1 2 3 4 5 6 7 8 P3 CON1x8 GND GND GND GND GND EN R1 R2 A B C D G1 G2 CLK STB 1 2 3 4 5 6 7 8 9 10 P5 1 2 3 4 5 6 7 8 9 10 P6 GND STB CLK R1 EN D C B A R2 G1 1 2 PJ1 P3.0 P3.1 GND VCC R1 R2 G1 G2 EN STB CLK A B C D P3.4 P3.5 P3.6 P3.7 12 Y1 11.0592kHZ T20单 单 T08单 单 T08单 单 单 单 单 单 单 单 单 图 4.1 控制卡原理图 4.1.1 列驱动电路设计 本设计中 32*64 点阵屏的列驱动电路由 16 片串联的 8 位移位锁 存器 74HC595 构成,如下图 4.2 所示,通过第一片串行数据输出脚 (SQ)接入第二片的数据输入端,再从第二片的数据输出脚接入第三 片 595 的 14(SI)脚数据输入端,这样通过多片级联就可以控制多个 点阵屏模块的列选,再加上时钟线(CLK),输出锁存数据线(RST), 多块 595 级联时也只要控制这三个控制端口我们就可以控制 32*64 点阵屏的列选号的输出。 74HC595 在 5V 供电的时候能够达到 30MHz 的时钟速度,每个 并行输出端口均能承受 20mA 的灌电流和拉电流。这个特点保证了不 用增加额外的扩流电路即可轻松的驱动 LED。它输入端允许 500nS 的上升(下降)时间,对严重畸形的时钟脉冲仍能检测。这样就可以容 纳较大的传输线对地电容,使本设计的抗干扰能力增强。 由于 LED 显示屏的工作电流时刻在变化,造成了系统电压的波 动。这种电压波动有高频成分,也有低频成分。轻则对周围无线电环 15 境造成电磁污染,重则使系统时钟紊乱,逻辑错误。为避免此问题,在 每个 74HC595 的电源 VCC 和 GND 旁边都并联了两个电容,用于滤 波和退耦。稳定系统电压,旁路掉电源中的高频脉动成份。消除自激, 减小对外杂散电磁辐射,提高 EMI 电磁兼容性。 Q1 1 Q2 2 Q3 3 Q4 4 Q5 5 Q6 6 Q7 7 GND 8 Q7 9 MR 10 SHcp 11 STcp 12 OE 13 DS 14 Q0 15 VCC 16 1 74HC595 Q1 1 Q2 2 Q3 3 Q4 4 Q5 5 Q6 6 Q7 7 GND 8 Q7 9 MR 10 SHcp 11 STcp 12 OE 13 DS 14 Q0 15 VCC 16 2 74HC595 GNDGND GB64 GB65 GB66 GB67 GB68 GB69 GB70 GB71 GB72 GB73 GB74 GB75 GB76 GB77 GB78 GB79 VCC GND VCC GND VCC VCC R1 RST CLK SD 图 4.2 两片 74HC595 级联图 4.1.2 行驱动电路设计 32*64 点阵屏共用 16 片 138 级联,通过总线驱动芯片 74HC245 驱动行/列信号,从总线上的低 4 位输出的行号经两片 138 级联后形 成 4/16 线译码器后生成 16 条行选信号,具体电路如图 4.3 所示。再 经过驱动管驱动对应的行线。一条线上要带动 32 列的 LED 灯同时发 光时,按每一 LED 器件 15mA 电流计算,32 个 LED 同时发光时,需 要 480mA 的电流,选用三极管 8550 作为驱动管可以满足要求。 74HC138 为 3 线8 线译码器,其工作原理为:当一个选通端 (G1)为高电平,另外两个选通端 G2A 和 G2B 为低电平时,可将地址 端(A、B、C)的二进制编码在至对应的输出端以低电平译出, 当数据超过位之后,电平拉高后可对数据操作。两片级联后的 138 电路如下: 16 A 1 B 2 C 3 G2A 4 G2B 5 G1 6 Y0 7 GND 8 Y1 9 Y2 10 Y3 11 Y4 12 Y5 13 Y6 14 Y7 15 VCC 16 U3 74HC138 A 1 B 2 C 3 G2A 4 G2B 5 G1 6 Y0 7 GND 8 Y1 9 Y2 10 Y3 11 Y4 12 Y5 13 Y6 14 Y7 15 VCC 16 U2 74HC138 VCCVCC GNDGND A0 B0 C0 OE1 D0 D0 C0 B0 A0 OE2 OE2 图 4.3 两片 74HC138 级联电路图 4.2 时钟模块电路设计 DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计 时,具有闰年补偿功能,工作电压为 2.5V5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信 号或 RAM 数据。DS1302 内部有一个 318 的用于临时性存放数据 的 RAM 寄存器。DS1302 是 DS1202 的升级产品,与 DS1202 兼容, 但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行 涓细电流充电的能力,可以对时间进行不掉电保存。图 4.4 为时钟模 块电路: VCC 1 X1 2 X2 3 GND 4 RST 5 I/O 6 SCLK 7 VCC2 8 DS1302 U2 DS1302 10P C8 10p C9 VCC GND 10k R3 12 BT1 CR1220 GND VCC P2.3 P2.4 P2.5 GND 12 Y2 32.768KHZ 图 4.4 DS1302 时钟电路图 4.3 温度驱动电路设计 Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片 17 支持“一线总线差为 2C 。现场温度直”接口的温度传感器。一线总 线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系 统的构建引入全新概念。现在新一代的“DS1820”体积更小、更经济、 更灵活。DS18B20 支持“一线总线”接口,测量范围-55C+125C,在- 10+85C 范围内,精度为0.5C。DS1822 的精度较接以“一线总线”的 数字方式传输,见图 4.5 所示这种方式大大提高了系统的抗干扰性。 适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测 温类消费电子产品等。本设计通过不断采集 DS18B20 的 I/O 口输出 的数据送入显示函数实时更新采集过来的温度然后送 LED 显示屏显 示。 GND E I/O B VCC C DS1 DS18B20 10k R9 GND VCC 18B20 图 4.5 温度采集电路 4.4 MAX232 串行通信电路设计 要使上位机能对条屏进行参数设置,显示内容更新等操作,就离 不开和上位机的通信。有并行和串行两种通信方式,为了节约传输线 成本。本设计采用 RS-232C 串行通信方式。如图 4.6 所示的 P3.0 与 P3.1 口接入单片机的数据输入端和数据输出端,通过 LED 灯的闪烁 判断数据是否已传输到下位机。 RS-232C 是由美国电子工业协会(EIA)正式公布的,在异步串行 通信中应用最广泛的标准总线。现在,计算机上的串行通信端口(RS- 232C)是标准配置端口,已经得到广泛应用,计算机上一般都有 12 18 个标准 RS-232C 串口,即通道 COM1 和 COM211。 RS-232C 规定最大的负载电容为 2500pF,这个电容限制了传输 距离和传输速率,由于 RS-232C 的发送器和接收器之间具有公共信 号地(GND),属于非平衡电压型传输电路,不使用差分信号传输,因 此不具备抗共模干扰的能力,共模噪声会耦合到信号中。在不使用调 制解调器(MODEM)时,RS-232C 能够可靠进行数据传输的最大通信 距离为 15 米。因此不适合做远距离通信,但是对于条屏,通信 15 米 的通信距离已经足够。 C1+ 1 V+ 2 C1- 3 C2+ 4 C2- 5 V- 6 T2OUT 7 R2IN 8 R2OUT 9 T2IN 10 T1IN 11 R1OUT 12 R1IN 13 T1OUT 14 GND 15 VCC 16 U1 MAX232 104 C1 104 C2 104 C4 104 C5 104 C3 GND GND 1 6 2 7 3 8 4 9 5 J1 DB9 GND P3.0 P3.1 D1 LED 1k R1 VCC VCC 图 4.6 上位机与单片机串行通信电路图 4.5 系统电源及通信电缆的选择 4.5.1 对于 LED 显示屏的电源要求 本系统没有设置独立的 5V 稳压器件,因此要求外部能对其提供 相对稳定的电压。为保证单片机等集成电路的稳定工作,要求电源电 压的最大波动范围在 4.8-5.2V 之间。 本系统的工作电流随着显示内容的不同有很大变化。在 LED 全 灭的状态下,耗电电流为 60mA 左右;在 LED 全亮的情况下,工作电 流可以达到 3A;在滚动显示汉字的时候,耗电约为 500mA 左右。因 19 此,要求供电电源在负载电流变化较大的情况下能保持相对稳定的电 压输出。同时,条屏一般是全天候工作,对电源系统的长时间工作的 稳定性要求较高。 考虑到上述因素,本设计采用功率容量 200W,输出 5V/40A 的成 品单端反激式开关电源来为条屏系统供电。10A 的电流容量对于条屏 系统 3A 的满负荷电流仍有较大的余量。保证了长时间使用稳定性。 4.5.2 开关电源在 LED 屏应用中的优势 使用开关电源,相对于线性电源来说,有以下几个明显的优势。 成本低廉:同等电压和电流容量的开关稳压电源的成本,是传统的工 频变压器线性稳压电源的 30%左右。因此,在许多场合,开关电源已 逐步取代线性电源。高效率:体现在极高的转换效率和极低的调整损 耗上,开关电源的换能器是工作在开关状态下,因此转换的效率极高, 长时间满负荷工作也不会引起电源过热。正好满足条屏的应用场合。 功率密度大:开关电源能够轻松地提供 10A 以上的电流。在同等输出 功率下,开关电源的体积只有线性电源的四分之一,重量为线性电源 的十分之一。功率越大,其优势越明显。对于通信电缆的选择,本设计 是将通信线和电源输入合并在一个 DB9 连接器上。外部电缆使用多 芯屏蔽电缆。这样的设计,紧凑美观,坚固耐用。 5 系统软件设计 5.1 上位机软件设计 因为是采用 VB 语言进行设计,故是采用面向对象的思想进行编 程。没有像 C 语言一样的具体流程,只能将各主要控件的主要事件响 20 应作简要流程说明,具体流程图如 5.1 所示。其关键的 HZK16*16 的 汉字提取程序如下:。 For i = 1 To 32 Step 1 字模校正对话框的字模代码显示 If Len(Hex(zw(i) = 1 Then Text2.Text = Text2.Text (2)、器件选择时要详细阅读器件使用手册,不但要考虑器件的功 能实现还要考虑器件在整个系统中的兼容性; (3)、硬件系统的建立必须合理和稳定,实物建立之前最好进行仿 真这样才能为软件提供一个可靠的试验平台; (4)、软件的编写不但要实现功能还要不端的优化、简练、易读。虽 然设计结束了,但学习还在继续。我相信通过此次设计所得到的知识、 心得、经验乃至感受也会让我在以后的日子里受益匪浅。 28 参考文献 1 关积珍.LED 显示屏发展状况及趋势J. 世界电子元器件,2000, (02):277-301. 2 关积珍,陆家和.我国 LED 显示屏技术和产业发展及展望J. 现代显示,2004,(02):34-37. 3 袁波,朱保华.LED 显示屏的应用及发展状况J.中国电子报,2004,09: 2-8. 4 王尔镇.我国 LED 及显示屏的技术和市场概况J. 微电子技术 .1998,(06):1-10. 5 高春艳,李俊民,刘彬彬.Visual Basic 应用开发完全手册/明日科技编著M.北京:人民邮 电出版社,2006.12: 33-76. 6 李朝青 刘艳玲,沈怡麟.单片机与 PC 机网络通信技术M. 北京:北京航空航天大学出 版社,2007,2: 1-110. 7 谭浩强.C 程序设计(第二版)M. 北京:清华大学出版社, 1999:12-56. 8 郭天祥.新概念 51 单片机 C 语言教程M. 北京:电子工业出版社,2009,1:178-184. 9 付军. VisualBasic 实用编程 100 例M. 北京: 中国铁道出版社,2003,5: 152-158. 10 李长林.VisualBasic 串口通信技术与典型实例M. 北京:清华大学出版社, 2004: 4-89. 11 周子琛,申振宁用 VB 实现计算机与单片机的串行通信J半导体术,2002,27(1):42-44. 12 Miscrosoft 公司.Visual Basic6.0 中文版语言参考手册M. 北京:希望电脑公司希望图书 创作室, 1999: 1391-1394. 13 李现勇.Visual C+串口通信技术与工程实践(第二版)M.北京:人民邮电出本社, 2004.7: 310-314. 29 致 谢 30 附录 A LED 显示屏控制卡原理图 P4.2/INT3 1 P1.0/T2 2 P1.1/T2EX 3 P1.2 4 P1.3 5 P1.4 6 P1.5 7 P1.6 8 P1.7 9 RST 10 RXD/P3.0 11 INT2P4.3 12 TXD/P3.1 13 INT0/P3.2 14 INT1/P3.3 15 T0/P3.4 16 T1/P3.5 17 WR/P3.6 18 RD/P3.7 19 XTAL2 20 XTAL1 21 GND 22 P4.0 23 P2.0 24 P2.1 25 P2.2 26 P2.3 27 P2.4 28 P2.5 29 P2.6 30 P2.7 31 P4.4 32 ALE/P4.5 33 P4.1 34 P4.6 35 P0.7 36 P0.6 37 P0.5 38 P0.4 39 VCC 44 P0.0 43 P0.1 42 P0.2 41 P0.3 40 STC89C52 PLCC-44 *1 89C52-44 30P C8 30P C9 GND 10F CJ1 1k R7 10k R9 S6 GND VCC RST RST X1 X2 X1 X2 GND E I/O B VCC C DS1 DS18B20 10k R8 GND VCC 18B20 18B20 A0 1 A1 2 A2 3 VSS 4 SDA 5 SCL 6 WP 7 VDD 8 U2 24C08 10k R5 10k R4 VCC GND GND SDA SCL SCL SDA VCC 1 X1 2 X2 3 GND 4 RST 5 I/O 6 SCLK 7 VCC2 8 DS1302 *2 DS1302 10P C6 10p C7 VCC GND 10k R3 12 BT1 CR1220 GND VCC P2.3 P2.4 P2.5 P2.5 P2.3 P2.4 S1 S2 S3 S4 GND P3.4 P3.5 P3.6 P3.7 1 2 3 P7 VCC GND 1k R6 VCC P3.3 P3.3 C1+ 1 V+ 2 C1- 3 C2+ 4 C2- 5 V- 6 T2OUT 7 R2IN 8 R2OUT 9 T2IN 10 T1IN 11 R1OUT 12 R1IN 13 T1OUT 14 GND 15 VCC 16 U1 MAX232 104 C1 104 C2 104 C4 104 C5 104 C3 GND GND 1 6 2 7 3 8 4 9 5 J1 DB9 GND P3.0 P3.1 D1 LED 1k R1 VCC VCC 1 2 3 4 5 6 7 8 P4 CON1x8 1 2 3 4 5 6 7 8 P3 CON1x8 GND GND GND GND GND EN R1 R2 A B C D G1 G2 CLK STB 1 2 3 4 5 6 7 8 P6 CON1x8 1 2 3 4 5 6 7 8 P5 CON1x8 GND GND GND GND GND EN R1 R2 A B C D G1 G2 CLK STB 1 2 3 4 5 6 7 8 9 10 P1 1 2 3 4 5 6 7 8 9 10 P2 GND STB CLK R1 EN D C B A R2 G1 - D1 D2 + USB1 GND S5 SW6 1kR2 D2 LED VCC GND 1 2 PJ2 1 2 PJ3 GND VCC 1 2 PJ1 P3.0 P3.1 GND VCC R1 R2 G1 G2 EN STB CLK A B C D P3.4 P3.5 P3.6 P3.7 GND 12 Y1 6MHZ 12 Y2 11.0592kHZ 温度传感器 AT24C64存储器 DS1302时钟模块 串口通信模块 08接口 我的屏接口 主控器芯片 31 附录 B LED 显示屏控制卡 PCB 电路图 (顶层)(顶层) (底层)(底层) 32 附录 C VB 上位机界面 附录 D 本设计显示效果图片 (1)阳码静态显示效果 (2)低刷新率显示移动效果 33 (3)中速刷新显示移动效果 附录 E 程序清单 #include #include“zimo.h“/字模采用阴码逐行 显示 32x32 #define uchar unsigned char #define uint unsigned int #define SPEED 2 /定义速度 4-6 #define LIGHT 10 /定义亮度:取值 范围 0-10 #define NUMBER 7 /定义要显示总 32X32 汉字个数,计算方法: NUMBER=汉字个数 uchar word=0,col=0,coll=0,disrow=0;/wor 为 要显字变量,col 为位移变量,col1 为 字节偏移量,disrow 为行变量 uchar BUFF_UP17; /上半屏显示缓 2 冲 上下缓冲字节数取值=2*板点阵宽 度/8+1 比较保险,即两倍板的点阵字 节数. uchar BUFFDOWN17; /下半屏显 示缓冲 sbit A=P10; sbit BB=P11; sbit C=P12; sbit D=P13; sbit R1=P15; sbit R2=P35;/绿色数据 sbit CLK=P17; sbit STB=P16; sbit OE =P01;/74HC138 使能:低有 效 uchar Recive=1; /根据列指针由双字节合并为单字节 的子程序模块 uchar Combine_2byte(uchar h1,uchar h2) uchar T_date,tempcol; tempcol=coll; T_date=(h1tempcol)|(h2i) /取出最 4 高位 e2=(TEMP0i) /取出最 高位/ R1=e1; R2=e2; CLK=0; CLK=1; /移位时钟 void delay(unsigned int i) unsigned int j; for(;i0;i-) for(j=5;j0;j-); void PWM_LIGHT(uchar p) /亮度调整 OE=0; delay(p); OE=1; delay(10-p); void UART() interrupt 4 EA=1; if (RI) /RI 接受中断标志 RI=0; /清除 RI 接受中断标志 Recive=SBUF;/SUB 缓冲器 EA=1; /主函数入口 void main(void) uchar i; SCON = 0 x50; /REN=1 允许串 行接受状态,串口工作模式 1 TMOD|= 0 x20; /定时器工作方式 2 PCON|= 0 x80; TH1 = 0 xE6;/波特率 9600、 数据位 8、停止位 1。效验位无 (12M) TL1 = 0 xE6; TR1 = 1; ES = 1; /开串口中断 EA = 1; / 开总中断 TR1=1; /启动定时器 1 PS=1; /串口中断优先 R1=0; /数据初始化 R2=0;
展开阅读全文