8*8点阵静态显示问题


列扫描法显示字符
但是每次出现字符后不到一秒只剩下最后一列有效
其他列都灭了

      org 0000h
       ajmp main
       org 002ch
  main:mov dptr,#gra ;字码表初址
       mov r1,#01h;列控制
       mov r2,#08h   ;列数

    t3:mov r4,#10
    t2:mov r5,#0
     t:mov p3,#00h ;关闭显示
       mov a,r5
       movc a,@a+dptr
       mov p2,a      ;送1~8行控制口
       inc r5
       mov a,r1
       mov p3,a         ;送列控制码
       acall delay
       rl a
       mov r1,a
       djnz r2,t    ;未显示8 列,继续


delay:mov r6,#10
    t4:mov r7,#255
       djnz r7,$
       djnz r6,t4
       ret

  gra:
      DB  00H,38H,7CH,7EH,3FH,7EH,7CH,38H
      end



哪位大哥可以指点一下