level 1
zaqxswx
楼主
我的单片机开发板的7段数码管显示0到9是没有规律的所以我希望通过取表发计时 但是实验发现数字乱七八糟所以我估计是取表的时候地址有问题 但是我又不知道哪里有问题 求大神帮助啊
ORG 00H
START:
MOV P0,#040H
JB P1.0,$
CALL FILTER
JNB P1.0,$
MOV DPTR,#TABLE
CLR A
PRESS_1:
MOV R5,#10
D1:
MOV R6,#200
CALL DELAY
DJNZ R5,D1
MOVC A,@A+DPTR
CJNE A,#88H,DISPLAY
JMP START
DISPLAY:
MOV P0,A
INC DPTR
JMP PRESS_1
DELAY:
MOV R7,#248
DJNZ R7,$
DJNZ R6,DELAY
RET
FILTER:
MOV R6,#60
F1:
MOV R7,#248
DJNZ R7,$
DJNZ R6,F1
RET
TABLE:
DB 079H,024H,030H,019H,012H,02H,078H,00H,010H,088H
END
table中的数据是没有错的 我是算好再试的 单独都能在数码管上正确显示
有错误希望能说的详细一点 我感觉我太笨了
2015年04月22日 11点04分
1
ORG 00H
START:
MOV P0,#040H
JB P1.0,$
CALL FILTER
JNB P1.0,$
MOV DPTR,#TABLE
CLR A
PRESS_1:
MOV R5,#10
D1:
MOV R6,#200
CALL DELAY
DJNZ R5,D1
MOVC A,@A+DPTR
CJNE A,#88H,DISPLAY
JMP START
DISPLAY:
MOV P0,A
INC DPTR
JMP PRESS_1
DELAY:
MOV R7,#248
DJNZ R7,$
DJNZ R6,DELAY
RET
FILTER:
MOV R6,#60
F1:
MOV R7,#248
DJNZ R7,$
DJNZ R6,F1
RET
TABLE:
DB 079H,024H,030H,019H,012H,02H,078H,00H,010H,088H
END
table中的数据是没有错的 我是算好再试的 单独都能在数码管上正确显示
有错误希望能说的详细一点 我感觉我太笨了