单片机跑马灯问题!!!看看我的程序,高手支招!

发布网友 发布时间:6小时前

我来回答

4个回答

热心网友 时间:6小时前

你的程序,有三种流水灯的模式,就是按键功能,检测不出来。
电路图,不清楚,看个大概。
现在是: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中调试通过。

热心网友 时间:6小时前

将CLR P1,CLR P2改为MOV P1, #00H,MOV P2, #00H。你的什么编译器?怀疑你没有编译通过。你确定烧录上去了?你还要确定板子是好的。

热心网友 时间:6小时前

我用C编写,你要不?

热心网友 时间:6小时前

晕啊 你这个问题 问得也太笼统了吧,你至少也要说清楚,到底是哪一部出了问题啊,程序下载不成功呢,还是led亮灭不如所愿呢?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com