LED点阵汉字显示移动程序

LED点阵汉字显示移动程序,第1张

FOR T598D

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

CSLED EQU 8000H

CSc1 EQU CSLED 列1~8 273

CSc2 EQU CSLED+1H 列9~16 273

CSr1 EQU CSLED+2H 行1~8 374

CSr2 EQU CSLED+3H 行9~16 374

ORG 0000H

MOV SP,#60H

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

MOV DPTR,#CSc1

MOVX @DPTR,A

MOV DPTR,#CSc2

MOVX @DPTR,A

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

MOV DPTR,#CSr1

MOVX @DPTR,A

MOV DPTR,#CSr2

MOVX @DPTR,A

D: MOV R5,#00H 设定汉字表格初始值

MOV R4,#01H 设定列扫描初始值,从第一列开始

DISP:

MOV A,R5

RL ACC

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

MOVC A,@A+DPTR

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

MOV DPTR,#CSr1

MOVX @DPTR,A

MOV A,R5

RL ACC

INC ACC

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

MOVC A,@A+DPTR

CPL ACC

MOV DPTR,#CSr2

MOVX @DPTR,A

MOV DPTR,#CSc1

MOV A,R4

MOVX @DPTR,A

RL ACC

MOV R4,ACC

INC R5

LCALL DELAY

MOV A,#00H 清上次显示值

MOVX @DPTR,A 关闭行、列

MOV A,#0FFH

MOV DPTR,#CSR1

MOVX @DPTR,A

CJNE R5,#8H,DISP判是否显示到第八列

MOV R5,#08H 设定汉字表格初始值

MOV R4,#01H 设定列扫描初始值,从第九列开始

DISP2:

MOV A,R5

RL ACC

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

MOVC A,@A+DPTR

CPL ACC

MOV DPTR,#CSr1

MOVX @DPTR,A

MOV A,R5

RL ACC

INC ACC

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

MOVC A,@A+DPTR

CPL ACC

MOV DPTR,#CSr2

MOVX @DPTR,A

MOV DPTR,#CSc2

MOV A,R4

MOVX @DPTR,A

RL ACC

MOV R4,ACC

INC R5

LCALL DELAY

MOV A,#00H 清上次显示值

MOVX @DPTR,A 关闭行、列

MOV A,#0FFH

MOV DPTR,#CSR2

MOVX @DPTR,A

CJNE R5,#10H,DISP2 判是否扫描到第十六列

SJMP D

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

DELAY: MOV R7,#1H

DL1: MOV R6,#00H

DL2: DJNZ R6,DL2

DJNZ R7,DL1

RET

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

HZ16 字符编码排列

数 D7 R1 (0 2 --28 30)

| |

| |

据 D0 R8 (1 3 --29 31)

运行zimo.exe程序,在参数设置里选择“纵向取模”,16*16点阵,宋体、小四号(12)

取模方式为A51格式

取完模之后,将16~32字节间隔插入1~15字节,详见下面示例字模。

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

ZIMO程序生成的字模

显示“爱迪克”

HZAI:

DB 00H,02H,4DH,69H,59H,49H, 6FH,59H, 0C9H,89H,99H,0E9H,89H,09H,0CH,00H

DB 02H,04H,05H,09H,32H,0E2H,54H,54H, 48H, 58H,64H,44H, 02H,03H,02H,00H

HZDI:

DB 02H,82H,73H, 20H,00H,0FH, 09H,09H, 09H,0FFH,09H,09H,09H,0FH,00H,00H

DB 02H,04H,0F8H,04H,02H,0FAH,12H,12H, 12H,0F2H,12H,12H,12H,0FAH,02H,00H

HZKE:

DB 0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH ;片

DB 0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0FFH

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

转换后的字模

HZAI:

DB 00H,02H,02H,04H,4DH,05H,69H,09H,59H,32H,49H,0E2H,6FH,54H,59H,54H

DB 0C9H,48H,89H,58H,99H,64H,0E9H,44H,89H,02H,09H,03H,0CH,02H,00H,00H

HZDI:DB 02H,02H,82H,04H,73H,0F8H,20H,04H,00H,02H,0FH,0FAH,09H,12H,09H,12H

DB 09H,12H,0FFH,0F2H,09H,12H,09H,12H,09H,12H,0FH,0FAH,00H,02H,00H,00H

HZKE:DB 0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH 片

DB 0EFH,0EFH,0EFH,0EFH,0E0H,00FH,0EFH,0EFH,0BFH,0EFH,07FH,0FFH,0DFH,0EFH,0DFH,0EFH

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

END

这是程序请求帮忙修改

每屏显示时,列控制码左(右)移,就可实现点阵屏左(右)移动。

以显示“ | ” 从右向左移为例,第1 屏,右边第1 列亮1ms后灭,第2 屏,第2 列亮。。。。8 屏显示后,完成“| ”左移。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11191499.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存