1、.页眉.页脚本 科 毕 业 设 计 ( 论 文 )题 目:LED 综合显示应用系统研究 学 号: 064822461 姓 名: 纪宇翔 班 级: 06 光电 A2 专 业:信息显示与光电技术 学 院:电子与电气工程学院 入学时间: 2006 级 指导教师: 冯荣达 日 期: 2010 年 4 月 28 日.页眉.页脚毕业设计(论文)独创性声明本人所呈交的毕业论文是在指导教师指导下进行的工作及取得的成果。除文中已经注明的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。作者签名: 纪宇翔日期:2010 年 5 月 12
2、 日.页眉.页脚LED 综合显示应用与研究摘要本论文实现了一种通过上位机控制 8 块 1616 三色点阵 LED 显示屏,显示汉字,字符,位图的方法。通过 C51 编程,使得 8 块 1616 三色点阵 LED 显示屏驱动程序模块化,使其调用简便明了。然后通过 VB 语言制作的上位机界面,对显示屏实现实时控制。关键词:单片机;8 块 1616 三色点阵 LED 动静态显示屏;上位机控制.页眉.页脚LED Comprehensive Display SystemABSTRACTThis paper describes a method that a PC which can controll e
3、ight 16 16 tri-color dot matrix LED static display, displaying Chinese characters, character, bit map. By using C51 programming makes eight 16 16 three-color dot matrix LED display driver static and dynamic modular. Its easier to understand their calling. By using the VB language makes a virtual PC
4、panel which can make real-time control on the screen possible.Key words: Single-chip; eight 16 16 tri-color dot matrix LED static display; Driver module;PC control.页眉.页脚目录1 引言12 LED 显示基础12.1 发光二极管22.2 点阵 LED 显示系统22.3 LED 驱动32.3.1 LED 驱动芯片32.3.2 动态扫描62.3.3 驱动电路原理62.4 汉字显示原理83 LED 显示的应用程序实例103.1 生成字模1
5、03.1.1 用 PCtoLCD2002 软件进行文字的输入103.1.2 用 PCtoLCD2002 软件进行英文,数字和符号输入113.13 用 PCtoLCD2002 软件生成图像的字模133.2 在 Keil 环境建立工程133.3 下载程序143.4 LED 显示设计153.4.1 LED 显示 8 个汉字153.4.2 LED 显示 12816 点阵图像173.5 上位机程序设计194 结论21致谢22参考文献23附录24.页眉.页脚1、 引言自 1976 年第一个红光 LED 问世以来,经过 30 年的发展,LED 已形成各种光谱系列产品,单个 LED 的功率也从最初的零点零几瓦
6、发展至几瓦乃至数十瓦。2001 年白光 LED 研制成功,人们期待 LED 最终能进入照明领域,甚至进入家庭照明。最新白光 LED 的研究成果更是激动人心。小功率 LED 的发光效率已达100lm/W。特别是 RGBLED 的研究结果表明,LED 也与常规三基色荧光灯一样,可以获得各种不同的色温和均匀的照明环境。LED 光源的进展和人们对它在照明领域中应用的期待,也对相应的光学检测技术有了新的要求。由于 LED 的光学特性与传统光源有较大差别,需要研究开发适应这种新型光源的测量方法。单片机具有小巧、低功耗、控制功能强的优点。把它做到产品的内部,取代部分电子元器件,可使产品体积缩小,功能增强,实
7、现不同程度的智能化,这是其它任何计算机无法比拟的。日常生活中含单片机的电器产品:电子秤、便携式心率监护仪、中频电疗仪、高级玩具、电视机、洗衣机、电冰箱、电磁炉、微波炉、空调、家用防盗报警器等产品中都有单片机的用武之地。智能化的仪器仪表:这是国内目前应用单片机最多、最活跃的领域。在各类仪器仪表中(包括温度、湿度、流量、流速、电压、频率、功率、厚度、角度、长度、硬度、元素测定等) ,引入单片机,使仪器仪表数字化、智能化、微型化,功能大大提高。 如:精密数字温度计、湿度控制仪、智能流量监测控制仪、便携式流速仪、频率计、智能电度表、智能示波器、智能转速数字显示、黑匣子等。本文介绍了一种把单片机做入 L
8、ED 显示屏的系统,使其能更方便更快捷的使用。.页眉.页脚2、 LED 显示基础2.1 发光二极管发光二极管简称 LED(Light Emitting Diode) ,是半导体二极管的一种,可以把电能转化成光能。发光二极管由 GaAs(砷化镓) 、GaP(磷化镓) 、GaAsP(磷砷化镓)等半导体制成的,其核心是 PN 结。因此它具有一般 PN 结的 I-N 特性,即正向导通,反向截止、击穿特性。此外,在一定条件下,它还具有发光特性。在正向电压下,电子由 N 区注入 P 区,空穴由 P 区注入 N 区。进入对方区域的少数载流子一部分与多数载流子复合而发光,光的强弱与电流有关。图 2.1 发光二
9、极管的电路图形符号 图 2.2 LED 实物a)新图形符号 b)旧图形符号2.2 点阵 LED 显示屏系统点阵 LED 显示屏是由很多的 LED 纵横排列成一个显示矩阵,点阵中的某些 LED 被点亮的时候,就能显示出相应的文字或图形等。 根据划分标准的不同,LED 显示屏可以有很多种类。例如,按显示颜色分为:单色 LED 显示屏,双色 LED 显示屏和全彩色 (三基色)LED 显示屏;按显示内容分为 LED 图文显示屏、 LED 图像显示屏等。根据 LED 点阵大小有44、48、57、58、 88、1616、2424、4040 等多种分类;LED 显示屏系统的主要功能是实现对显示信息的接收、处
10、理、存储和显示。为达到功能设计要求目标,有很多技术路线和设计方案可供选择。例如,作为LED 信息显示屏系统主体的主控模板可以是嵌入到 LED 显示屏驱动电路中的单片机系统,也可以是独立的微机系统或者是微机+单片机主从控制系统。.页眉.页脚本实验采用的 LED 显示屏是三色 LED 点阵屏,可显示红色,绿色和橙色,实际上只有红色 LED 和绿色 LED,如果红色和绿色 LED 同时亮即为橙色;点阵大小是 1616(可显示 1 个汉字) ,显示屏共由 8 个 1616LED 点阵组成(即可显示 8 个汉字) ,每个 1616LED 点阵共有 256 个红色发光二极管和 256 个绿色发光二极管;L
11、ED 点阵显示屏由 NXP 公司(恩智浦,原飞利浦半导体部门)的 P89C668 单片机控制,单片机有两种工作状态:ISP 表示程序下载状态,RUN表示程序运行状态(需先下载程序到 Flash 中) ,其系统结构如图 2.3 所示。图 2.3 LED 显示屏系统结构图2.3 LED 驱动2.3.1 LED 驱动芯片LED 的控制是由驱动芯片完成的,LED 驱动芯片可分为通用芯片和专用芯片两种。所谓的通用芯片,其芯片本身并非专门为 LED 而设计,而是一些具有 LED 显示屏部分逻辑功能的逻辑芯片 ( 如串-并移位寄存器 ) 。通用芯片一般用于 LED 显示屏的低档产品,如户内的单色屏,双色屏等
12、。最常用的通用芯片是 74HC595。74HC595 具有 8 位锁存、串并移位寄存器和三态输出。每路最大可输出 35mA 的电流 ( 非恒流 ) 。一般的 IC 厂家都可生产此类芯片。显示屏行业中常用 Motorola、Philips 及 ST 等厂家的产品。专用芯片是指按照 LED 发光特性而设计专门用于 LED 显示屏的驱动芯片。1 6 1 6L E D1 6 1 6L E D1 6 1 6L E D1 6 1 6L E D1 6 1 6L E D1 6 1 6L E D1 6 1 6L E D1 6 1 6L E D驱动电路P 8 9 C 6 6 8单片机控制器R S 2 3 2 通信
13、编程和下载.页眉.页脚LED 是电流特性器件,即在饱和导通的前提下,其亮度随着电流的变化而变化,而不是靠调节其两端的电压而变化。因此专用芯片一个最大的特点就是提供恒流源。恒流源可以保证 LED 的稳定驱动,消除 LED 的闪烁现象,是 LED 显示屏显示高品质画面的前提。有些专用芯片还针对不同行业的要求增加了一些特殊的功能,如亮度调节、错误检测等。LED 显示屏专用驱动芯片生产厂家主要有 TOSHIBA(东芝) 、TI( 德州仪器) 、SONY(索尼) 、MBI聚积科技 、SITI( 点晶科技) 等。本实验系统的 LED 驱动芯片型号是东芝公司的 TB62701,其系列产品还有有 TB6270
14、5、TB62706 、TB62725、TB62726、TB62718、TB62719、TB62727 等。TB62701 的引脚和外形图如图 2.4 所示,其各引脚功能见表 1.1。TB62701 是专为 LED 显示面版设计的驱动 IC,它内建的 CMOS 位移寄存器器与锁存功能,可以将串行的输入数据转换成平行输出数据格式。TB62701 的 16 个电流源,可以在每个输图 2.4 TB62701 引脚和外形出级提供 5-50 mA 定电流量以驱动 LED。其功能方块图见图 2.4,时序图见图2.6。.页眉.页脚表 2.1 引脚名称和功能表引脚序号 PIN NAME 引脚名称 功能1 GND
15、 地 控制逻辑及驱动电流之接地端2 Serial-IN 串行输入端 位移寄存器数据输入端3 CLOCK 时钟 在时钟上升沿传输数据4 LATCH 锁存 当 LATCH 是高电平时,串行数据会被传入至输出锁存器;当 LATCH 是低电平时,数据被锁住24 VDD 电源 电源供应端5121320OUT0-OUT15 电流输出端 等电流输出端21 ENABLE 使能端 当 ENABLE 是低电平时(且锁存 LATCH 是高电平时) ,即会启动 OUT0 OUT15 输出;当 ENABLE 是高电平时,OUT0OUT15 输出会被关闭 (不驱动电流)。22 Serial-OUT 串行输出端 串行数据输
16、出端;可接至下一个驱动器之输入端23 R-EXT 连接外接电阻之输入端;此外接电阻可设定所有输出通道之输出电流。图 2.5 功能方块图.页眉.页脚图 2.6 时序图2.3.2 动态扫描从理论上讲,不论显示图形还是文字,只要控制与组成这些图形的或文字的各个点所在位置相对的 LED 器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光电亮灭的方法称为静态驱动显示方式。1616LED 的点阵共有 256 个发光二极管,显然单片机没有这么多端口,假设我们采用锁存器来扩展端口,按 8 位的锁存器来计算,1616 的点阵需要 256/832 个锁存器。这个数字很庞大,因为我们仅仅是 1616 的点
17、阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方式。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如 16 行)的同名列共用一套列驱动器。具体就 1616 的点阵来说,把所有同 1 行的发光管点亮灭的数据锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮的同时,然后燃灭;第十六行之后,又从新燃亮第一行,反复轮回。当这样轮回的速度足够快(每秒 24 次以上) ,由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形
18、了。 显示数据通常在存储在单片机的存储器中,按 8 位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动电路的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。采用串行传输方式,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。2.3.3 驱动电路原理表 2.2 单片机输出引脚与驱动电路对应关系单片机引脚 程序中变量名 作用 对应 TB62701 引脚P2.0 OTB_IO 行扫描信
19、号P2.1 TB_CLK 串行时钟脉冲 3(Clock)P2.2 LATCH 数据锁存 4(LATCH)P2.3 TENABLE 绿色 LED 使能 21(ENABLE)P2.4 ENABLE 红色 LED 使能 21(ENABLE)P2.5 TTB_IO 绿色 LED 串行输出 2 (Serial-IN)P2.6 TB_IO 红色 LED 串行输出 2 (Serial-IN).页眉.页脚每个模块(即每套电路)上有 9 块东芝公司的 TB62701 芯片。其驱动原理图如图 2.7 所示,实际上 LED 点阵在驱动电路的正下方,图中为表示方便,将LED 点阵和驱动电路画在同一平面上。其中 TB6
20、2701 芯片 IC1 负责两个 LED 点阵的行扫描。芯片 2、4、 、6 和 8 负责红色 LED 驱动,芯片 3、5、7 和 9 负责绿色 LED 驱动(其中每个芯片只负责显示 16 行中的 8 行,即完整显示一个汉字需要 2 个芯片同时起作用)具体是: 左侧 LED1:芯片 IC2 连接图中上部红色 LED1 的 16 根列信号(驱动上 8 行信号) ;芯片 IC4 连接图中下部红色 LED1 的 16 根列信号(驱动下 8 行信号) ;芯片 IC3 连接图中上部绿色 LED1 的 16 根列信号(驱动上 8 行信号) ;芯片 IC5 连接图中下部绿色 LED1 的 16 根列信号(驱
21、动下 8 行信号) ;右侧 LED2(画线省略):芯片 IC6 连接图中上部红色 LED2 的 16 根列信号(驱动上 8 行信号) ;芯片 IC8 连接图中下部红色 LED2 的 16 根列信号(驱动下 8 行信号) ;芯片 IC7 连接图中上部绿色 LED2 的 16 根列信号(驱动上 8 行信号) ;芯片 IC9 连接图中下部绿色 LED2 的 16 根列信号(驱动下 8 行信号) ;芯片 2-9 共用同一个时钟信号(P2.1 TB_CLK) ,芯片 1-9 共用同一个锁存信号(P2.2 LATCH) ,芯片 2、4、6 和 8 共用一个使能信号(P2.4 ENABLE) ,串行数据的流
22、动顺序是 IC2 IC4IC6IC8;芯片 3、5、7 和 9 共用一个使能信号(P2.3 TENABLE) ,串行数据的流动顺序是 IC3 IC5IC7IC9;如果同时使能 P2.3 和 P2.4,就会产生橙色 LED 显示。 单片机发出的控制信号通过 7 芯连接线首先传递到模块 1(IN) ,再由模块1 的输出(OUT)传递到模块 2 的输入(IN) ,以此方法顺序连到模块 4。因此,每次行扫描时 LED 列方向要输出 32 个字节,每个模块输出 4 个字节(即驱动每个 LED 要 2 个字节,上半部 1 个字节(07 行) ,下半部 1 个字节(815 行) ) 。.页眉.页脚图 2.7
23、 LED 显示屏系统信号流动顺序图2.4 汉字显示原理汉字在计算机中是以图形方式显示的,这种图形是用点阵方式表示的,一般我们使用 16*16 的点阵宋体字库(HZK16) ,所谓 16*16,是每一个汉字在纵、横各 16 点的区域内显示的,即每个汉字由 256 个点组成。此外还有HZK12、HZK24,HZK32 和 HZK48 字库及黑体、楷体和隶书字库。文字在屏幕上显示涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的A在字模中是这样记载的:图 2.8 “A”的字模而中文的“你”在字模中却是这样记载的:1 6
24、 1 6L E DP 8 9 C 6 6 8OUTINOUTINOUTINOUTIN模 块 1模 块 21 6 1 6L E D1 6 1 6L E D1 6 1 6L E D1 6 1 6L E D1 6 1 6L E D1 6 1 6L E D1 6 1 6L E D模 块 3模 块 47 芯 连 接 线7 芯 连 接 线7 芯 连 接 线7 芯 连 接 线.页眉.页脚图 2.9 “你”的字模256 个点由 32 个字节组成(328=256),字模可以通过专门软件获得。3、 LED 显示的应用程序实例.页眉.页脚3.1 生成字模3.1.1 用 PCtoLCD2002 软件进行文字的输入图
25、3.1 软件地址在光盘中打开 PCtoLCD2002 的文件夹,双击 PCtoLCD2002,打开软件。图 3.2 软件开始界面点击选项,对输出字模格式进行设置。图 3.3 软件设置界面点阵格式选择“阴码” ,取模走向选择“顺向” ,自定义格式中的选择.页眉.页脚“C51 格式” ,行前缀为空,行后缀为“,” 。然后按确定退出。在文字输入栏中输入你想要的文字。点击旁边的生成字模按钮生成你所需要的字模。最后,选中生成的字模粘贴到你所创建的文本文档中。图 3.4 取“第二工业大学”字模你还可以根据得你的需要,调整像素的位置和对字符进行翻转。在PCtoLCD2002 中,你还可以根据你的喜好选择字体
26、,对字体进行加粗,倾斜或加下划线等文字处理,而这些是 Lattice 所不能提供的。3.1.2 用 PCtoLCD2002 软件进行英文、数字和符号的输入由于英文、数字和符号都是半角字符,因此在 1616 的字符取模中会产生错位,我们为此提供了一种解决办法:.页眉.页脚。图 3.5 原始字符字模其他步骤与前面中文的输入步骤相同。图 3.6 增加空白后的字符字模在输入英文、数字和符号后,我们在右上角修改点阵大小中向右增加一列空白,共增加八列。中文和英文字符可以选择不同的字体。.页眉.页脚3.1.3 用 PCtoLCD2002 软件生成图像的字模在模式选择中选择图形模式,点击新建,新建一个宽为 1
27、28 高为 16 的点阵。左键为填充该点,右键为删除,最后点击生成字模。3.2 在 Keil 环境建立工程1)建立文件夹,命名工程文件。图 3.7 新建工程2)选择目标设备厂商为 Philips,芯片型号为 P89C668。.页眉.页脚图 3.8 选择单片机3)添加 8051 标准启动代码文件到所建立的工程中。4)添加 C 文件,将刚才生成的字模文本拷入到 C 文件中。图 3.9 添加 C 文件5)编译和创建目标。3.3 下载程序1)在 LED 显示屏断电的情况下,插入 9 针串口通信线接口(RS232) 。2)将 LED 显示屏接通电源。3)将选择开关拨在“ISP”位置(在系统编程 ISP-
28、In System Programming) , 下载程序状态。4)按下 Reset 按钮。.页眉.页脚5)启动 Flash Magic 烧入程序,选择所使用的串口号(Com1 或 Com2) ,波特率默认为 9600,Device 项选择“89C668” ,晶振输入 40MHz,选中图中数字 2 位置的“Erase all Flash+Security” ,按“Start”将程序下载到单片机的 Flash 中。当软件状态栏显示“Finish”时,说明程序下载成功。如出现下面的对话框,则表示串口连接出现问题,检查串口连接。图 3.10 问题对话框图 3.11 Flash Magic 程序预设置
29、6)将选择开关拨到“RUN”位置,按下“RESET”按钮,LED 显示屏会显示刚才所编译的程序。3.4 LED 显示设计.页眉.页脚3.4.1LED 显示 8 个汉字图 3.12 发送代码“1”显示汉字图 3.13 发送代码“2”显示汉字图 3.14 发送代码“3”显示汉字此段程序代码:if(j0;i-) /循环 8 次,写入 8 位数据,从低位到高位 TB_IO=BIT7; /将 ACC7 的值赋给红色 LED 串行输入端TTB_IO=BIT7; /将 ACC7 的值赋给绿色 LED 串行输入端TB_CLK=0;for(j=10;j0;j-);TB_CLK=1; /在时钟线的上升沿写入 1 位数据ACC=ACC0; i-)for(j=0; j100; j+);