找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6354|回复: 6
打印 上一主题 下一主题
收起左侧

[讨论]如何用三位显示数字呢?

[复制链接]
跳转到指定楼层
楼主
ID:14957 发表于 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

不好意思,本人初学,谢谢大家帮助
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:14775 发表于 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

回复

使用道具 举报

板凳
ID:14095 发表于 2009-7-7 21:08 | 只看该作者

真好

回复

使用道具 举报

地板
ID:14957 发表于 2009-7-8 07:54 | 只看该作者

                                                                    非常感谢!

回复

使用道具 举报

5#
ID:15769 发表于 2009-7-31 15:39 | 只看该作者
很好~~~ 
回复

使用道具 举报

6#
ID:15769 发表于 2009-7-31 16:04 | 只看该作者

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

回复

使用道具 举报

7#
ID:15769 发表于 2009-7-31 16:11 | 只看该作者
最大只能改到255
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表