点阵式汉字LED显示屏的原理与制作(精)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机应用
电子报 /2004年 /08月 /08日 /第 011版 /
点阵式汉字 L ED 显示屏的原理与制作
深圳石学军
本文介绍一种实用汉字显示屏的制作。该显示屏使用 256只高亮度发光二极管组成 16×16点阵。为降低制作难度 , 此处仅作了一个字的轮流显示。
每个字由 16×16点阵组成 , 每点为一个像素 , 每个字的字形为一幅图像 , 故此屏既可以显示汉字 , 也可以显示 256像素范围内的任何图形。下面以显示“大” 字为例说明其扫描原理。
在 UCDOS 宋体字库中 , 每个字由 16×16, , 一个字要拆分为上、下两部分 , 由两个 8×16
部分 , 即第 0列的 P00~, 时 , 只有 P05点亮 , 即 04H 。 , 即从 P27向 P20方向扫描 , 这一 , , , 依照这个方法 , 扫描 32个 8位 , 得出汉字“大” :04H、 00H 、
04H 、 02H 、 04H 、 02H 、 04H 、 04H 、 04H 、 08H 、 04H 、 30H 、 05H 、0C0H 、 0FEH 、 00H 、 05H 、 80H 、 04H 、 60H 、 04H 、 10H 、 04H 、
08H 、 04H 、 04H 、 0CH 、 06H 、 04H 、 04H 、 00H 、 00H 。
无论显示何种字体或图像 , 都可以用这个方法分析扫描代码。目前有很多现成的汉字字模生成软件 , 软件打开后输入汉字 , 点“检取” 键 , 即可自动生成十六进制汉字代码。此例使用 4-16线译码器 74L S154完成列显示 , 行的 16条线接 P0口和 P2口。源程序清单如下 :
OR G 00H
LOOP :MOVA , #0FFH ; 初始化
MOV P0,A ; 清 P0口
ANL P2, #00; 清 P2口
MOV R2, #200
D100MS :MOVR3, #250; 延时 100ms
DJ NZ R3,
$DJ NZ R2,D100MS
MOV 20H , #00H ; 取码指针的初值
1100:MOVR1, #100; 每个字的停留时间
L16:MOVR6, #16; 每个字 16个码
MOV R4, #00H ; 扫描指针清零
MOV R0,20H ; 取码指针存入 R0L3:MOVA ,R4; 扫描指针存 A MOV P1,A ; 扫描输出
INC R4; 扫描指针加 1
MOV A ,R0; 取码指针存 A
MOV DPTR , #TABL E ; 取上半部代码 MOVC A , @A +DPTR
MOV P0,A ; 输出到 P0
INC R0; 码指针加 1
MOV A ,R0
MOV DPTR , #TABL E ; 下半部代码 MOVC A , @A +DPTR
MOV P2,A ; 输出到 P2
口
INC R0
MOV R3, #02; 扫描 1DELA DJ $DJ R3,DELA
Y2
MOV A , #00H ; 清除屏幕
MOV P0,A
ANL P2, #00H
DJ NZ R6,L3; 一字 16
个码完成否 DJ NZ R1,L16; 停留时间到否
MOV 20H ,R0; 取码指针存入 20H C J N E R0, #0FFH ,L100;8个字 256个码完成否 J MP , LOOP
TABL E :汉字“倚” 、“ 天” 、“ 一” 、“ 出” 、“ 宝” 、“ 刀” 、“ 屠” 、“ 龙” 的代码 (略 end
将程序编译写入 89C51, 屏幕上轮流显示“倚天一出宝刀屠龙” 字样。读者可将程序中的汉字代码更换为所需要的汉字。