; ============================================
; 32*64 dot matrix screen left scrolling display N Chinese characters program
; ============================================
d _ FR0 EQU 40H; The first display data buffer
EQU 70H
d _ MB EQU 30H; Data shift bit register
d _ AM EQU 3 1H; Register for displaying half-width words
DAMT EQU 32H; Multiple registers for displaying the number of half-width words
Offset eq33h; Data pointer offset
RED0 bit P 1.4
Red 1 P3. 1
RCK bit p1.5; Latch signal line
SCK bit p1.6; Shift clock signal line
EN position p1.7; Blanking signal line
; -Program entry address.
Organization 0000H
JMP starting point
ORG 0030H
; ====================================
; initialization
; ====================================
Start:
CLR A
MOV 60H,A
MOV 6 1H,A
MOV 62H,A
MOV 63H,A
MOV SP, # 0AH Modify stack pointer
MOV R7, No.5
MOV R0,#D_FR0
MOV R 1,#D_FR 1
ST 1:MOV @R0
MOV @R 1,A
INC R0
INC R 1
DJNZ R7,ST 1; 40 hours -44 hours
MOV R7,#20H
MOV R0,#D_MB
ST2:MOV @R0,A
INC R0
The registers DJNZ R7 and ST2 are cleared.
MOV P 1,#0ffH
MOV DPTR, # table 1
DPL MOV 62H
DPH MOV 63H
MOV·DPTR # Table 2
DPL MOV 64H
DPH MOV 65H
MOV DAMT,# 1; A multiple of the number of half-width words displayed.
MOV·R4, ranked second.
; ====================================
; main program
; ====================================
Mainly:
MOV R5,# 16; Scan 16 lines
MOV offset, # 00H data pointer offset is cleared to 0.
MA 1: Call Qushu; Call acquisition subroutine
Call DSEND call sending subroutine
Cllen turns off the display.
Inc p 1; Modify row values
CLR RCK
SETB·RCK; Latch display data
Setb EN turns on the display.
DJNZ R5,ma 1; 16 line is not completed. Go on.
R4 am Main
MOV·R4, ranked fifth; rate of travel
Company D_MB
MOV A,D_MB
CJNE A,#8,M_OUT
MOV D_MB,# 0; 1 half-width character will be moved 8 times.
MOV A,# 16
MOV·DPL, 62 years old
MOV·DPH, 63 years old
Add one, DPL
MOV·DPL
DPL MOV 62H
DPH MOV
ADDC A,#00H
MOV·DPH
DPH MOV 63H
MOV A,# 16
MOV·DPL, 64 years old
MOV·DPH, 65 years old
Add one, DPL
MOV·DPL
DPL MOV 64H
DPH MOV
ADDC A,#00H
MOV·DPH
DPH MOV 65H
Company D_AM
American MOV
CJNE A, #30, number of half-width characters displayed by M _ OUT
MOV D_AM,#00H
DJNZ DAMT,M_OUT
MOV DAMT,# 1; A multiple of the number of half-width words displayed.
MOV DPTR, # table 1
DPL MOV 62H
DPH MOV 63H
MOV·DPTR # Table 2
DPL MOV 64H
DPH MOV 65H
MOV P 1,#0ffH
M_OUT: JMP street
; ===================================
; Take a line number subroutine
; ===================================
Qushu:
MOV R7, No.9
MOV R0,#D_FR0
MOV·DPL, 62 years old
MOV·DPH, 63 years old
Push DPL
Push DPH
MOV A, offset
QUSHU 1:
Add one, DPL
MOV·DPL
DPH MOV
ADDC A,#00H
MOV·DPH
CLR A
MOVC A,@A+DPTR
MOV @R0,A
INC R0
MOV A,# 16
DJNZ R7,QUSHU 1
Pop ·DPH
Pop ·DPL
DPL MOV 62H
DPH MOV 63H
Qushu 2:
MOV R7, No.9
MOV R0,#D_FR 1
MOV·DPL, 64 years old
MOV·DPH, 65 years old
Push DPL
Push DPH
MOV A, offset
Qushu 3:
Add one, DPL
MOV·DPL
DPH MOV
ADDC A,#00H
MOV·DPH
CLR A
MOVC A,@A+DPTR
MOV @R0,A
INC R0
MOV A,# 16
DJNZ R7,QUSHU3
Pop ·DPH
Pop ·DPL
DPH MOV 65H
DPL MOV 64H
Company offset
Soak in water to soften
; ===================================
; Data sending subroutine
; ===================================
DSEND:
MOV R0, # D _ FR0R0 is the first person to display the data buffer address.
MOV R 1,#D_FR 1
MOV·R6, ranked eighth; Send n bytes (1 line)
DSE 1:MOV R7,# 8; Send 8 bits at a time
MOV 60H,@R0
MOV 6 1H,@ r 1; Display data in
CPL 60H
CPL 6 1H; Inverted a
DSE2: MOV A,60H
RLC A; Move the contents of a into c according to.
MOV red 0, c; Send the contents of c to the data bus.
MOV 60H,A
MOV A,6 1H
RLC A
MOV red 1, c
MOV 6 1H,A
CLR SCK
SETB·SCK; Output shift pulse
DJNZ R7,DSE2
INC R0
INC r 1; Modify address pointer
DJNZ R6,DSE 1
; -Move the screen one position to the left.
MOV A, D _ MB moves the number of bits into.
Jz tamande; Transmission of 0
MOV R7, the number of bits moved by D _ MB is put into R7.
MOV 60H,@R0
MOV 6 1H,@R 1
The data of cpl 60H mobile is stored in.
CPL 6 1H
DSE3:MOV A,60H
RLC A; Move the contents of a into c according to.
MOV red 0, c; Send the contents of c to the data bus.
MOV 60H,A
MOV A,6 1H
RLC A
MOV red 1, c
MOV 6 1H,A
CLR SCK
SETB·SCK; Output shift pulse
DJNZ R7 and DSE3 shifts did not continue.
; -Shift time correction.
TAMEND:CLR C; Qing c
MOV A,# 100
SUBB A, D _ MB times of delay again.
JZ D_OUT
MOV R7,A
TA 1: none
Nototherwiseprovided(for) unless otherwise specified.
Nototherwiseprovided(for) unless otherwise specified.
Nototherwiseprovided(for) unless otherwise specified.
DJNZ R7,ta 1; Idle running (delayed)
D_OUT: return
; ====================================
; character code table
; ====================================
Table 1:
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,0FCH,04H,45H,46H,28H,28H, 10H,28H,24H,44H,8 1H,0 1H,02H,0CH
DB 80H,80H,80H,0FCH,04H,48H,40H,40H,0A0H,0A0H, 10H,08H,0EH,04H
DB 00H,4 1H,26H, 14H,04H,04H,0F4H, 14H, 15H, 16H, 14H, 10H, 10H, 10H,28H,47H,00H
DB 00H,84H,7EH,44H,44H,44H,44H,0C4H,44H,54H,48H,40H,40H,46H,0FCH,00H
DB 0 1H、2 1H、 1H、09H、09H、0 1H、0FFH、04H、04H、04H、08H、08H、 10H、20H、40H
DB 00H、08H、0CH、 10H、20H、04H、0FEH、40H、40H、40H、40H、42H、42H、3EH、00H
DB 10H、 10H、5 1H、5 1H、52H、54H、58H、50H、57H、54H、54H、54H、 14H、 17H、 14H
DB 80H,80H,04H,0FEH,00H,80H,60H,24H,0FEH,44H,44H,44H,44H,0FCH,04H
DB 00H,0 1H,03H,03H,03H,03H,0 1H,0 1H,0 1H,00H,0 1H,00H,03H,0 1H,00H
00H,80H,0C0H,0C0H,0C0H,0C0H,80H,80H,80H,00H,80H,00H,00H,0C0H,80H,00H,00H
DB 00H,40H,30H, 17H,00H,02H,0f 10H, 10H, 10H, 10H, 10H, 1 10H, 12H,28H,47H,00H
DB 80H,40H,48H,0FCH, 10H, 10H,20H,0A0H,40H,40H,0A0H, 10H, 10H,06H,0FCH,00H
DB 00H,3FH,2 1H,2 1H,3FH,2 1H,2 1H,2 1H,3FH,0 1H,0 1H,7FH,0 1H,0 1H,0FFH,00H
DB 08H,0FCH,08H,08H,0F8H,08H,08H,08H,00H,08H,0FCH,00H,04H,0FEH,00H
DB 0FH,08H,08H,0FH,08H,08H,0FH,00H,0FFH,0 1H,09H,09H,09H, 15H,23H,40H
DB 0E0H,20H,20H,0E0H,20H,20H,0E0H,04H,0FEH,00H,20H,0F0H,00H,00H,00H,06H,0FCH
DB 42H,32H, 12H,02H,9FH,62H,22H,0FH, 18H,28H,0C8H,48H,48H,4FH,48H,40H
DB 04H,3EH,24H,24H,0E4H,3CH,0A4H,0E4H,0A4H,0BCH,0A4H,0A4H,0A4H,0A4H,54H,88H
DB 04H,04H,04H,04H,04H,7CH,04H,04H,04H,04H,04H,04H, 1CH,0E4H,44H,00H
DB 80H,80H,88H,98H,0A0H,0C0H,80H,80H,80H,80H,80H,80H,82H,82H,7EH,00H
DB 0 1H,09H,09H, 1 1H, 1 1H,20H,03H,0CH,3FH,0C8H,0FH,08H,0FH,08H,0FH,08H,0FH,08H
DB 00H,20H, 10H,0CH,24H,0C0H,00H,08H,0FCH,08H,0F8H,08H,0F8H,08H,08H,08H
DB 0 1H,0 1H,7FH,4 1H,8 1H,02H,02H,05H,09H, 18H,28H,48H,88H,0AH,0CH,08H
DB 00H,00H,0FEH,02H,04H,00H,08H, 18H,20H,0C0H,80H,40H,30H,0EH,04H,00H
DB 04H,04H,04H,04H,44H,24H,24H, 14H, 14H, 14H, 14H,04H,04H,04H,0FFH,00H
DB 40H,40H,40H,40H,44H,44H,48H,48H,50H,50H,60H,40H,40H,44H,0FEH,00H
DB 04H,0EH,0F8H,08H,08H,0FEH,08H, 1CH, 1AH,29H,28H,48H,88H,08H,08H,08H
DB 10H, 10H,90H,50H, 10H,90H,50H, 14H, 1EH,0F0H, 10H, 10H, 10H, 10H, 10H, 10H, 10H, 10H
DB 22H, 1 1H, 1 1H,00H,7FH,40H,80H, 1FH,00H,0 1H,0FFH,0 1H,0 1H,0 1H,0 1H,05H,02H
DB 08H,08H, 10H,20H,0FEH,02H,04H,0E0H,40H,84H,0FEH,00H,00H,00H,00H,00H,00H
DB 00H、78H、4FH、54H、58H、63H、50H、48H、4FH、48H、68H、50H、4 1H、4 1H、42H、4CH
DB 80H,40H,0FEH,02H, 14H,0F8H,00H,08H,0FCH,0A0H,0A0H,0A0H,0A0H,22H,22H, 1EH,00H
DB 06H,0F8H, 1 1H, 1 1H,0FFH,39H,55H,9 1H, 1 1H,0FEH,24H,44H,28H, 1 1H,2AH,44H
DB 40H,84H,0FEH,24H,24H,0FCH,24H,44H,0FCH,40H,60H,0A0H,0A8H,22H,22H, 1EH
DB 0 1H,0 1H,0 1H,0FFH,0 1H,0 1H,3FH,00H,02H, 1 1H,50H,50H,90H,0FH,00H
DB 00H,00H,04H,0FEH,00H,00H, 10H,0F8H,00H,00H,80H,84H, 12H, 12H,0F0H,00H
DB 82H,44H,29H,0FEH, 10H, 1 1H,7CH, 10H, 10H,0FEH, 1 1H, 12H, 10H,20H,2 1H,40H
DB 00H,04H,0DEH,44H,44H,54H,0CCH,44H,44H,0CCH,54H,64H,44H,44H,54H,88H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,30H, 1EH,0FH,07H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 0 1H,0 1H,7FH,0 1H,05H,09H,3 1H,0C 1H,0FH,00H,0 1H,7FH,0 1H,0 1H,05H,02H
DB 00H,08H,0FCH,00H,40H,30H,0EH,04H,0E0H,40H,88H,0FCH,00H,00H,00H,00H,00H
DB 08H,08H,08H,08H,0FEH,08H, 18H, 1CH,2AH,28H,49H,8AH,08H,08H,08H,08H,08H
24H,0FEH,20H,60H,70H,0A8H,0AEH,24H,20H,20H,20H,20H,20H
DB 00H,7FH,40H,40H,5FH,40H,40H,4FH,48H,48H,4FH,48H,40H,40H
DB 04H,0FEH,04H,24H,0F4H,04H,24H,0F4H,24H,24H,24H,24H,0E4H,24H, 14H,08H
DB 22H, 1 1H, 1 1H,00H,7FH,40H,80H, 1FH,00H,0 1H,0FFH,0 1H,0 1H,0 1H,0 1H,05H,02H
DB 08H,08H, 10H,20H,0FEH,02H,04H,0E0H,40H,84H,0FEH,00H,00H,00H,00H,00H,00H
DB 10H, 10H,22H,7FH,42H,43H,42H,42H,7EH,42H,42H,42H,42H,42H,7EH,42H,00H
DB 40H、40H、44H、7EH、84H、04H、04H、84H、64H、24H、04H、04H、04H、04H、28H、 10H
DB 08H,08H,08H, 17H, 10H,30H,50H,90H, 10H, 10H, 10H, 10H, 10H, 10H, 10H, 10H, 1FH, 10H
DB 80H,40H,44H,0FEH,40H,40H,48H,0FCH,40H,40H,40H,40H,40H,44H,0FEH,00H
DB 02H,07H,38H,20H,20H,3EH,22H,22H,22H,3EH,22H,20H,2 1H,42H,84H,00H
DB 08H, 1CH,0E0H,80H,80H,84H,0FEH,88H,88H,88H,88H,88H,08H,08H,08H,08H
DB 00H,0 1H,03H,03H,03H,03H,0 1H,0 1H,0 1H,00H,0 1H,00H,03H,0 1H,00H
00H,80H,0C0H,0C0H,0C0H,0C0H,80H,80H,80H,00H,80H,00H,00H,0C0H,80H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
Table 2:
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 0 1H,0 1H,02H,04H,08H, 12H,2 1H,0C0H,00H, 1FH,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,0 1H
db 00H,00H,80H,40H,20H, 10H,8EH,84H,00H,0F0H, 10H,20H,20H,40H,80H,00H
DB 00H,7FH,0 1H,0 1H,0 1H,0 1H,0FFH,0 1H,02H,02H,04H,04H,08H, 10H,20H,0C0H
db 08H,0FCH,00H,00H,00H,04H,0FEH,00H,80H,80H,40H,40H,20H, 10H,0EH,04H
00H,08H,7DH,4AH,4CH,4BH,4AH,7AH,4AH,4BH,4AH,48H,78H,49H,02H,04H
db 80H,80H,0F8H, 10H,24H,0FEH,44H,44H,0FCH,64H,0A0H,0A2H,22H, 1EH,00H
DB 0 1H、0 1H、0 1H、0 1H、0 1H、0 1H、0 1H、0 1H、0 1H、0 1H、0 1H、0 1H、0 1H、0 1H
db 00H,00H,00H,00H, 10H,0F8H,00H,00H,00H,00H,00H,00H,00H,00H,00H,04H,0FEH,00H
DB 02H,02H,0FFH,04H,04H,0FH,08H, 18H,2FH,48H,88H,0FH,08H,08H,08H,08H,08H
db 00H,04H,0FEH,00H, 10H,0F8H, 10H,0F0H, 10H, 10H,0F0H, 10H, 10H, 10H, 10H,50H,20H
DB 0 1H,0 1H,0 1H,0 1H,0 1H,7DH,05H,05H,09H,09H, 1H,2 1H,4 1H,8 1H,05H,02H
db 00H,00H,00H,08H, 18H,20H,0C0H,80H,40H,20H, 10H,0EH,04H,00H,00H,00H
DB 00H,7CH,44H,49H,48H,50H,48H,4BH,44H,45H,45H,69H,5 1H,4 1H,4 1H,4 1H,4 1H
db 20H,20H,28H,0FCH,20H,20H,24H,0FEH,20H,24H,24H,24H,24H,24H,0FCH,04H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,60H,20H,20H,40H
DB 08H,0BH, 12H, 12H,23H,4AH,8AH, 13H,32H,52H,92H, 12H, 12H, 12H, 12H, 13H, 13H, 12H
db 08H,0FCH,08H,08H,0F8H,08H,0F8H,84H,8CH,50H,20H, 10H,88H,0EH,04H
DB 00H, 1FH, 10H, 10H, 1FH, 10H, 10H, 1FH, 14H,44H,34H, 14H,04H,04H,0FFH,00H
db 10H,0F8H, 10H, 10H,0F0H, 10H, 10H,0F0H,50H,44H,4CH,50H,40H,44H,0FEH,00H
DB 10H, 10H, 10H, 1EH,22H,33H,4AH,0A4H, 14H,08H, 1 1H,22H,40H,24H 24H,40H
db 20H,20H,28H,24H,20H,0FEH,20H,50H,50H,88H,0EH,04H,00H,48H,46H,02H
DB 04H,0EH,78H,08H,08H,0FFH,08H,08H,0AH,0CH, 18H,68H,09H,0AH,28H, 10H
db 80H,0A0H,90H,90H,84H,0FEH,80H,90H,90H,60H,40H,0A0H,20H, 14H, 14H,0CH
DB 10H, 12H, 1 1H,24H,24H,64H,0A4H,24H,24H,24H,24H,24H,24H,24H,24H,24H
db 00H,04H,7EH,84H,04H,04H,04H,04H,04H,04H,04H,04H,04H,04H,04H, 14H,08H
DB 00H,7FH, 10H, 10H, 10H,08H,08H,04H,02H,0 1H,02H,04H,08H,30H,0C0H
db 00H,0F0H, 10H, 10H,20H,20H,40H,40H,80H,80H,00H,80H,40H,30H,0EH,04H
DB 10H, 10H, 10H, 13H,0FCH, 10H, 14H, 18H,30H,0D0H, 10H, 10H, 10H, 10H, 10H,50H,20H
db 00H,00H,04H,0FEH,20H,20H,20H,20H,20H,20H,20H,20H,20H,20H,0A0H,40H
DB 00H,0FFH,00H,00H,0 1H,0 1H,03H,05H,09H, 1H,2 1H,4 1H,0 1H,0 1H,0 1H,0 1H,0 1H,0 1H,0 1H
db 04H,0FEH,80H,80H,00H,00H,40H,20H, 18H,0CH,04H,00H,00H,00H,00H,00H,00H
DB 00H,40H,20H, 17H,00H,00H,0f 10H, 10H, 10H, 10H, 10H, 10H, 10H, 10H,28H,47H,00H
db 10H, 10H, 10H,0FCH, 10H, 10H,90H,90H, 10H, 10H, 10H,50H,20H,06H,0FCH,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
end