嵌入式LED点阵汉字显示系统的驱动与编码
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 3 地址译码电路
4 汉字的编码与显示程序模块
我国汉字数量繁多, 构形迥异, 给单片机控制显 示系统带来了困难。目前一般采用软件字库法和字 库芯片法。这两种方法将单片机的软硬件进行扩展 后可以显示更多的汉字, 适用于大型的 小型系统中 ,
[ 3]
2 系统总述
使用 4 块 LMM - 2088AE 组成 16 16 点阵, 以 满足汉字显示的要求。点阵显示模块的列输入线接 至内部 LED 的阴极端 , 行 输入线接至内 部 LED 的 阳极端。若某行的阳极端输入高电平 , 某列的阴极 端输入低电平 , 则对应该 LED 点亮。发光点的分布 如图 1 所示。
图1
L MM - 2088A E LED 的发光点分布
汪建 ( 1958- ) , 男 , 湖北人 , 教授。主研方向 : 智能仪器 , 自动检测和控制 , 电工理论及新技术。 收稿日期 : 2005- 09- 08
∀ 120∀
微
处
理
机
2007 年
如图 2 所示, 本系统使用 74LS374 来控制列输 入线的电平值。将 74LS374 的某输出置 0 , 则对应 的 LED 阴极端被置低 ; 使用 74LS273 来控制行输入 线 , 并通过 9013 提供电流驱动。将 74LS273 的某输
D riv ing and Cod ing on Embedded LED A rray C h inese - Character D isp la yin g System
WANG Jian , ZHANG L i- ju an
(Colleg e of E lectrica l and E lectron ic E ng ineering, H uazhong Un iv ersity of Science and Technology, W uhan 430074, Ch ina )
目前单片机和嵌入式系统初学者对ed点阵显示的基本原理理解还不够深入对其与单片机的接口和驱动等尚不很清楚他们急切需要一个结构清晰易于上手学习的ed点阵显示试验单元来巩固所学到的书本知识基于实际应用和教学的需要设计了这个高效一方面用户可以自行编制汉字代码甚至组成字库来灵活显示所需要的语句
第 1期 2007年 2 月
出置 1 , 则对应的 LED 阳极端被置高。每次系统总 清后 , 74LS273 输出为全 0 , LED 熄灭。编程控制各 显示点对应 LED 阳极和阴极端的电平 , 就可以有效 的控制各显示点的亮灭。
图 2 点阵汉字显示系统框图
3 地址译码电路
本实验模块为了方便的控制四个 LMM 2088AE 单元, 使用了一片 74LS139 结合 8253 计数器 , 产生 四个 地 址 片 选 信 号: CLKR1 = CSLED, CLKR2 = CSLED + 2 , 用 于行 控 制 的两 片 74LS273 , 分 别接 74LS139 的 4 、 5 脚; CLKC1 = CSLED + 4 , CLKC2= CSLED + 6 , 用 于列 控 制 的两 片 74LS374 , 分 别接 74LS139 的 6 、 7 脚, 如图 3 所示。
微
处
理
机
MI CROPRO CE SSOR S
N o. 1 Feb. , 2007
嵌入式 LED 点阵汉字显示系统的驱动与编码
汪 建, 张丽娟
(华中科技大学电气与电子工程学院 , 武汉 430074) 摘 要 : 论述了一种小型嵌入式 LED 点阵显示系统的驱动电路和汉字编码方法; 驱动电路采 用行驱动芯片 74LS273 和 9013 , 列驱动芯片 74LS374 , 结合寻址电路, 对每个 LED 点动态驱动; 显 示程序采用行扫描, 列顺序输出码值的方法, 结合四段式汉字编码方法 , 无间断和延迟的在 LED 阵 上输出汉字 。整个系统试验后运行稳定美观, 功耗低, 且有很大的扩展空间 。 关键词 : 嵌入式系统; LED 点阵; 汉字显示系统; 8098 单片机 中图分类号 : TP368 . 1 文献标识码 : B 文章编号: 1002- 2279( 2007) 01- 0119- 03
[ 2] [ 1]
可靠的基于 8098 单片机的汉字点阵式显示模块 。 一方面, 用户可以自行编制汉字代码甚至组成字库 来灵活显示所需要的语句; 另一方面, 可用于学生实 验, 使学生 动手学 习后深 刻理 解单 片机 对点阵 式 LED 的控制原理 , 掌握文中所 述的汉字编码方 法, 并同时提高搭制硬件电路的动手能力。
必然会占用大量软硬件资源 , 给用户的维护和灵活 利用带来了困难。 另一方面 , 任何字库的基础都是单个汉字的编 码。研究一种简便适用的汉字编码方法, 也为编制
1期
汪 建等 : 嵌入式 LED 点阵汉字显示系统的驱动与编码
∀ 121∀
电平记录发光点所在的行 , 行顺序上的从上到下对 应码值的高位到低位。由于是按行顺序输出点阵 , 所以这两段字码对于任何汉字都是一样的 , 扩充字 库时可重复使用。参考图 4 , 下面是汉字 华 !的编 码: TABR1 : DB # 00 H, # 00 H, # 02 H, # 06 H, # 08 H, # 3FH, # 22H, # 02H DB # 3FH, # 05H, # 09H, # 11H, # 01H, # 00 H, # 00 H, # 00 H TABR2 : DB # 00 H, # 00 H, # 20 H, # 20 H, # 20 H, # 0A0H, # 20 H, # 0F8 H DB # 20 H, # 20 H, # 20 H, # 20 H, # 20 H, # 00 H, # 00 H, # 00 H TABC1 : DB # 7FH, # 0BFH, # 0DFH, # 0EFH, # 0F7H, # 0FBH, # 0FDH, # 0FEH DB # 0FFH, # 0FFH, # 0FFH, # 0FFH, # 0FFH, # 0FFH, # 0FFH, # 0FFH TABC2 : DB # 0FFH, # 0FFH, # 0FFH, # 0FFH, # 0FFH, # 0FFH, # 0FFH, # 0FFH DB # 7FH, # 0BFH, # 0DFH, # 0EFH, # 0F7H, # 0FBH, # 0FDH, # 0FEH
1 引
言
LED 点 阵 显示 系 统 基本 原 理 是使 用 高 亮度 LED 发光管构成点阵, 通过编程控制显示中英文字 符、 图形及视频动态图形。 LED 显示以其组构方式 灵活、 亮度高、 成本低廉等特点在各种室内外显示场 所得到广泛的应用 。目前使用的 大规模点阵显 示系统采用专用大规模集成电路和专业软件实现对 汉字的显示 , 价格昂贵且不易精简使用或开发其它 可扩展功能。因此一种 可运用于小型 嵌入式 LED 屏幕信息系统的研制对于实现用户 灵活开发使用 LED 点阵显示汉字具有重大意义。 显示字符的点阵数据可以自行编写, 也可从标 [ 2] 准字库 ( 如 ASC16 、 HZ16) 中提取。但不管是自己 编写字库还是直接调用字库 , 都需要正确掌握汉字 的编码方法和寻址技 巧 。目前单 片机和嵌入式 系统初学者对 LED 点阵显示的基本原理理解还不 够深入 , 对其与单片机的接口和驱动等尚不很清楚。 他们急切需要一个结构清晰、 易于上手学习的 LED 点阵显示试验单元来巩固所学到的书本知识。 基于实际应用和教学的需要, 设计了这个高效
大型的标准字库提供了坚实的基础。我们基于小型 汉字显示系统的需要, 开发出了一种美观、 易于学习 的 16 16 汉字编码方法。试验表明此编码方法非 常适用于制作醒目的小型欢迎标语等, 价格低廉 , 性 能可靠。 我们采用的方法是 : 行扫描 , 列顺序输出码值。 由于 16 16 点阵是由 4 块 8 8 点阵组成 , 所以我 们理论上的一行或一列实际上是两块芯片一行或一 列的合并。如果只为了程序逻辑上的简洁, 码表就 会编制的很紊乱, 甚至会出现 LED 点亮的时间不一 致的情况。为了解决这个问题我们使用了 4 段字码 表, 前两段是按列顺序分别输出左右两边的行码值, 后两段是按行顺序分别输出上下两边的列码值。而 程序中索引码值时则采用每次读取每段码值的一个 值, 这种方法保证了 LED 每一列点亮时间的一致, 行顺序上也因为相隔时间只有 s 级而人眼觉察不 到不一致 ; 另一方面, 汉字码表的编制清晰明了, 便 于扩充字库。下面我们以汉字 华 !为例来说明这 种编码方法。 按左上、 右上、 左下、 右下的顺序, 分别以 1 、 2 、 3 、 4 标识这四块 LMM - 2088AE。段码 TABR1 按列 顺序 记 录 1 、2 两 块 的 行 码 值, 即 上 8 行; 段 码 TABR2按 列顺 序记 录 3 、 4 两 块的 行码 值, 即下 8 行; TABR1 和 TABR2 这两段码都以高电平 记录发 光点段码 , 列顺序上的从左到右对应码值的高位到 低位。 TABC1按行顺序记录 1 、 3 两块每列的码值, 即左 8 列 ; TABC2 按行顺序记录 2, 4 两块每列的码 值, 即右 8 列。 TABC1 和 TABC2 这 两段码都 以低
Abstract : T he driving circuit and a m ethod of Ch in ese character cod in g in an em bedded LED array disp lay system are d iscussed in th is paper . 74LS273 and 9013 w ork as row driving ch ip , and 74LS374 w orks as lin e driv in g ch ip ; they w ork w ith the address- seek ing circui, t dyna m ica lly drive each LED do; t in display program, the approach o f row - scann in g , outpu t code in line order , w ith 4 - segm en t coding, disp lay Chin ese character in a LED array w ithou t pause and delay. T he system runs steadily and aesthetically w ith low cos. t It has room for ex tend ing fu nct ions. K ey words : Em bedded system; LED array; Ch in ese - Character D isplay in g System; 8098 sing le- chip contro ller
LDB BL, # 0FFH STB BH, CLKR1[ 0] STB BH, CLKR2[ 0] STB BL, CLKC1[ 0] STB BL, CLKC2[ 0] SET _ H: LDB AH, # 10H ; 设置循环次数 LOOP: ; 显示 !程序段 STB BL, CLKC1[ 0] ; 将所有列置高 , 清除上一 次扫描的显示 , 以免干扰 STB BL, CLKC2[ 0] LDB AL, [ CX ] + ; 送 第一行 左八列 的码值 到 74LS237 STB AL, CLKR1[ 0] LDB AL, [ DX ] + ; 送 第一 行右 八列 的码值 到 74LS237 STB AL, CLKR2[ 0] LDB AL, [ EX ] + ; 送 第一列 上八行 的码值 到 74LS374 STB AL, CLKC1[ 0] LDB AL, [ FX ] + ; 送第一 列下 八行 的码值 到 74LS374 STB AL, CLKC2[ 0] LCALL DELAY ; 延时 LCALL CD ISP2 ; 清除显示 DJNZ AH, LOOP 以上只是举例说明了单个汉字的静态显示, 本 系统也可以实现多个汉字的动态显示 , 即在扩展的 寻址空间内, 依次把下一个要显示的汉字送入一个 16 16点阵块 , 使几个汉字点阵保持 同速不同相 ! 的显示, 就可以灵活的实现用户所需的左移右移等 功能。鉴于篇幅所限, 在此不作详述。