单片机应用电子报2004年08月08日第011版点阵式汉字LED显示屏的原理与制作深圳石学军本文介绍一种实用汉字显示屏的制作。该显示屏使用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。无论显示何种字体或图像都可以用这个方法分析扫描代码。目前有很多现成的汉字字模生成软件软件打开后输入汉字点“检取”键即可自动生成十六进制汉字代码。此例使用416线译码器74LS154完成列显示行的16条线接P0口和P2口。源程序清单如下ORG00HLOOPMOVA0FFH初始化
fMOVP0A清P0口ANLP200清P2口MOVR2200D100MSMOVR3250延时100msDJNZR3DJNZR2D100MSMOV20H00H取码指针的初值1100MOVR1100每个字的停留时间L16MOVR616每个字16个码MOVR400H扫描指针清零MOVR020H取码指针存入R0L3MOVAR4扫描指针存AMOVP1A扫描输出INCR4扫描指针加1MOVAR0取码指针存AMOVDPTRTABLE取上半部代码MOVCAADPTRMOVP0A输出到P0INCR0码指针加1MOVAR0MOVDPTRTABLE下半部代码MOVCAADPTR
fMOVP2A输出到P2口
INCR0
MOVR302扫描1DELADJDJR3DELAY2MOVA00H清除屏幕MOVP0AANLP200HDJNZR6L3一字16个码完成否DJNZR1L16停留时间到否MOV20HR0取码指针存入20HCJNER00FFHL1008个字256个码完成否JMPLOOPTABLE汉字“倚”、“天”、“一”、“出”、“宝”、“刀”、“屠”、“龙”的代码略e
d
f将程序编译写入89C51屏幕上轮流显示“倚天一出宝刀屠龙”字样。读者可将程序中的汉字代码更换为所需要的汉字。
fr