keil 仿真实验板 led 点不亮 有程序[newer]

海洋dz   2009-3-25 23:50 楼主
start:mov dptr, #table
      mov a, #6
      movc a,@a+dptr
      mov p0,a
      jmp $
table:db 0c0h, 0f9h,0a4h,0b0h
      db 99h,92h,82h,0f8h
                db 80h,90h,88h,83h
                db 0c6h,0a1h,86h,8eh
      end
使用的是平凡老师得仿真实验板
**********************下面这个程序却可以点亮 仿真实验板中带的程序**********
ORG 0000h
JMP MAIN
ORG 30H
MAIN:
MOV SP,#5FH
MOV R1,#08H
MOV R0,#58H ;显示缓冲区首地址
MOV A,#2
INIT:
MOV @R0,A ;初始化显示缓冲区
INC A
INC R0
DJNZ R1,INIT ;将0-7 送显示缓冲区
LOOP:
CALL DISPLAY
JMP LOOP
;主程序到此结束
DISPLAY:
MOV R0,#7FH ;列选择
MOV R7,#08H ;共有8 个字符
MOV R1,#58H ;显示缓冲区首地址
AGAIN:
MOV A,@R1
MOV DPTR,#DISPTABLE
MOVC A,@A+DPTR
MOV P0,A
MOV P2,R0
MOV A,R0
RR A
MOV R0,A
INC R1
DJNZ R7,AGAIN
RET
DISPTABLE: DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0FFH ;字形码表
END

回复评论 (6)

少了MOV P2,R0
你只选择了行,没有选择列,当然是点不亮的了。
点赞  2009-3-26 08:11
少了MOV P2,R0
你只选择了行,没有选择列,当然是点不亮的了。
点赞  2009-3-26 11:42
你只送入了数据,并没有位选中相应的LED。
点赞  2009-3-26 12:25
少了MOV P2,R0
你只选择了行,没有选择列,当然是点不亮的了。
点赞  2009-4-5 14:38
少了MOV P2,R0
你只选择了行,没有选择列,当然是点不亮的了。
点赞  2009-4-5 14:39
少了MOV P2,R0
你只选择了行,没有选择列,当然是点不亮的了。
点赞  2009-4-5 14:39
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复