led点阵显示实验

发布时间:2/11/2015 | 113 次阅读

一.实验要求

编程实现中英文字符的显示。

二.实验目的

1.了解led点阵显示的基本原理和实现方法。

2.掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法。

三.实验电路及连线

点阵显示模块wtd3088的(红色)列输入线接至内部led的阴极端,行输入线接至内部led的阳极端(若阳极端输入为高电平,阴极端输入低电平,则该led点亮)。发光点的分布如图22-0所示。

fig22-0wtd3088led分布

如图22-1示,本实验模块使用74ls374来控制列输入线的电平值。将74ls374的某输出置0,则对应的led阴极端被置低。如图22-2示,本实验模块使用74ls273来控制行输入线,并通过9013提供电流驱动。将74ls273的某输出置1,则对应的led阳极端被置高。每次系统重新开启或总清后,74ls273输出为全0,led显示被关闭。

通过编程控制各显示点对应led阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。

fig22-1led模块及列扫描电路

fig22-2行扫描电路

fig22-3地址译码电路

本实验模块使用4块wtd3088组成16×16点阵,以满足汉字显示的要求。为了方便的控制四个单元,使用了一片74ls139译码,产生四个地址片选信号:clkr1=csled,clkr2=csled+1,用于行控制的两片74ls273;clkc1=csled+2,clkc2=csled+3,用于列控制的两片74ls374。

实验接线:按示例程序,模块的csled接51/96地址的8000h。

四.实验说明

使用高亮度led发光管构成点阵,通过编程控制可以显示中英文字符、图形及视频动态图形。led显示以其组构方式灵活、亮度高、技术成熟、成本低廉等特点在证券、运动场馆及各种室内/外显示场合得到广泛的应用。

所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库(如asc16、hz16)中提取。后者需要正确掌握字库的编码方法和字符定位的计算。

实验盘片中“字符转换”子目录下提供的basc16.exe,bhz16.exe可方便的将单个字符的码表从标准字库asc16,hzk16中提取出来。具体使用方法是运行上述可执行程序,根据提示输入所需字符(如是汉字还需要先启动dos下的汉字环境,如ucdos,pdos95等)。程序将该字符的码表提取出来,存放在该字符asc或区位码为文件名称的.dat文件中。用户只需将该文件中内容拷贝、粘贴到自己的程序中即可。但需要注意字节排列顺序、字节中每一位与具体显示点的一一对应关系,必要时还要对码表稍作修改。同一目录下还提供了上述可执行程序的源文件,使用bc3.1编写,供用户参考。

五.实验程序框图

用户应留心其中行扫描的实现及码表的处理。

六.实验程序:

(一)提供leda51演示asc16字符的简单点阵显示。

*********led点阵显示示例程序***********************

**该程序显示asc16字符**

**为了简单起见,程序只显示一个字符**

**该程序针对t598实验机的模块14**

****************************************************

csledequ8000h

csr1equcsled;行1273

csr2equcsled+1h;行2273

csc1equcsled+2h;列1374

csc2equcsled+3h;列2374

org0000h

movsp,#60h

init:mova,#0h;关闭行

movdptr,#csr1

movx@dptr,a

movdptr,#csr2

movx@dptr,a

mova,#0ffh;关闭列

movdptr,#csc1

movx@dptr,a

movdptr,#csc2

movx@dptr,a

d:movr5,#00h

movr4,#01h;每次为单行扫描

disp:

mova,r5

movdptr,#asce;此处设定所要显示的字符

movca,@a+dptr

cplacc;代码取反,决定显示的阴阳

movdptr,#csc2

movx@dptr,a

movdptr,#csr1

mova,r4

movx@dptr,a

rlacc

movr4,acc

incr5

lcalldelay

cjner5,#8h,disp

mova,#0h

movx@dptr,a

movr5,#08h

movr4,#01h

disp2:

mova,r5

movdptr,#asce

movca,@a+dptr

cplacc

movdptr,#csc2

movx@dptr,a

movdptr,#csr2

mova,r4

movx@dptr,a

rlacc

movr4,acc

incr5

lcalldelay

cjner5,#10h,disp2

mova,#0h

movx@dptr,a

sjmpd

********延时子程序,协调字符显示速度*************

delay:movr7,#1h

dl1:movr6,#00h

dl2:djnzr6,dl2

djnzr7,dl1

ret

********字符点阵字库***************

asc16字符编码排列

0

1

|

|

14

15

高位d7--d0

请注意编码的排列次序和实际显示点阵分布的关系

asca:db00h,00h,10h,38h,6ch,0c6h,0c6h,0feh

db0c6h,0c6h,0c6h,0c6h,00h,00h,00h,00h

asce:db00h,00h,0feh,66h,62h,68h,78h,68h

db60h,62h,66h,0feh,00h,00h,00h,00h

ascd:db00h,00h,0f8h,6ch,66h,66h,66h,66h

db66h,66h,6ch,0f8h,00h,00h,00h,00h

asck:db00h,00h,0e6h,66h,66h,6ch,78h,78h

db6ch,66h,66h,0e6h,00h,00h,00h,00h

****************************************************

end

(二)ledhz51两个示例程序。和hz16字符的简单点阵显示。

*********led点阵显示示例程序***********************

**该程序显示hz16字符**

**为了简单起见,程序只显示一个字符**

**该程序针对t598实验机的模块14**

****************************************************

csledequ8000h

csr1equcsled;行1273

csr2equcsled+1h;行2273

csc1equcsled+2h;列1374

csc2equcsled+3h;列2374

org0000h

movsp,#60h

init:mova,#0h;关闭led显示

movdptr,#csr1

movx@dptr,a

movdptr,#csr2

movx@dptr,a

mova,#0ffh;关闭led显示

movdptr,#csc1

movx@dptr,a

movdptr,#csc2

movx@dptr,a

d:movr5,#00h

movr4,#01h

disp:

mova,r5

rlacc

movdptr,#hzai

movca,@a+dptr

cplacc

movdptr,#csc2

movx@dptr,a

mova,r5

rlacc

incacc

movdptr,#hzai

movca,@a+dptr

cplacc

movdptr,#csc1

movx@dptr,a

movdptr,#csr1

mova,r4

movx@dptr,a

rlacc

movr4,acc

incr5

lcalldelay

cjner5,#8h,disp

mova,#0h

movx@dptr,a

movr5,#08h

movr4,#01h

disp2:

mova,r5

rlacc

movdptr,#hzai

movca,@a+dptr

cplacc

movdptr,#csc2

movx@dptr,a

mova,r5

rlacc

incacc

movdptr,#hzai

movca,@a+dptr

cplacc

movdptr,#csc1

movx@dptr,a

movdptr,#csr2

mova,r4

movx@dptr,a

rlacc

movr4,acc

incr5

lcalldelay

cjner5,#10h,disp2

mova,#0h

movx@dptr,a

sjmpd

********延时子程序,协调字符显示速度*************

delay:movr7,#1h

dl1:movr6,#00h

dl2:djnzr6,dl2

djnzr7,dl1

ret

********字符点阵字库***************

hz16字符编码排列

01

23

|

|

2829

3031

高位d7--d0

hzai:db00h,78h,3fh,80h,11h,10h,09h,20h

db7fh,0feh,42h,02h,82h,04h,7fh,0f8h

db04h,00h,07h,0f0h,0ah,20h,09h,40h

db10h,80h,11h,60h,22h,1ch,0ch,08h

hzdi:db00h,80h,40h,80h,20h,88h,2fh,0fch

db08h,88h,08h,88h,0e8h,88h,2fh,0f8h

db28h,88h,28h,88h,28h,88h,2fh,0f8h

db28h,08h,50h,06h,8fh,0fch,00h,00h

hzke:db01h,00h,01h,04h,0ffh,0feh,01h,00h

db01h,10h,1fh,0f8h,10h,10h,10h,10h

db10h,10h,1fh,0f0h,14h,50h,04h,40h

db04h,40h,08h,42h,10h,42h,60h,3eh

****************************************************

end

深圳市鹏拓发展电子
  • 联系人:马先生 林先生 马小姐

    975586346

  • 电话:0755-82773839
  • 邮箱: prydz168@qq.com
  • 地址:深圳市福田区华强北华联发大厦六楼635房
深圳市瑞斯特电子科技有限公司
  • 联系人:杨锐锋

    515035790

  • 电话:0755-82550910/13189682405
  • 邮箱:szruist@126.com
  • 地址:深圳福田区华强广场二楼Q2B046
北京元坤伟业科技有限公司
  • 联系人:刘先生

    1584878981/378319812

  • 电话:010-62104931/62104891/62104578/62106431/62104791
  • 邮箱:sale1@yuankun24.com
  • 地址:北京市海淀区中关村大街32号和盛嘉业大厦10层1008室