h30.asm
来自「单片机程序集合」· 汇编 代码 · 共 157 行
ASM
157 行
;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, #50 ;每个字显示的时间
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,10
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 008H, 040H, 014H, 041H, 004H, 041H, 004H, 041H
DB 0F4H, 05FH, 004H, 041H, 004H, 041H, 0F4H, 05FH
DB 044H, 044H, 024H, 048H, 0FEH, 07FH, 004H, 001H
DB 000H, 001H, 0FEH, 0FFH, 004H, 001H, 000H, 001H
;京
DB 000H, 002H, 008H, 025H, 018H, 011H, 030H, 009H
DB 040H, 009H, 000H, 001H, 0F0H, 01FH, 010H, 010H
DB 010H, 010H, 010H, 010H, 0F8H, 01FH, 010H, 000H
DB 0FEH, 0FFH, 004H, 001H, 000H, 001H, 000H, 002H
;伟
DB 040H, 010H, 040H, 010H, 048H, 010H, 054H, 010H
DB 044H, 010H, 044H, 010H, 0FEH, 01FH, 044H, 010H
DB 040H, 090H, 0FCH, 057H, 048H, 030H, 040H, 010H
DB 0FEH, 017H, 044H, 008H, 040H, 008H, 040H, 008H
;福
DB 004H, 014H, 0FCH, 017H, 044H, 014H, 044H, 014H
DB 0FCH, 017H, 044H, 014H, 044H, 094H, 0FEH, 057H
DB 004H, 038H, 0F8H, 013H, 008H, 00AH, 008H, 0FAH
DB 0F8H, 003H, 000H, 010H, 0FCH, 017H, 008H, 020H
;实
DB 004H, 060H, 00CH, 018H, 010H, 004H, 020H, 002H
DB 040H, 001H, 000H, 001H, 0FEH, 0FFH, 084H, 004H
DB 080H, 00CH, 080H, 010H, 080H, 002H, 084H, 086H
DB 002H, 048H, 0FEH, 07FH, 000H, 001H, 000H, 002H
;业
DB 000H, 000H, 0FEH, 0FFH, 044H, 004H, 040H, 004H
DB 040H, 004H, 060H, 014H, 050H, 014H, 050H, 014H
DB 048H, 014H, 048H, 024H, 044H, 024H, 044H, 044H
DB 040H, 004H, 040H, 004H, 040H, 004H, 040H, 004H
;有
DB 020H, 008H, 050H, 008H, 010H, 008H, 010H, 008H
DB 0F0H, 00FH, 010H, 088H, 010H, 048H, 0F0H, 02FH
DB 010H, 018H, 010H, 008H, 0F8H, 00FH, 010H, 004H
DB 000H, 004H, 0FEH, 0FFH, 004H, 002H, 000H, 002H
;限
DB 000H, 041H, 084H, 041H, 04EH, 041H, 010H, 051H
DB 020H, 069H, 050H, 045H, 088H, 045H, 004H, 045H
DB 0F8H, 049H, 008H, 049H, 008H, 051H, 0F8H, 049H
DB 008H, 049H, 008H, 045H, 0FCH, 07DH, 008H, 000H
;公
DB 000H, 000H, 010H, 000H, 0F0H, 01FH, 020H, 010H
DB 040H, 008H, 000H, 004H, 000H, 002H, 004H, 0C2H
DB 00EH, 021H, 010H, 011H, 020H, 008H, 040H, 008H
DB 040H, 004H, 080H, 004H, 080H, 000H, 000H, 000H
;司
DB 010H, 000H, 028H, 000H, 088H, 020H, 088H, 03FH
DB 088H, 020H, 088H, 020H, 088H, 020H, 088H, 020H
DB 0C8H, 03FH, 088H, 000H, 008H, 000H, 0E8H, 0FFH
DB 048H, 000H, 008H, 000H, 0FCH, 03FH, 008H, 000H
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?