?? 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 + -