📄 点阵.asm
字号:
DATE EQU P3.0
SCLK EQU P3.1
RCLK EQU P3.2
TIER EQU 20H;LED列数
BITS EQU 21H;扫描列数
TIME EQU 22H;扫描次数
WORD EQU 23H;文字序号
LEDDA EQU 24H;DATE
BITSED EQU 25H; 已扫描列数
LINE EQU 26H;行
ACALL YS1M
MOV TIER,#80;5*16 (0-79=80)
MOV TIME,#100
MOV BITS,#1
MOV BITSED,#0
MOV WORD,#0
MOV LINE,#1
LOOP:MOV A,WORD
MOV B,#16
MUL AB
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A
MOV LEDDA,A
ACALL SEND
INC LINE
MOV A,LINE
CJNE A,#17,LINE1
INC TIER
MOV A,TIER
CJNE A,#16,LINE2
LINE1:
send:
CLR SCLK
CLR RCLK
MOV R1,BITS
MOV A,R1
SUBB A,#8
JNC SEND1 ;;;;;;;;;;小于或等于8
MOV PSW,#0
MOV A,LEDDA
MOV R1,#8
DA2: RLC A
MOV DATE,C
SETB SCLK
NOP
NOP
NOP
NOP
NOP
NOP
CLR SCLK
INC BITS-1
DJNZ R1,DA2
SETB RCLK
NOP
NOP
NOP
NOP
NOP
NOP
CLR RCLK
RET
NODA: CLR SCLK
CLR RCLK
MOV R1,TIER
DA12: RLC A
MOV DATE,C
SETB SCLK
NOP
NOP
NOP
NOP
NOP
NOP
CLR SCLK
DJNZ R1,DA12
SETB RCLK
NOP
NOP
NOP
NOP
NOP
NOP
CLR RCLK
RET
SEND1:MOV A,LEDDA
DA1: RLC A
MOV DATE,C
SETB SCLK
NOP
NOP
NOP
NOP
NOP
NOP
CLR SCLK
DJNZ R1,DA1
SETB RCLK
NOP
NOP
NOP
NOP
NOP
NOP
CLR RCLK
;INC LINE
MOV A,LINE
COMPP:NOP
ACALL COMP
NOP
ACALL NODA
NOP
RET
COMP:CJNE A,#1,COM2
MOV P1,#11111110B
MOV P2,#0FFH
ACALL YS1M
MOV P1,#0FFH
RET
COM2:CJNE A,#2,COM3
MOV P1,#11111101B
MOV P2,#0FFH
ACALL YS1M
MOV P1,#0FFH
RET
COM3:CJNE A,#3,COM4
MOV P1,#11111011B
MOV P2,#0FFH
ACALL YS1M
MOV P1,#0FFH
RET
COM4:CJNE A,#4,COM5
MOV P1,#11110111B
MOV P2,#0FFH
ACALL YS1M
MOV P1,#0FFH
RET
COM5:CJNE A,#5,COM6
MOV P1,#11101111B
MOV P2,#0FFH
ACALL YS1M
MOV P1,#0FFH
RET
COM6:CJNE A,#6,COM7
MOV P1,#11011111B
MOV P2,#0FFH
ACALL YS1M
MOV P1,#0FFH
RET
COM7:CJNE A,#7,COM8
MOV P1,#10111111B
MOV P2,#0FFH
ACALL YS1M
MOV P1,#0FFH
RET
COM8:CJNE A,#8,COM9
MOV P1,#01111111B
MOV P2,#0FFH
ACALL YS1M
MOV P1,#0FFH
RET
COM9:CJNE A,#9,COM10
MOV P1,#0FFH
MOV P2,#11111110B
ACALL YS1M
MOV P2,#0FFH
RET
COM10:CJNE A,#10,COM11
MOV P1,#0FFH
MOV P2,#11111101B
ACALL YS1M
MOV P2,#0FFH
RET
COM11:CJNE A,#11,COM12
MOV P1,#0FFH
MOV P2,#11111011B
ACALL YS1M
MOV P2,#0FFH
RET
COM12:CJNE A,#12,COM13
MOV P1,#0FFH
MOV P2,#11110111B
ACALL YS1M
MOV P2,#0FFH
RET
COM13:CJNE A,#13,COM14
MOV P1,#0FFH
MOV P2,#11101111B
ACALL YS1M
MOV P2,#0FFH
RET
COM14:CJNE A,#14,COM15
MOV P1,#0FFH
MOV P2,#11011111B
ACALL YS1M
MOV P2,#0FFH
RET
COM15:CJNE A,#15,COM16
MOV P1,#0FFH
MOV P2,#10111111B
ACALL YS1M
MOV P2,#0FFH
RET
COM16:CJNE A,#16,COM17
MOV P1,#0FFH
MOV P2,#10111111B
ACALL YS1M
MOV P2,#0FFH
COM17:NOP
RET
YSS3:MOV 30H,#30
D2: MOV 31H,#100
D3: MOV 32H,#100
DJNZ 32H,$
DJNZ 31H,D3
DJNZ 30H,D2
RET
YS1M:MOV 30H,#8
D1: MOV 31H,#100
DJNZ 31H,$
DJNZ 30H,D1
RET
TAB:DB 01h, 00h, 01h, 00h, 01h, 00h, 01h, 04h ;木
DB 0FFh, 0FEh, 01h, 00h, 03h, 80h, 03h, 40h
DB 05h, 20h, 09h, 10h, 11h, 08h, 21h, 0Eh
DB 0C1h, 04h, 01h, 00h, 01h, 00h, 01h, 00h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DB 08h, 20h, 08h, 20h, 08h, 20h, 08h, 24h ;林
DB 0FEh, 0FEh, 08h, 20h, 18h, 60h, 1Ch, 70h
DB 2Ah, 0A8h, 28h, 0AEh, 49h, 24h, 8Ah, 20h
DB 08h, 20h, 08h, 20h, 08h, 20h, 08h, 20h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DB 01h, 00h, 01h, 08h, 3Fh, 0FCh, 03h, 80h
DB 05h, 60h, 19h, 1Ch, 61h, 08h, 09h, 20h
DB 08h, 28h, 7Eh, 0FCh, 08h, 20h, 1Ch, 70h
DB 2Ah, 0AEh, 0C9h, 24h, 08h, 20h, 08h, 20h ;森
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DB 02h, 00h, 02h, 00h, 02h, 10h, 7Fh, 0F8h
DB 42h, 10h, 42h, 10h, 7Fh, 0F0h, 42h, 10h
DB 42h, 10h, 7Fh, 0F0h, 42h, 10h, 02h, 00h
DB 02h, 04h, 02h, 04h, 01h, 0FCh, 00h, 00h ;电
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DB 00h, 00h, 3Fh, 0F0h, 00h, 10h, 00h, 20h
DB 00h, 40h, 01h, 80h, 01h, 04h, 0FFh, 0FEh
DB 01h, 00h, 01h, 00h, 01h, 00h, 01h, 00h
DB 01h, 00h, 01h, 00h, 05h, 00h, 02h, 00h;子
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -