I have a assambly code for 3 nos 8x8 dot matrix scrolling display . I have modified the hardware by increasing another 3 nos of dot matrix (total 6 nos) by adding 3 nos of shift register in series. And I think there is no error in hardware but unfortunately I have no idea to modify .asm code to fit for the new display.
The display is working but like a parallel display . If I display "WELCOME" , it is displaying "W E L W E L" instead " W E L C O M E" .
Display starts from 6th and 3rd matrix simultaneously. And its not merging all over the six matrix , It starts from 6th and end at 4th matrix . And another starts from 4th and end at 1st matrix.
Please help me to modify the .asm code .
Here is the code:
Mod edit: code tags
The display is working but like a parallel display . If I display "WELCOME" , it is displaying "W E L W E L" instead " W E L C O M E" .
Display starts from 6th and 3rd matrix simultaneously. And its not merging all over the six matrix , It starts from 6th and end at 4th matrix . And another starts from 4th and end at 1st matrix.
Please help me to modify the .asm code .
Here is the code:
Code:
clk equ p2.1 ; pins of 4094 shift register
data7 equ p2.0
org 00h
mov r3,#24
q1:
clr data7
mov P0,#0ffh
acall clock
djnz r3,q1
initial:
mov r3,#25
mov r4,#18
setb data7
mov dptr,#data0
mov r0,#255
back1:
mov 20h,dpl
mov 21h,dph
back0:
clr a
movc a,@a+dptr
cjne a,#99h,s1 ; 99h for exit
sjmp initial
s1:
acall clock
clr data7
inc dptr
djnz r3, back0
mov r3,#24
setb data7
mov dpl,20h
mov dph,21h
djnz r4,back1
mov r4,#18
inc dptr
djnz r0, back1
sjmp initial
clock:
clr clk
acall delay_ms
mov P0,#0ffh
setb clk
mov P0,a ; port 0 is attached to rows of matrix
ret
delay_ms:
mov r1,#7
ad15:
mov r2,#20
ad5:
djnz r2,ad5
djnz r1,ad15
ret
Attachments
-
183.9 KB Views: 8
Last edited by a moderator: