
proteus仿真流水灯的问题(+20分)
ORG0000HLJMPSTARTORG0030HSTART:MOVP1,#0FEHMOVP1,#0FDHMOVP1,#0FBHMOVP1,#0F7HMOVP1,#0EF...
ORG 0000H
LJMP START
ORG 0030H
START:MOV P1 , #0FEH
MOV P1 , #0FDH
MOV P1 , #0FBH
MOV P1 , #0F7H
MOV P1 , #0EFH
MOV P1 , #0DFH
MOV P1 , #0BFH
MOV P1 , #7FH
CALL DELAY
SJMP START
DELAY:NOP
NOP
NOP
RET
END
上面是源程序,编译的HEX文件放到proteus的单片机内执行,结果会出现一圈中有一个灯被隔过去没亮的现象,有时是第一个,有时是其他的灯,单步调试发现有一句会隔过去执行,到底是为什么? 展开
LJMP START
ORG 0030H
START:MOV P1 , #0FEH
MOV P1 , #0FDH
MOV P1 , #0FBH
MOV P1 , #0F7H
MOV P1 , #0EFH
MOV P1 , #0DFH
MOV P1 , #0BFH
MOV P1 , #7FH
CALL DELAY
SJMP START
DELAY:NOP
NOP
NOP
RET
END
上面是源程序,编译的HEX文件放到proteus的单片机内执行,结果会出现一圈中有一个灯被隔过去没亮的现象,有时是第一个,有时是其他的灯,单步调试发现有一句会隔过去执行,到底是为什么? 展开
2个回答
展开全部
晕!这个程序当然不会看到效果!
不知道你选的是多少的晶振!一般12M晶振,运行一条MOV指令也就1u秒的时间!你这个程序运行一圈也就10多u秒。灯还没全亮或是全灭就换了!当然看不到效果!找本程序的书好好看看吧!你的延时也不够,试试下面的:
ORG 0000H
LJMP START
ORG 0030H
START:
MOV P1 , #0FEH
ACALL DELAY
MOV P1 , #0FDH
ACALL DELAY
MOV P1 , #0FBH
ACALL DELAY
MOV P1 , #0F7H
ACALL DELAY
MOV P1 , #0EFH
ACALL DELAY
MOV P1 , #0DFH
ACALL DELAY
MOV P1 , #0BFH
ACALL DELAY
MOV P1 , #7FH
ACALL DELAY
AJMP START
DELAY:MOV R0,#255 ;延时,约65毫秒
DEL1: MOV R1,#255
DEL2: DJNZ R1,DEL2
DJNZ R0,DEL1
RET
END
不知道你选的是多少的晶振!一般12M晶振,运行一条MOV指令也就1u秒的时间!你这个程序运行一圈也就10多u秒。灯还没全亮或是全灭就换了!当然看不到效果!找本程序的书好好看看吧!你的延时也不够,试试下面的:
ORG 0000H
LJMP START
ORG 0030H
START:
MOV P1 , #0FEH
ACALL DELAY
MOV P1 , #0FDH
ACALL DELAY
MOV P1 , #0FBH
ACALL DELAY
MOV P1 , #0F7H
ACALL DELAY
MOV P1 , #0EFH
ACALL DELAY
MOV P1 , #0DFH
ACALL DELAY
MOV P1 , #0BFH
ACALL DELAY
MOV P1 , #7FH
ACALL DELAY
AJMP START
DELAY:MOV R0,#255 ;延时,约65毫秒
DEL1: MOV R1,#255
DEL2: DJNZ R1,DEL2
DJNZ R0,DEL1
RET
END

2025-05-09 广告
采用聚丙烯塑料单元模块组合,在水池周围包裹防渗土工布,形成地下贮水池。由于表面光滑,不滋生藻类,可使储存的水体水质保持较长时间稳定。再有,模块式的组合,可使雨水集蓄池极大的适应场地的限制,组成各种形状,同时具有安装方便,承载力大,可拆除迁移...
点击进入详情页
本回答由 徐经理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询