led点阵显示程序

一.实验要求
编程实现中英文字符的显示。
二.实验目的
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

无缝通信:工业4.0的支柱
高速公路“预防结冰”道路测温系统介绍
Google已停止生产出色的中端Pixel 3A和Pixel 3A XL手机
SEMICON China/FPD China 2023将于6月29日在沪开幕
钱不是万能的?中国大陆最棒的芯片代工厂商不想被清华紫光并购
led点阵显示程序
CASAIM参与中国船级社《三维扫描测量技术在新造船过程控制和检验》》研究项目结题评审会
福特采用3D打印技术为车主提供专属生物识别防盗
EX机器人联合创始人、CEO李博阳:人形机器人产业已进入快速发展时期
MS1835芯片简介 VGA转AV&SV开发板/VGA转AV晶片/VGA转S-Video转换器
机器视觉正在加速向产业端渗透
锁相环CD4046的原理_CD4046的引脚图及功能_CD4046典型应用电路
尖端可穿戴式与传感器技术,可窥见医疗保健的未来
Everspin和Globalfoundries将其MRAM协议扩展到12nm工艺
智慧农业架构解读
变频远程监测控制系统在油田中研究与应用
iPhone13Pro Max和iPhone12Pro Max哪个更好
首款用于ADAS和AD研发的公开传感器数据集——Leddar PixSet
引线框架类封裝介绍
路坦力、英伟达、纳多德强强联合携手打造数字新引擎