📄 yd.asm
字号:
SCLK_595 EQU P1.2 ;时钟
SDATA_595 EQU P1.1 ;数据
RCK_595 EQU P1.0 ;锁存
H1 BIT 00H
ORG 00H
LJMP START
ORG 000BH
LJMP DST050MS
ORG 0030H
START: MOV DPTR,#TTAB
mov 78h,dpl
mov 79h,dph
MOV DPTR,#TAB
mov 7ah,dpl
mov 7bh,dph
MOV P0,#0FFH
MOV P2,#0FFH
MOV R0,#0
MOV R1,#0 ;表变址
MOV R2,#8 ;数据移位控制变量
MOV R3,#0 ;行控制数
MOV R4,#0 ;DST050MS 次数变量
MOV R5,#150 ;一个字显示次数
MOV R6,#0 ;字数
MOV R7,#0
SETB H1
MOV TMOD,#01H
MOV TH0,#4ch //50MS
MOV TL0,#00h
SETB EA
SETB ET0
SETB TR0
WRITE: mov dpl,7ah //数据表
mov dph,7bh
LCALL WRITE1
mov dpl,78h //行表
mov dph,79h
LCALL OUT_8550 //行输出
MOV P0,#0FFH
MOV P2,#0FFH
INC R1
CJNE R1,#32,WRITE //一屏字幕显示完
MOV R1,#0
DJNZ R5,WRITE
MOV R5,#150
LJMP WRITE
//===========中断修改数据表头======================================
DST050MS:
CLR TR0
PUSH ACC
push PSW
MOV TH0,#4ch //50MS
MOV TL0,#00h
INC R4
CJNE R4,#5,LP
MOV r4,#0
mov 40h,#2 //控制移动字节数量 2:为一行一行移动 32: 为整屏移动
MOV DPL,7AH
MOV DPH,7BH
ss: inc dptr
djnz 40h,ss
mov 7ah,dpl
mov 7bh,dph
MOV DPTR,#TTAB
mov 78h,dpl
mov 79h,dph
INC R6
CJNE R6,#128,LP //控制移动的字数
MOV R6,#0
MOV DPTR,#TAB
mov 7ah,dpl
mov 7bh,dph
LP:
POP PSW
POP ACC
SETB TR0
RETI
//================================================================
WRITE1: MOV A,R1
MOVC A,@A+DPTR
MOV 2AH,A //2AH送数据
LCALL WR_595 //送一位数据
INC R1
MOV A,R1
MOVC A,@A+DPTR
MOV 2AH,A
LCALL WR_595
LCALL OUT_595 //输出锁存
RET
;---------------------------------------------------------------
;行输出子程序
;---------------------------------------------------------------
OUT_8550:
JB H1,P0KSC
P2KSC: MOV A,R3
P2KSC1: MOVC A,@A+DPTR
MOV P2,A
LCALL DELAY
INC R3
CJNE R3,#8,LOOP
MOV R3,#0
SETB H1
RET
P0KSC: MOV A,R3
P0KSC1: MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
INC R3
CJNE R3,#8,LOOP
MOV R3,#0
CLR H1
LOOP: RET
;---------------------------------------------------------------
;输出锁存器输出数据子程序
;---------------------------------------------------------------
OUT_595:
CLR RCK_595
NOP
SETB RCK_595 ;上升沿将数据送到输出锁存器
NOP
CLR RCK_595
RET
;--------------------------------------------------------------
;移位寄存器接收数据子程序
;--------------------------------------------------------------
WR_595:
MOV R2,#08H
MOV A,2AH
cpl a
WR_LOOP:
RLC A
MOV SDATA_595,C
SETB SCLK_595 ;上升沿发生移位
NOP
CLR SCLK_595
NOP
DJNZ R2,WR_LOOP
MOV R2,#8
RET
;--------------------------------------------------------------
;延时子程序
;--------------------------------------------------------------
DELAY:
MOV 43H,#14H ; every LED(2ms)
DL2: MOV 44H,#14H
DL1:
DJNZ 44H,DL1
DJNZ 43H,DL2
RET
TTAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
TAB:
;欢 CBBB6
DB 000H,003H,000H,003H,000H,003H,080H,001H
DB 0B8H,03FH,0BEH,01BH,0F0H,00CH,036H,003H
DB 03CH,003H,018H,003H,0BCH,007H,086H,00DH
DB 0C3H,038H,060H,0F0H,000H,000H,000H,000H
;迎 CD3AD
DB 000H,000H,000H,003H,08CH,003H,0F8H,03CH
DB 060H,036H,060H,036H,07FH,036H,0F8H,03FH
DB 0ECH,006H,018H,006H,018H,006H,0FFH,001H
DB 000H,0FFH,000H,038H,000H,000H,000H,000H
/*
;光 CB9E2
DB 080H,000H,084H,010H,088H,030H,090H,008H
DB 090H,004H,080H,020H,0FFH,07FH,020H,002H
DB 020H,002H,020H,002H,020H,002H,010H,002H
DB 010H,042H,008H,042H,004H,07CH,002H,000H
;临 CC1D9
DB 008H,001H,008H,001H,08AH,020H,08AH,07FH
DB 04AH,000H,02AH,001H,01AH,006H,00AH,024H
DB 0EAH,07FH,02AH,022H,02AH,022H,02AH,022H
DB 02AH,022H,028H,022H,0E8H,03FH,028H,020H */
;! C2120
DB 000H,000H,000H,000H,080H,001H,0C0H,003H
DB 0C0H,003H,0C0H,003H,080H,001H,080H,001H
DB 080H,001H,000H,000H,080H,001H,080H,001H
DB 000H,000H,000H,000H,000H,000H,000H,000H
;您 CC4FA
DB 000H,000H,000H,000H,080H,001H,0C0H,003H
DB 0E0H,007H,0F0H,00FH,0C0H,003H,0C0H,003H
DB 0C0H,003H,0C0H,003H,0C0H,003H,0C0H,003H
DB 0C0H,003H,0C0H,003H,000H,000H,000H,000H
;好 CBAC3
DB 000H,000H,000H,000H,080H,001H,0C0H,003H
DB 0E0H,007H,0F0H,00FH,0C0H,003H,0C0H,003H
DB 0C0H,003H,0C0H,003H,0C0H,003H,0C0H,003H
DB 0C0H,003H,0C0H,003H,000H,000H,000H,000H
;停 CCDA3
DB 000H,006H,030H,03CH,0F0H,007H,018H,01FH
DB 098H,019H,09CH,00FH,01EH,07EH,0FBH,063H
DB 078H,03EH,0F8H,007H,018H,006H,018H,006H
DB 018H,006H,018H,007H,000H,006H,000H,000H
;23 C3233
DB 000H,000H,000H,000H,03EH,03EH,063H,063H
DB 060H,060H,030H,060H,018H,03CH,00CH,060H
DB 006H,060H,003H,060H,063H,063H,07FH,03EH
DB 000H,000H,000H,000H,000H,000H,000H,000H
;楼 CC2A5
DB 008H,002H,048H,012H,088H,00AH,008H,022H
DB 0FFH,07FH,088H,00AH,05CH,032H,02CH,022H
DB 00AH,001H,0FAH,07FH,089H,010H,048H,010H
DB 088H,00DH,008H,002H,088H,00DH,068H,010H
; 黑屏
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H
/*;大 CB4F3
DB 0C0H,000H,0C0H,000H,0C0H,000H,0C0H,000H,0C0H,000H,0C0H,01FH,0FCH,000H,0C0H,000H
DB 0E0H,001H,060H,003H,030H,006H,018H,00CH,00CH,038H,006H,0F0H,000H,000H,000H,000H
;家 CBCD2
DB 0C0H,000H,080H,001H,08CH,03FH,0FCH,018H,08EH,003H,0F0H,000H,060H,00CH,0F8H,006H
DB 0E0H,003H,0F8H,007H,0E0H,01DH,0B0H,079H,09CH,001H,0E0H,001H,0C0H,000H,000H,000H
;好 CBAC3
DB 000H,000H,018H,000H,018H,03EH,098H,01BH,018H,00CH,078H,006H,0F8H,0FCH,0EFH,00FH
DB 078H,00CH,030H,00CH,078H,00CH,0CCH,00CH,006H,00EH,000H,00CH,000H,000H,000H,000H *
;大 CB4F3
DB 080H,001H,080H,001H,080H,001H,080H,001H
DB 080H,001H,0FFH,0FFH,080H,001H,0C0H,003H
DB 0C0H,003H,0C0H,006H,060H,006H,060H,00CH
DB 030H,018H,018H,038H,00CH,0F0H,006H,060H
;家 CBCD2
DB 0C0H,000H,080H,001H,0FCH,0FFH,006H,060H
DB 0FEH,03FH,080H,001H,0C0H,000H,0F0H,00DH
DB 0DEH,01FH,060H,007H,0B8H,007H,0EEH,01FH
DB 038H,0F3H,00EH,063H,0E0H,001H,0C0H,000H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -