📄 hh.asm
字号:
;LED16x16的片选信号接主板CS3,其它数据信号,地址信号,写信号接主板的相应信号.
RowLow equ 0B002h; 行低八位地址
RowHigh equ 0B003h; 行高八位地址
ColLow equ 0B000h; 列低八位地址
ColHigh equ 0B001h; 列高八位地址
bitmask equ 40h
base equ 42h
org 0
jmp main
main:
mov bitmask, #0
mov bitmask+1,#0
;清屏
mov a,#00h ;列驱动低有效
mov dptr,#RowLow
movx @dptr,a
mov dptr,#RowHigh
movx @dptr,a
mov a,#0ffh ;行驱动高有效
mov dptr,#ColLow
movx @dptr,a
mov dptr,#ColHigh
movx @dptr,a
mov r5, #0 ;汉字个数
loop0:
mov r4, #500h ;每个字显示的时间
loop:
mov bitmask, #01 ;选择显示行
mov r2, #16 ;每行16列
mov a,r5 ;字模的起始地址
mov b,#32
mul ab
mov dptr,#Font
add a,dpl
mov base, a
mov a,b
addc a,dph
mov base+1,a
nextrow:
mov a,#00h ;先关闭显示
mov dptr,#RowLow
movx @dptr,a
mov dptr,#RowHigh
movx @dptr,a
mov dpl, base ;取出该行字模
mov dph, base+1
clr a
movc a, @a+dptr
mov r0,a
inc dptr
clr a
movc a,@a+dptr
mov r1,a
inc dptr
mov base , dpl ;指向下行字模
mov base+1, dph
mov dptr,#ColLow ;输出字模数据
mov a,r0
cpl a
movx @dptr,a
mov dptr,#ColHigh
mov a,r1
cpl a
movx @dptr,a
mov a,bitmask ;点亮该行
mov dptr,#RowLow
movx @dptr,a
mov a,bitmask+1
mov dptr,#RowHigh
movx @dptr,a
clr c
mov a,bitmask
rlc a
mov bitmask,a
mov a,bitmask+1
rlc a
mov bitmask+1,a ;指向下一行
mov r7,3
call delay
djnz r2, nextrow
djnz r4, loop ;每个字要重复显示
inc r5 ;指向下个汉字
mov a,r5
cjne r5,#10, nextchar
jmp main ;
nextchar:
jmp loop0
delay:
ddd:
djnz r7,ddd
ret
;字模 每个16x16点阵汉字为: 8位x2x16 = 256位, 32字节
Font:
;陈
DB 00H,40H,78H,40H,48H,44H,57H,FEH
DB 50H,80H,60H,A0H,51H,20H,4AH,28H
DB 4BH,FCH,48H,20H,69H,28H,51H,24H
DB 42H,26H,44H,22H,40H,A0H,40H,40H
;楚
DB 08H,20H,08H,28H,7EH,FCH,08H,20H
DB 1CH,78H,2AH,A4H,48H,20H,3FH,F8H
DB 01H,10H,09H,40H,09H,E0H,11H,00H
DB 11H,00H,29H,06H,47H,FCH,80H,00H
;鸿
DB 40H,20H,30H,48H,10H,FCH,02H,88H
DB 9FH,A8H,64H,88H,24H,A8H,04H,90H
DB 14H,84H,14H,FEH,E7H,04H,3CH,24H
DB 29H,F4H,20H,04H,20H,14H,20H,08H
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -