+ -
当前位置:首页 → 问答吧 → 求助求助。洒分求助

求助求助。洒分求助

时间:2011-12-09

来源:互联网

;LED16x16的片选信号接主板CS3,其它数据信号,地址信号,写信号接主板的相应信号.
RowLow equ 0b002h; 行低八位地址
RowHigh equ 0b003h; 行高八位地址
ColLow equ 0b000h; 列低八位地址
ColHigh equ 0b001h; 列高八位地址
Assembly code

data   segment
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

BitMask   DW    1
CharIndex DW    1
DelayCNT  DW    1
ColCNT    DW    1
        
data   ends

code   segment
       assume cs:code, ds:data

delay  proc  near

       push  cx
       mov   cx, 100
delayl:
       loop  delayl
       pop   cx
       ret
delay  endp
       
start  proc  near
      
       mov   ax, data
       mov   ds, ax

       mov   si, offset Font
main:       
       mov   al, 0
       mov   dx, RowLow
       out   dx, al
       mov   dx, RowHigh
       out   dx, al

       mov   al, 0ffh
       mov   dx, ColLow
       out   dx, al
       mov   dx, ColHigh
       out   dx, al
       
       mov   CharIndex, 0
nextchar:
       mov   DelayCNT, 50
loop1:
       mov   BitMask, 1

       mov   ColCNT, 16
       
       mov   bx, CharIndex
       mov   ax, 32
       mul   bx
       mov   bx, ax
nextrow:
       mov   al, 0
       mov   dx, RowLow
       out   dx, al
       mov   dx, RowHigh
       out   dx, al
       
       mov   ax, [si+bx]
       mov   dx, ColLow
       not   al
       out   dx, al
       mov   dx, ColHigh
       mov   al, ah
       not   al
       out   dx, al
       
       inc   bx
       inc   bx
       
       mov   ax, BitMask
       mov   dx, RowLow
       out   dx, al
       mov   dx, RowHigh
       mov   al, ah
       out   dx, al

       mov   ax, BitMask
       rol   ax, 1
       mov   BitMask, ax
       
       call delay
       dec  ColCNT
       jnz  nextrow
        
       dec  DelayCNT
       jnz  loop1

       inc  CharIndex          ;指向下个汉字
       mov  ax, CharIndex
       cmp  ax, 10
       jnz  nextchar
       jmp  main

code   ends
       end  start


main:
         mov  r5, #0           ;汉字个数
loop0:
         mov  r4, #50          ;每个字显示的时间
mloop:
         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


怎样改使输出为:金陵科技学院机电工程

作者: D_east   发布时间: 2011-12-09

以“业”字为例,将每两个字节颠倒次序,比如“”FEh FFh”倒换成“FFh FEh”,然后按顺序从下向上点阵(用VC环境中编辑图标最直观),1显示点,这样就能得到以下的汉字。


以此类推,就能将你的输出改成你想要的信息。
请记得给分。

作者: XSFGaoVictor   发布时间: 2011-12-09