📄 led.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,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 081H,000H, 061H,009H, 03FH,0FEH, 031H,00CH
DB 029H,008H, 025H,018H, 023H,028H, 021H,048H
DB 03FH,0F8H, 021H,048H, 003H,020H, 005H,010H
DB 009H,008H, 011H,004H, 021H,002H, 040H,001H
DB 081H,004H, 0FFH,0FFH, 021H,002H, 012H,004H
DB 03FH,0FCH, 024H,034H, 022H,064H, 02FH,0F4H
DB 021H,084H, 03FH,0FCH, 023H,024H, 025H,014H
DB 029H,01CH, 031H,00CH, 020H,002H, 040H,001H
DB 081H,000H, 041H,001H, 021H,002H, 011H,004H
DB 0FFH,0FEH, 005H,010H, 002H,0A0H, 003H,0C0H
DB 002H,0C0H, 005H,040H, 006H,020H, 00CH,010H
DB 018H,018H, 030H,00EH, 060H,006H, 040H,001H
DB 090H,08CH, 04CH,0C9H, 028H,092H, 07FH,0FEH
DB 048H,00CH, 08FH,0F8H, 002H,060H, 001H,0C0H
DB 07FH,0FEH, 001H,0C0H, 002H,0A0H, 004H,090H
DB 008H,088H, 012H,084H, 021H,002H, 040H,001H
DB 08CH,060H, 058H,041H, 037H,0FEH, 030H,004H
DB 03BH,0F8H, 054H,010H, 093H,0F8H, 011H,040H
DB 013H,0F8H, 013H,048H, 012H,028H, 016H,018H
DB 01BH,0F8H, 012H,00CH, 020H,002H, 040H,001H
DB 082H,000H, 05FH,0F1H, 030H,012H, 01FH,0F4H
DB 018H,018H, 01FH,0F0H, 012H,030H, 01FH,0F0H
DB 000H,080H, 009H,040H, 02AH,0A4H, 02CH,092H
DB 068H,01AH, 017H,0F4H, 020H,002H, 040H,001H
DB 0FFH,0FCH, 044H,085H, 064H,086H, 054H,084H
DB 04CH,08CH, 044H,094H, 046H,0A4H, 049H,0C4H
DB 048H,0FCH, 051H,044H, 062H,024H, 044H,014H
DB 07FH,0FCH, 050H,004H, 020H,002H, 040H,001H
DB 0F9H,07EH, 061H,011H, 021H,012H, 031H,014H
DB 02DH,018H, 0FDH,07EH, 027H,030H, 029H,050H
DB 021H,090H, 021H,050H, 03AH,030H, 0C6H,010H
DB 00CH,0FEH, 018H,004H, 030H,002H, 040H,001H
DB 080H,080H, 07FH,0FDH, 020H,082H, 03FH,0F4H
DB 028H,098H, 03FH,0FCH, 022H,0B0H, 02FH,0F0H
DB 020H,080H, 02FH,0F0H, 02AH,030H, 04CH,010H
DB 04FH,0F8H, 098H,014H, 020H,002H, 040H,001H
DB 082H,040H, 042H,021H, 022H,022H, 07FH,0FEH
DB 00AH,088H, 006H,090H, 002H,0B0H, 005H,0E0H
DB 004H,0C0H, 009H,0C0H, 00BH,0A0H, 016H,092H
DB 028H,08AH, 050H,07EH, 020H,002H, 040H,001H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -