注册 登录
编程论坛 汇编论坛

急!请汇编高手帮忙看下!

细水长流 发布于 2008-05-22 13:10, 793 次点击
我要实现从右往左逐列依次扫描 实现 4个汉字
我这个是 9列10行的  行通过驱动器 用P0口和P2.7、P2.6来控制 列则直接用P1口和P3.7 控制列选
望哪位高手能帮我看下 以下代码能否实现上述功能   万分感谢!

       ORG   0000H
       LJMP  MAIN
       ORG   0100H
LOOP:  MOV   R1,#49H
       MAIN: MOV  P0, #00H  ;关显示
       MOV        P2, #00FH
LOOP1: MOV   DPTR,#TAB

       CLR   A  ;查表
       MOVC  A, @A+DPTR ;
       MOV   P0, A ;数据送到P0口
       INC   DPTR  ;准备查表下一数据
       CLR   A  ;查表
       MOVC  A, @A+DPTR ;
       MOV   P2, A ;数据送到P2口
       SETB  P3. 0
       LCALL DELAY1MS
       MOV   P0, #0FFH
       MOV   P2, #0FFH
       CLR   P3.0
       INC   DPTR

       CLR   A
       MOVC  A, @A+DPTR ;
       MOV   P0, A ;数据送到P0口
       INC   DPTR ;准备查表下一数据
       CLR   A  ;查表
       MOVC  A, @A+DPTR ;
       MOV   P2, A  ;数据送到P2口
       SETB  P1.7
       LCALL DELAY1MS
       MOV   P0, #0FFH
       MOV   P2, #0FFH
       CLR   P1.7
       INC   DPTR

       CLR   A
       MOVC  A, @A+DPTR ;
       MOV   P0, A  ;数据送到P0口
       INC   DPTR ;准备查表下一数据
       CLR   A ;查表
       MOVC  A, @A+DPTR ;
       MOV   P2, A  ;数据送到P2口
       SETB  P1.6
       LCALL DELAY1MS
       MOV   P0, #0FFH
       MOV   P2, #0FFH
       CLR   P1.6
       INC   DPTR

       CLR   A
       MOVC  A, @A+DPTR ;
       MOV   P0, A  ;数据送到P0口
       INC   DPTR  ;准备查表下一数据
       CLR   A  ;查表
       MOVC  A,@A+DPTR ;
       MOV   P2, A  ;数据送到P2口
       SETB  P1.5
       LCALL DELAY1MS
       MOV   P0, #0FFH
       MOV   P2, #0FFH
       CLR   P1.5
       INC   DPTR

       CLR   A
       MOVC  A, @A+DPTR ;
       MOV   P0, A  ;数据送到P0口
       INC   DPTR  ;准备查表下一数据
       CLR   A  ;查表
       MOVC  A, @A+DPTR ;
       MOV   P2, A  ;数据送到P2口
       SETB  P1.4
       LCALL DELAY1MS
       MOV   P0, #0FFH
       MOV   P2, #0FFH
       CLR   P1.4
       INC   DPTR

       CLR   A
       MOVC  A, @A+DPTR ;
       MOV   P0, A  ;数据送到P0口
       INC   DPTR  ;准备查表下一数据
       CLR   A  ;查表
       MOVC  A, @A+DPTR ;
       MOV   P2, A  ;数据送到P2口
       SETB  P1.3
       LCALL DELAY1MS
       MOV   P0, #0FFH
       MOV   P2, #0FFH
       CLR   P1.3
       INC   DPTR

       CLR   A
       MOVC  A, @A+DPTR ;
       MOV   P0, A  ;数据送到P0口
       INC   DPTR  ;准备查表下一数据
       CLR   A  ;查表
       MOVC  A, @A+DPTR ;
       MOV   P2, A  ;数据送到P2口
       SETB  P1.2
       LCALL DELAY1MS
       MOV   P0, #0FFH
       MOV   P2, #0FFH
       CLR   P1.2
       INC   DPTR

       CLR   A
       MOVC  A, @A+DPTR ;
       MOV   P0, A  ;数据送到P0口
       INC   DPTR  ;准备查表下一数据
       CLR   A  ;查表
       MOVC  A, @A+DPTR ;
       MOV   P2, A  ;数据送到P2口
       SETB  P1.1
       LCALL DELAY1MS
       MOV   P0, #0FFH
       MOV   P2, #0FFH
       CLR   P1.1
       INC   DPTR

       CLR   A
       MOVC  A, @A+DPTR ;
       MOV   P0, A  ;数据送到P0口
       INC   DPTR  ;准备查表下一数据
       CLR   A  ;查表
       MOVC  A, @A+DPTR ;
       MOV   P2, A  ;数据送到P2口
       SETB  P1.0
       LCALL DELAY1MS
       MOV   P0, #0FFH
       MOV   P2, #0FFH
       CLR   P1.0
       INC   DPTR

       DEC   R1
       CJNE  R1,#0,LOOP
       SJMP  LOOP1

       DELAY1MS:  MOV R6, #02h
       DELAYLOOP: MOV R7, #040h
       DJNZ  R7, $
       DJNZ  R6, DELAYLOOP
       RET


#TAB:
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
DB 38H, 00H ,00H, 00H ,00H ,00H, 00H, 00H, 00H ,00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
DB 28H ,00H ,38H ,00H ,00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
DB 28H ,00H ,28H ,00H, 38H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
DB 28H ,00H ,28H ,00H, 28H, 00H, 38H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
DB FFH ,C0H ,28H ,00H, 28H, 00H, 28H, 00H, 38H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
DB 28H, 00H ,FFH, C0H, 28H, 00H, 28H, 00H, 28H, 00H, 38H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
DB 28H, 00H ,28H, 00H, FFH, C0H, 28H, 00H, 28H, 00H, 28H, 00H, 38H, 00H, 00H, 00H, 00H, 00H
DB 28H ,00H ,28H, 00H, 28H, 00H, FFH, C0H, 28H, 00H, 28H, 00H, 28H, 00H, 38H, 00H, 00H, 00H
DB 38H ,00H ,28H, 00H, 28H, 00H, 28H, 00H, FFH, C0H, 28H, 00H, 28H, 00H, 28H, 00H, 38H, 00H

DB 00H, 00H, 38H, 00H, 28H, 00H, 28H, 00H, 28H, 00H, FFH, C0H, 28H, 00H, 28H, 00H, 28H, 00H
DB FFH ,C0H, 00H, 00H, 38H, 00H, 28H, 00H, 28H, 00H, 28H, 00H, FFH, C0H, 28H, 00H, 28H, 00H
DB 80H ,40H, FFH, C0H, 00H, 00H, 38H, 00H, 28H, 00H, 28H, 00H, 28H, 00H, FFH, C0H, 28H, 00H
DB A0H ,40H, 80H, 40H, FFH, C0H, 00H, 00H, 38H, 00H, 28H, 00H, 28H, 00H, 28H, 00H, FFH, C0H
DB A9H ,40H, A0H, 40H, 80H, 40H, FFH, C0H, 00H, 00H, 38H, 00H, 28H, 00H, 28H, 00H, 28H, 00H
DB BFH ,40H, A9H, 40H, A0H, 40H, 80H, 40H, FFH, C0H, 00H, 00H, 38H, 00H, 28H, 00H, 28H, 00H
DB A9H ,40H, BFH, 40H, A9H, 40H, A0H, 40H, 80H, 40H, FFH, C0H, 00H, 00H, 38H, 00H, 28H, 00H
DB A3H ,40H, A9H, 40H, BFH, 40H, A9H, 40H, A0H, 40H, 80H, 40H, FFH, C0H, 00H, 00H, 38H, 00H
DB 80H ,40H, A3H, 40H, A9H, 40H, BFH, 40H, A9H, 40H, A0H, 40H, 80H, 40H, FFH, C0H, 00H, 00H
DB FFH ,C0H, 80H, 40H, A3H, 40H, A9H, 40H, BFH, 40H, A9H, 40H, A0H, 40H, 80H, 40H, FFH, C0H

DB 00H, 00H, FFH, C0H, 80H, 40H, A3H, 40H, A9H, 40H, BFH, 40H, A9H, 40H, A0H, 40H, 80H, 40H
DB 20H, 80H, 00H, 00H, FFH, C0H, 80H, 40H, A3H, 40H, A9H, 40H, BFH, 40H, A9H, 40H, A0H, 40H
DB 21H, 00H, 20H, 80H, 00H, 00H, FFH, C0H, 80H, 40H, A3H, 40H, A9H, 40H, BFH, 40H, A9H, 40H
DB FEH, 00H, 21H, 00H, 20H, 80H, 00H, 00H, FFH, C0H, 80H, 40H, A3H, 40H, A9H, 40H, BFH, 40H
DB 20H, 00H, FEH, 00H, 21H, 00H, 20H, 80H, 00H, 00H, FFH, C0H, 80H, 40H, A3H, 40H, A9H, 40H
DB 20H, 80H, 20H, 00H, FEH, 00H, 21H, 00H, 20H, 80H, 00H, 00H, FFH, C0H, 80H, 40H, A3H, 40H
DB 3FH, 80H, 20H, 80H, 20H, 00H, FEH, 00H, 21H, 00H, 20H, 80H, 00H, 00H, FFH, C0H, 80H, 40H
DB 3CH, 00H, 3FH, 80H, 20H, 80H, 20H, 00H, FEH, 00H, 21H, 00H, 20H, 80H, 00H, 00H, FFH, C0H
DB 24H, 00H, 3CH, 00H, 3FH, 80H, 20H, 80H, 20H, 00H, FEH, 00H, 21H, 00H, 20H, 80H, 00H, 00H
DB 3CH, 00H, 24H, 00H, 3CH, 00H, 3FH, 80H, 20H, 80H, 20H, 00H, FEH, 00H, 21H, 00H, 20H, 80H

DB 00H ,00H, 3CH, 00H, 24H, 00H, 3CH, 00H, 3FH, 80H, 20H, 80H, 20H, 00H, FEH, 00H, 21H, 00H
DB 50H ,40H ,00H ,00H, 3CH, 00H, 24H, 00H ,3CH, 00H, 3FH, 80H, 20H ,80H ,20H ,00H, FEH, 00H
DB 28H, 80H, 50H, 40H, 00H, 00H, 3CH ,00H ,24H ,00H ,3CH, 00H, 3FH, 80H, 20H, 80H, 20H, 00H
DB 15H, 00H, 28H, 80H ,50H, 40H, 00H ,00H ,3CH ,00H ,24H ,00H ,3CH ,00H ,3FH ,80H ,20H ,80H
DB 00H, 00H, 15H ,00H ,28H ,80H ,50H ,40H, 00H, 00H ,3CH ,00H ,24H, 00H ,3CH ,00H ,3FH ,80H
DB 1FH, C0H, 00H, 00H ,15H ,00H ,28H, 80H ,50H ,40H, 00H, 00H, 3CH, 00H, 24H, 00H, 3CH ,00H
DB 12H ,40H ,1FH, C0H, 00H, 00H, 15H ,00H ,28H, 80H ,50H ,40H ,00H, 00H, 3CH, 00H, 24H, 00H
DB FFH ,C0H ,12H ,40H ,1FH ,C0H ,00H ,00H ,15H ,00H ,28H, 80H ,50H, 40H, 00H, 00H, 3CH, 00H
DB 12H, 40H, FFH ,C0H ,12H ,40H ,1FH ,C0H ,00H ,00H ,15H ,00H ,28H ,80H ,50H ,40H ,00H ,00H
DB 1FH ,C0H ,12H ,40H ,FFH ,C0H ,12H ,40H ,1FH ,C0H ,00H, 00H, 15H ,00H, 28H, 80H, 50H, 40H

DB 00H, 00H, 1FH ,C0H ,12H ,40H ,FFH ,C0H ,12H ,40H, 1FH ,C0H, 00H, 00H, 15H, 00H ,28H, 80H
DB 00H, 00H, 00H ,00H ,1FH ,C0H ,12H ,40H ,FFH, C0H, 12H, 40H, 1FH, C0H ,00H ,00H ,15H ,00H
DB 00H, 00H, 00H, 00H, 00H ,00H ,1FH ,C0H ,12H ,40H ,FFH ,C0H ,12H ,40H ,1FH ,C0H ,00H ,00H
DB 00H, 00H, 00H ,00H ,00H ,00H ,00H ,00H ,1FH ,C0H, 12H, 40H, FFH, C0H, 12H, 40H ,1FH, C0H
DB 00H, 00H, 00H, 00H, 00H ,00H ,00H ,00H ,00H, 00H, 1FH ,C0H ,12H ,40H ,FFH ,C0H ,12H ,40H
DB 00H, 00H, 00H ,00H ,00H ,00H, 00H, 00H, 00H ,00H ,00H ,00H ,1FH ,C0H ,12H ,40H ,FFH ,C0H
DB 00H, 00H, 00H ,00H ,00H ,00H ,00H, 00H ,00H ,00H ,00H ,00H ,00H ,00H ,1FH C,0H ,12H ,40H
DB 00H, 00H ,00H, 00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,1FH ,C0H
DB 00H, 00H, 00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H ,00H, 00H, 00H, 00H, 00H, 00H, 00H

[[it] 本帖最后由 细水长流 于 2008-5-22 18:04 编辑 [/it]]
1 回复
#2
learndr2008-05-24 21:26
好深,看不懂!!!!!!!
1