Dot Matrix Scrolling Display -Assambly Language Modification Needed.

Thread Starter

sanzuu

Joined Mar 7, 2017
3
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:
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
Mod edit: code tags
 

Attachments

Last edited by a moderator:

AlbertHall

Joined Jun 4, 2014
12,344
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.
That sounds like a hardware problem not a software problem. Your extra shift registers should get their input from the output of the original registers but the problem sounds like the input to the extra registers is coming from the input to the original registers.
 

Thread Starter

sanzuu

Joined Mar 7, 2017
3
I checked several time and shift register connection OK. Even if I add 7 shift register then it not start from 7th . It start from 6th & 3rd . 7th matrix is working when 1st & 4th matrix is displaying. It splits after every three matrix.

I have attached shift register schematic diagram.
 

Attachments

Thread Starter

sanzuu

Joined Mar 7, 2017
3
That sounds like a hardware problem not a software problem. Your extra shift registers should get their input from the output of the original registers but the problem sounds like the input to the extra registers is coming from the input to the original registers.
That sounds like a hardware problem not a software problem. Your extra shift registers should get their input from the output of the original registers but the problem sounds like the input to the extra registers is coming from the input to the original registers.
Yes I checked with one letter and it is moving 6th to 4th & 3rd to 1st.

`
data0: db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
db 0ffh,08dh,066h,066h,066h,066h,0b1h,0ffh
db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,99h
end
`
 
Top