单片机编程问题高手进

来源:百度知道 编辑:UC知道 时间:2024/07/06 16:12:15
根据所描述的实验现象将程序补充完整:P1口的八个灯右移循环点亮,用单次脉冲申请中断,按下脉冲源后8个灯全部闪烁8次后继续往右循环点亮。
ORG 0000H
LJMP START
_____________;设置外部中断1的入口地址
LJMP INTP
ORG 0030H
START: MOV SP,#60H
______________;设置中断总允许
SETB EX1
_______________;设置触发方式为低电平触发
MOV A,#0FEH
LOOP: MOV P1,A
LCALL DELAY
_____________;实现将8个灯右移循环点亮
LJMP LOOP
INTP: PUSH ACC
PUSH PSW
PUSH P1
CLR RS1
SETB RS0
MOV R1,#5
LOP: MOV P1,#00H
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
_________________; 控制8个灯全部闪烁8次
POP P1
POP PSW
POP ACC
RETI
DELAY: ……;延时程序省略
RET
END

ORG 0000H
LJMP START
ORG 0013H;设置外部中断1的入口地址
LJMP INTP
ORG 0030H
START: MOV SP,#60H
SETB EA;设置中断总允许
SETB EX1
CLR IT1;设置触发方式为低电平触发
MOV A,#0FEH
LOOP: MOV P1,A
LCALL DELAY
RRC A ;实现将8个灯右移循环点亮
LJMP LOOP
INTP: PUSH ACC
PUSH PSW
PUSH P1
CLR RS1
SETB RS0
MOV R1,#8
LOP: MOV P1,#00H
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
DJNZ R1,LOP; 控制8个灯全部闪烁8次
POP P1
POP PSW
POP ACC
RETI
DELAY: ……;延时程序省略
RET
END
外部中断程序中R1应该是用于控制闪烁次数,这个地方你MOV R1,#5不符合闪烁8次的要求,是你卷子印刷错误吧?

我单片机9月份要补考..郁闷..我刚毕业