您的当前位置:首页基于嵌入式PIC的LED点阵显示屏控制系统

基于嵌入式PIC的LED点阵显示屏控制系统

来源:小侦探旅游网
DOI:CNKI:12-1334/TH.20110106.1652.007 网络出版时间:2011-01-06 16:52:01网络出版地址:http://www.cnki.net/kcms/detail/12.1334.TH.20110106.1652.007.html

doi:10.3969/j.issn.1671-1041.2011.01.008

基于嵌入式PIC的LED点阵显示屏控制系统

马福民1,牛伟杰2

(1.南京财经大学 信息工程学院,南京 210046;2.郑州巩义市供电公司,河南巩义 451200)

摘要:介绍了一种基于嵌入式PIC单片机的128×16 LED点阵显示屏控制系统设计与实现,该系统利用上位机将显示信息字符转换为点阵显示数据,并通过miniUSB接口传送給PIC单片机,再由单片机完成点阵屏的动态滚动显示与实时控制。该系统具有设计简单、字符清晰、功耗低、可靠性高等特点。 关键词:LED点阵显示屏;嵌入式PIC;USB通讯 中图分类号:TP273+.5 文献标志码:A

The LED dot matrix display control system based on embedded PIC MCU MA Fu-min1, NIU Wei-jie2 (1. College of Information Engineering, Nanjing University of Finance & Economics, Nanjing, Jiangsu, 210046, China;2.

Zhengzhou Gongyi Electric Supply Company, Gongyi, Henan 451200, China) Abstract:A kind of 128×16 LED matrix display control system based on embedded PIC MCU is introduced. The displaying information was transformed into dot matrix data by upper machine and sent to PIC MCU through the miniUSB serial communication inferface. And then, the dynamic scrolling display and real-time control were completed by the MCU. The system has the characteristics of simple design, clear character, low power consumption and high reliability. Key words:LED dot matrix display; embedded PIC MCU; USB communication 0 引言

LED点阵显示屏是由发光二极管排列组成的一种显示器件,具有亮度高、工作电压低、功耗小、驱动简单、寿命长、耐冲击和性能稳定等优点。作为一种电子广告类型的信息发布方式,主要用以发布字符、汉字、图形等各种简洁公告信息。目前,LED点阵显示屏正朝着更高的发光亮度、发光均匀性、发光密度及耐气候性等方向发展。随着对显示效果要求的提高,对点阵显示控制系统的要求也随之提高。

采用高亮度LED点阵显示模块,既可由嵌入式微处理器控制自成一个独立的系统,用以显示固定的信息,如银行存款利率等,又能与微型计算机进行远程通讯,形成一个由上位机存储和发送显示内容的点阵显示屏控制系统[1],在需要实时更新显示信息以及需要较大显示存储空间的情况下,基本上都是采用这种方式。在目前的点阵显示屏控制系统中,大多仍是采用RS232接口与上位机进行通讯[2-7],給目前很多不带串口的计算机连接带来不便,而且直插器件的选用仍然较多,生产出的LED点阵显示屏工艺落后,故障率较高,功耗较大。若用贴片器件、大规模可编程器件取代常规芯片,可大大提高生产工艺和屏体性能,使故障降至最低,并大幅降低屏体功耗。

嵌入式PIC系列单片机是Microchip公司的产品,其CPU采用RISC结构,采用Harvard双总线结构,其突出的特点是体积小,功耗低,可靠性高,具有运行速度快、输入输出直接驱动能力较大等优点,比传统的51单片机更加灵活,非常适用于LED点阵显示屏的控制系统设计。

本文基于嵌入式PIC单片机完成了一种128×16 LED点阵显示屏控制系统的设计与实现,系统采用miniUSB串行通讯接口与上位机连接,可方便接收上位机传输的显示信息;采用贴片器件及可编程器件提高了系统的性能、降低了系统的功耗。通过测试,该系统性能稳定、操作简单,经过适当扩充即可应用于很多领域,具有较

好的推广价值。

1 系统硬件设计

该点阵控制系统由上位机、显示屏控制器、点阵显示驱动芯片、LED点阵显示屏等模块构成,整体设计方案如图1所示。

图1 LED点阵显示屏整体方案示意图 显示屏核心控制芯片采用Microchip公司生产的PIC16F723微处理器芯片。LED点阵显示屏驱动采用Holtek公司生产的HT1632C芯片,该驱动芯片是一款内存映射LED显示驱动芯片,可以选择32×8或24×16驱动模式,通过使用软件指令PWM控制,该芯片可支持16级的LED亮度控制。使用HT1632C作为LED点阵的驱动芯片,减小了PIC16F723单片机驱动和刷新LED屏的程序开销,使其能够有更多的资源用于接收和处理串行数据。

该系统对于来自上位机的命令、数据,通过miniUSB线发送到显示屏的主控芯片PIC16F723上;PIC16F723根据所接收到的命令和数据,向各个LED驱动芯片HT1632C发送控制命令与数据,由此即可控制LED显示屏的显示效果。

1.1 基于HT1632C的点阵显示屏 点阵显示屏由32个8×8的点阵LED显示模块组成,构成了一个128×16的LED点阵,可用于动态显示20×2个5×7点阵字库的常用ASCII码字符或组合显示8个16×16的中文汉字。 在32×8模式下,每块HT1632C芯片最多能够驱动4块8×8的LED点阵模块,将128×16的LED点阵划分成8个单元显示屏,每个单元显示屏由1块HT1632C芯片以及由其所驱动的4块8×8 LED点阵模块构成。这8个LED单元显示屏级联使用,统一由驱动板上的嵌入式PIC单片机来控制。HT1632C在32×8驱动模式下的连接电路如图2所示。

图2 HT1632C在32×8驱动模式下的连接电路图

单元显示屏可以接收来自上位机传送过来的数据信息和命令信息,并可将这些数据信息不经任何变化地显示出来。

1.2 8×8点阵显示模块

在单元显示屏电路中,为了方便与外部电路相连接,选用深圳晶美光电科技有限公司的JM-M1088A- BHG型8×8双色3mm行共阳列共阴LED点阵模块,其组成原理如图3所示。

COL

1        2         3         4        5         6        7         8

PIN  NO2423212018171514󰁊󰁇󰁈󰁂󰁆󰁉1011ROW  PIN  NO

󰁊󰁇󰁅󰁈󰁂󰁄󰁆󰁉22191613󰁅󰁄󰁃12REDGREEN 图3 JM-M1088A-BHG型点阵模块原理图 由图3可以看出,JM-M1088A-BHG型双色点阵模块是通过选通对应的列选择端实现红、绿色显示的,在单元显示屏连接电路中,HT1632C芯片的COM端与JM-M1088A-BHG点阵模块的列选择端连接,ROW端顺次与JM-M1088A-BHG点阵模块的行选择端连接,其中,每个ROW引脚通过限流电阻,同时与点阵模块每一列的两种颜色选择端连接。 1.3 串行通讯接口 传统的LED点阵显示屏控制系统大多都是采用RS232串行通讯接口与计算机通信,但随着计算机技术的发展,计算机将越来越少配置甚至不配置RS232接口,因此采用支持热插拔的USB串行通讯接口取代RS232接口更便于使用。CP2102是一种USB/RS232双向转换芯片,一方面可以从上位机接收USB数据并将其转换为RS232信息流格式发送给外设,另一方面可从RS232外设接收数据转换为USB数据格式传送至主机,其中包括控制和握手信号。

该点阵显示屏控制系统采用USB/RS232桥接器件CP2102设计点阵显示屏与上位机的串行通讯接口,连接电路如图4所示。

图4 串行通讯接口连接电路

为了能够通过USB通讯接口正确识别该点阵显示屏控制系统,须在上位机的相应USB端口安装CP2102的驱动程序,安装完成之后就相当于在上位机上提供了一个虚拟串口,可以像存取一个标准的物理串口一样访问该虚拟串口。所有针对虚拟串口的数据通信都是以USB总线实现RS232数据传输的。

2 系统软件设计

整个系统软件设计包括上位机软件和下位机点阵显示控制软件两部分。

上位机软件提供友好的人机交互界面,可方便输入或选择需要显示的内容,实现的功能如下:

1)接收数据输入;2)识别数据类型;3)对不同类型的数据做出对应的处理,完成显示数据的点阵信息格式转换,若所收到的命令、数据不在预先设计范围内,则忽略此条命令或数据;4)发生接收故障(接收数据时,minUSB线断开等原因导致的无法继续正常接收)时,忽略所接收到的数据;5)设置点阵信息的动态滚动速度;6)调节LED点阵显示屏的显示亮度。

在MPLAB IDE集成开发环境下完成嵌入式PIC单片机的程序开发。下位机点阵显示控制软件主要识别来自上位机的命令、数据,并据此向各个HT1632C芯片发送可被HT1632C芯片识别的命令、数据,进而控制整个LED显示屏的动态显示效果,其主程序流程如图5所示。

图5 点阵显示屏控制主程序流程图 在串口数据接收过程中,如果所接收到的数据是符合规范的预定义命令字,则相应的标记位会在串口中断服务子程序中被置位,当退出中断服务程序后,就需要设置一个命令处理函数,根据各个标记位的状态进行正确的判别,并使得PIC单片机做出相应的处理响应,命令处理函数的流程如图6所示。 图6 命令处理函数流程图

在串行数据接收过程中,难免会因为各种因素而导致不同的接收故障,如由于miniUSB线的松动而导致的接收中止。为了使系统更加稳定,须采取一定的故障保护措施。该系统将PIC单片机的定时器0中断服务程序中对相关的标识符进行判别,若发现逻辑上的问题,则表明发生了串行数据接收故障,将故障标识符置位,使单片机及时抛弃所接收到的错误数据,其故障处理流程如图7所示。

1ŸŸŸŸŸŸ䨲<ŸŸerror = 󰀈errorŸŸŸ󰀇䨲本文基于嵌入式PIC单片机完成了LED点阵显示屏控制系统的设计,给出了硬件电路的连接组成及软件的实现方法。该系统通过miniUSB通讯接口由上位机发送数据,可方便地实现点阵屏动态显示信息的实时更新,所设计的系统性能稳定、操作方便,功耗及成本较低低,电路与控制方案简洁明了,容易实现,具有较好的应用推广价值。□

参考文献

[1] 张红, 于平, 程文播. 基于单片机控制的LED点阵显示屏系统[J]. 微计算机信息, 2009, 25(1): 92-93. [2] 詹新生, 张江伟. 基于单片机的16×64 LED点阵显示屏的设计[J]. 电子元器件应用, 2009, 11(8): 8-10. [3] 简献忠, 虞箐,等. 基于80C51和KEIL C51的LED点阵显示系统[J]. 仪器仪表学报, 2005, 26(8) s1: 315-316. [4] 刘鑫, 张庆顺,等. 基于STC89C55RD_单片机的LED点阵显示系统的设计[J]. 微计算机信息, 2010, 26(3): 98-99. [5] 梁勇, 马兴平. 单片机实现的LED点阵图文显示系统设计[J]. 中国科技信息, 2009,(9): 99-100. [6] 于波, 胡毅, 文江涛. 基于CP2102的USB接口设计[J]. 国外电子测量技术, 2007, 26(3): 40-42. [7] 张家斌, 付秀华, 铁维泽. 基于D05882点阵式LED的显示系统设计[J]. 仪器仪表用户, 2009, 16(3): 32-33.

作者简介:马福民(1979-),女,博士,讲师,主要从事计算机应用技术、嵌入式系统等方面的研究。 基金项目:江苏省高校自然科学基金(No.09KJB120001) 收稿日期:2010-09-14

1 . 1 1.1. 1 1.2. 1 1.3. 2 2 . 5 2.1. 5 2.2. 6 2.3. 8 2.4. 10 2.5. 11 3 . 13 3.1. 13 3.2. 18 4 . 26 4.1. 26 4.2. 27 4.3. 29 4.4. 30 4.5. 31 5 . 32 . 33 . 34 1 1.1 1.2 1.3 1 2 3 4 5 1 2 3 2 2.1 6 2.1 2.2 1 2 3 1 2 3 1 2 3 2.3 12030 2030 2020 22030-50 2030 32050 2050 203012 2.4 1 1 2 3 2 2.5 3 3.1 3.1 31 313132 32 3.2 3 33 333.43 34 3.5 35 35 3.2 36 36 3 3 37 38 31 3 39 39 120101010030012004 3.2 32 010101003001 4 4.1 4.2 4.3 4.4 4.5 5 12345

因篇幅问题不能全部显示,请点此查看更多更全内容