视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
8 8LED点阵显示实验
2025-09-29 02:33:04 责编:小OO
文档
8 8LED点阵显示实验

一.实验要求

利用实验系统提供的实验模块点阵显示,编程实现中英文字符的显示。

二.实验目的

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

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

三.实验电路及连线

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

         

             Fig 22-0 WTD3088 LED分布

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

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

  

                Fig 22-1 LED模块及列扫描电路

 

                    Fig 22-2 行扫描电路

 

                    Fig 22-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 **

;****************************************************

CSLED EQU 8000H 

CSR1 EQU CSLED ;行1 273

CSR2 EQU CSLED+1H ;行2 273

CSC1 EQU CSLED+2H ;列1 374

CSC2 EQU CSLED+3H ;列2 374

ORG 0000H

MOV SP,#60H

INIT: MOV A,#0H ;关闭行

MOV DPTR,#CSR1

MOVX @DPTR,A

MOV DPTR,#CSR2

MOVX @DPTR,A

MOV A,#0FFH ;关闭列

MOV DPTR,#CSC1

MOVX @DPTR,A

MOV DPTR,#CSC2

MOVX @DPTR,A

D: MOV R5,#00H

MOV R4,#01H ;每次为单行扫描

DISP: 

MOV A,R5

MOV DPTR,#ASCE ;此处设定所要显示的字符

MOVC A,@A+DPTR

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

MOV DPTR,#CSC2

MOVX @DPTR,A

MOV DPTR,#CSR1

MOV A,R4

MOVX @DPTR,A

RL ACC

MOV R4,ACC

INC R5

LCALL DELAY

CJNE R5,#8H,DISP 

MOV A,#0H

MOVX @DPTR,A

MOV R5,#08H

MOV R4,#01H

DISP2: 

MOV A,R5

MOV DPTR,#ASCE

MOVC A,@A+DPTR

CPL ACC

MOV DPTR,#CSC2

MOVX @DPTR,A

MOV DPTR,#CSR2

MOV A,R4

MOVX @DPTR,A

RL ACC

MOV R4,ACC

INC R5

LCALL DELAY

CJNE R5,#10H,DISP2 

MOV A,#0H

MOVX @DPTR,A

SJMP D

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

DELAY: MOV R7,#1H

DL1: MOV R6,#00H

DL2: DJNZ R6,DL2

DJNZ R7,DL1

RET

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

; ASC16 字符编码排列

; 0

; 1

; |

; |

; 14

; 15

; 高位 D7--D0 

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

ASCA:DB 00H,00H,10H,38H,6CH,0C6H,0C6H,0FEH

DB 0C6H,0C6H,0C6H,0C6H,00H,00H,00H,00H

ASCE:DB 00H,00H,0FEH,66H,62H,68H,78H,68H

DB 60H,62H,66H,0FEH,00H,00H,00H,00H

ASCD:DB 00H,00H,0F8H,6CH,66H,66H,66H,66H

DB 66H,66H,6CH,0F8H,00H,00H,00H,00H

ASCK:DB 00H,00H,0E6H,66H,66H,6CH,78H,78H

DB 6CH,66H,66H,0E6H,00H,00H,00H,00H

;****************************************************

END

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

;*********LED 点阵显示示例程序***********************

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

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

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

;****************************************************

CSLED EQU 8000H 

CSR1 EQU CSLED ;行1 273

CSR2 EQU CSLED+1H ;行2 273

CSC1 EQU CSLED+2H ;列1 374

CSC2 EQU CSLED+3H ;列2 374

ORG 0000H

MOV SP,#60H

INIT: MOV A,#0H ;关闭LED显示

MOV DPTR,#CSR1

MOVX @DPTR,A

MOV DPTR,#CSR2

MOVX @DPTR,A

MOV A,#0FFH ;关闭LED显示

MOV DPTR,#CSC1

MOVX @DPTR,A

MOV DPTR,#CSC2

MOVX @DPTR,A

D: MOV R5,#00H

MOV R4,#01H

DISP: 

MOV A,R5

RL ACC

MOV DPTR,#HZAI

MOVC A,@A+DPTR

CPL ACC

MOV DPTR,#CSC2

MOVX @DPTR,A

MOV A,R5

RL ACC

INC ACC

MOV DPTR,#HZAI

MOVC A,@A+DPTR

CPL ACC

MOV DPTR,#CSC1

MOVX @DPTR,A

MOV DPTR,#CSR1

MOV A,R4

MOVX @DPTR,A

RL ACC

MOV R4,ACC

INC R5

LCALL DELAY

CJNE R5,#8H,DISP 

MOV A,#0H

MOVX @DPTR,A

MOV R5,#08H

MOV R4,#01H

DISP2: 

MOV A,R5

RL ACC

MOV DPTR,#HZAI

MOVC A,@A+DPTR

CPL ACC

MOV DPTR,#CSC2

MOVX @DPTR,A

MOV A,R5

RL ACC

INC ACC

MOV DPTR,#HZAI

MOVC A,@A+DPTR

CPL ACC

MOV DPTR,#CSC1

MOVX @DPTR,A

MOV DPTR,#CSR2

MOV A,R4

MOVX @DPTR,A

RL ACC

MOV R4,ACC

INC R5

LCALL DELAY

CJNE R5,#10H,DISP2 

MOV A,#0H

MOVX @DPTR,A

SJMP D

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

DELAY: MOV R7,#1H

DL1: MOV R6,#00H

DL2: DJNZ R6,DL2

DJNZ R7,DL1

RET

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

; HZ16 字符编码排列

; 0 1

; 2 3

; |

; |

; 28 29

; 30 31

; 高位 D7--D0 

HZAI:DB 00H,78H,3FH,80H,11H,10H,09H,20H

DB 7FH,0FEH,42H,02H,82H,04H,7FH,0F8H

DB 04H,00H,07H,0F0H,0AH,20H,09H,40H

DB 10H,80H,11H,60H,22H,1CH,0CH,08H

HZDI:DB 00H,80H,40H,80H,20H,88H,2FH,0FCH

DB 08H,88H,08H,88H,0E8H,88H,2FH,0F8H

DB 28H,88H,28H,88H,28H,88H,2FH,0F8H

DB 28H,08H,50H,06H,8FH,0FCH,00H,00H

HZKE:DB 01H,00H,01H,04H,0FFH,0FEH,01H,00H

DB 01H,10H,1FH,0F8H,10H,10H,10H,10H

DB 10H,10H,1FH,0F0H,14H,50H,04H,40H

DB 04H,40H,08H,42H,10H,42H,60H,3EH

;****************************************************

END下载本文

显示全文
专题