发布网友 发布时间:7小时前
共4个回答
热心网友 时间:7小时前
你的程序,有三种流水灯的模式,就是按键功能,检测不出来。
电路图,不清楚,看个大概。
现在是:K1、K2分别按下,各显示一种模式,
两个键盘都不按,显示第三种模式。
你原来只是在起动的时候,按键才管用,要想更换模式,必须重新起动。
现在增加了三行:“LJMP START ;本行可删除”,就可以在运行期间,更换模式。.
ORG 0000H
START:
MOV P1, #255
CLR P1.6
MOV P2, #0
SETB P2.1
SETB P2.3
JNB P1.0, LOOPB
JNB P1.1, LOOPC
MOV A,#01H
LOOPA:MOV R0,#7
LOOPAL:
MOV P0, A
RL A
LCALL DELAY
DJNZ R0, LOOPAL
MOV R0,#7
LOOPAR:
MOV P0, A
RR A
LCALL DELAY
DJNZ R0, LOOPAR
LJMP START ;本行可删除.
LJMP LOOPA
LOOPB:MOV A,#03H
LOOPBL:
MOV P0,A
RL A
LCALL DELAY
JNB ACC.7, LOOPBL
LOOPBR:
MOV P0, A
RR A
LCALL DELAY
JNB ACC.0,LOOPBR
LJMP START ;本行可删除.
LJMP LOOPB
LOOPC:MOV R0,#3
MOV A,#01H
LOOPCL:
MOV P0, A
RL A
RL A
LCALL DELAY
DJNZ R0,LOOPCL
MOV R0, #3
RL A
LOOPCR:
MOV P0, A
RR A
RR A
LCALL DELAY
DJNZ R0, LOOPCR
LJMP START ;本行可删除.
LJMP LOOPC
DELAY:MOV R4,#2
L3:MOV R2,#250
L1:MOV R3,#250
L2:DJNZ R3,L2
DJNZ R2,L1
DJNZ R4,L3
RET
END
本程序在PROTEUS中调试通过。
热心网友 时间:7小时前
将CLR P1,CLR P2改为MOV P1, #00H,MOV P2, #00H。你的什么编译器?怀疑你没有编译通过。你确定烧录上去了?你还要确定板子是好的。
热心网友 时间:7小时前
我用C编写,你要不?
热心网友 时间:7小时前
晕啊 你这个问题 问得也太笼统了吧,你至少也要说清楚,到底是哪一部出了问题啊,程序下载不成功呢,还是led亮灭不如所愿呢?