2019-03-24 19:31发布
原帖由 mrfantexi 于 2011-12-13 17:44 发表 这是我的显示程序 DISPLAY: MOV 30H,#30 L1: MOV A,30H MOV B,#10 DIV AB MOV DPTR,#TABLE MOV R0,A MOV R1,B MOV R2,#10 ;增加循环用于延时。 K1: SETB P1.1 ...
最多设置5个标签!
动态显示的时候如果间隔的时间比较长,就会看到两个数码管分别显示的情况;如果每个数码管点亮的时间太短,显示的时候会出现亮度不均匀,好像游泳的闪烁。还要注意一下残影的情况。
DISPLAY:
MOV 30H,#30
L1: MOV A,30H
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOV R0,A
MOV R1,B
MOV R2,#10 ;增加循环用于延时。
K1: SETB P1.1
CLR P1.0
MOVC A,@A+DPTR
MOV P0,A
LCALL DEL
MOV DPTR,#TABLE
SETB P1.0
CLR P1.1
MOV A,R1
MOVC A,@A+DPTR
MOV P0,A
MOV A,R0
LCALL DEL
DJNZ R2,K1 ;判断循环次数到了没
DJNZ 30H, L1 ;判断25减完了没有
RET
DEL: MOV R5 , #5
DD2: MOV R6 , #20
DD1: MOV R7 , #248
DJNZ R7 , $
DJNZ R6 , DD1
DJNZ R5 , DD2
RET
我将延时改短了,就不会出现那种情况,不过那样子一秒就会走得非常快,请问还有什么办法解决吗?
一周热门 更多>