找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3555|回复: 6
收起左侧

求助,用汇编语言使8个数码管全部显示H,下面代码为什么不行。

[复制链接]
ID:384631 发表于 2018-8-10 15:28 | 显示全部楼层 |阅读模式
ORG 0000H
AJMP MAIN
ORG 0080H
MAIN:
CLR P2.0 ;选中第一个数码管
MOV P0,#76H ;显示H
LCALL DELAY ; 调用延时
MOV P0,#00H ;关显示
SETB P2.0
CLR P2.1 ;选中第二个数码管
MOV P0,#76H ;显示H
LCALL DELAY
MOV P0,#00H
SETB P2.1
CLR P2.2 ;选中第三个数码管
MOV P0,#76H ;显示H
LCALL DELAY
MOV P0,#00H
SETB P2.2
CLR P2.3 ;选中第四个数码管
MOV P0,#76H ;显示H
LCALL DELAY
MOV P0,#00H
SETB P2.3
CLR P2.4 ;选中第五个数码管
MOV P0,#76H ;显示H
LCALL DELAY
MOV P0,#00H
SETB P2.4
CLR P2.5 ;选中第六个数码管
MOV P0,#76H ; 显示H
LCALL DELAY
MOV P0,#00H
SETB P2.5
CLR P2.6 ;选中第七个数码管
MOV P0,#76H ; 显示H
LCALL DELAY
MOV P0,#00H
SETB P2.6
CLR P2.7 ;选中第八个数码管
MOV P0,#76H ; 显示H
LCALL DELAY
SETB P2.7
MOV P0,#00H
AJMP MAIN ;重新开始
DELAY: ;延时子程序
MOV R7,#2
D1: MOV R6,#25
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END

回复

使用道具 举报

ID:384901 发表于 2018-8-10 17:05 | 显示全部楼层
25*2   50us??   你这延时是不是有点短?
回复

使用道具 举报

ID:384631 发表于 2018-8-11 08:44 | 显示全部楼层
leoyks 发表于 2018-8-10 17:05
25*2   50us??   你这延时是不是有点短?

实际显示效果只显示4个
回复

使用道具 举报

ID:313515 发表于 2018-8-11 13:13 来自手机 | 显示全部楼层
实际只有4个的话你看看原理图,另外4个是不是接的别的io口
回复

使用道具 举报

ID:384901 发表于 2018-8-11 13:35 | 显示全部楼层
Garvy 发表于 2018-8-11 08:44
实际显示效果只显示4个

单步调试一下吧
回复

使用道具 举报

ID:384631 发表于 2018-8-11 16:32 | 显示全部楼层
jdddd 发表于 2018-8-11 13:13
实际只有4个的话你看看原理图,另外4个是不是接的别的io口

我这款板子是两个数码管组成的,它现实的是一个显示3个,另一个显示1个
回复

使用道具 举报

ID:384631 发表于 2018-8-11 16:33 | 显示全部楼层
leoyks 发表于 2018-8-11 13:35
单步调试一下吧

我试试
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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