This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

not able to disply

i wrote the code for 16*2line display
but iam not getting any chars on the disply
can any one tell what is the problem

  org       0000h
               mov       p1,#00h
               mov       a,#38h  ; intitial
               acall     command
               acall     delay
               mov       a,#0eh  ;  on every thing
               acall     command
               acall     delay
               mov       a,#01h   ; clear
               acall     command
               acall     delay
               mov       a,#06h    ; right shift
               acall     command
               acall     delay
               mov       a,#080h   ;place at firstline
               acall     command
               acall     delay
        again: clr       a
               mov       dptr,#datal
               movc      a,@a+dptr
               acall     display
               acall     delay
               inc       dptr
               sjmp      again



  command:
              acall   ready
              mov     p1,a
              clr     p0.5          ;rs=0
              clr     p0.6          ;for r/w=0
              setb    p0.4
              acall   delay          ;for en=1
              clr     p0.4          ; for en=0
              ret

   display:

              acall   ready
              mov     p1,a
              setb    p0.5                 ;rs=0
              clr     p0.6                 ;write r/w
              setb    p0.4
              acall   delay                 ;en=1
              clr     p0.4
              ret                          ;en=0

  delay:
              mov     r1,#2
              mov     r2,#1
        L1:   djnz    r1,L1
              djnz    r2,L1
              ret
  ready:
              setb    p1.7             ;d7
              clr     p0.5             ;rs=0
              setb    p0.6             ;r/w=1
       here:  clr     p0.4             ;en=0
              acall   delay
              setb    p0.4             ;en=1
              jb      p1.7,here
              ret


 datal:       db  "hello world",0
              end