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 + -
显示快捷键?