标题: [讨论]如何用三位显示数字呢? [打印本页]

作者: 熙风    时间: 2009-7-7 16:03
标题: [讨论]如何用三位显示数字呢?
最近看了2个数码管显示数的模块,如果是三位数码管是否要多用一路端口呢?
这是2个数码管的,三路的该怎么改?
Count EQU 30H
SP1 BIT P3.7
ORG 0
START: MOV Count,#00H
NEXT: MOV A,Count
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
WT: JNB SP1,WT
WAIT: JB SP1,WAIT
LCALL DELY10MS
JB SP1,WAIT
INC Count
MOV A,Count
CJNE A,#100,NEXT
LJMP START
DELY10MS: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END

不好意思,本人初学,谢谢大家帮助

作者: hg1949    时间: 2009-7-7 17:31
最近看了2个数码管显示数的模块,如果是三位数码管是否要多用一路端口呢?
这是2个数码管的,三路的该怎么改?
Count EQU 30H
SP1 BIT P3.7
ORG 0
START: MOV Count,#00H
NEXT: MOV A,Count
MOV B,#100                  ;百位
DIV AB                          ;商A,余b
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOV B,#10                     ;十位
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
MOV A,B                         ;个位
MOVC A,@A+DPTR
MOV P1,A                        ;传递到第三位数码管码位,具体看试验板
WT: JNB SP1,WT
WAIT: JB SP1,WAIT
LCALL DELY10MS
JB SP1,WAIT
INC Count
MOV A,Count
CJNE A,#999,NEXT            ;这里改成999
LJMP START
DELY10MS: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END


作者: nishibeitina    时间: 2009-7-7 21:08

真好


作者: 熙风    时间: 2009-7-8 07:54

                                                                    非常感谢!


作者: 小雄    时间: 2009-7-31 15:39
很好~~~ 
作者: 小雄    时间: 2009-7-31 16:04

那里好像不用改成999哦,好像已经溢出了。


作者: 小雄    时间: 2009-7-31 16:11
最大只能改到255




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1