stc89c52单片机 汇编程序问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 21:16:41
这是源程序 3.2 3.3 .3.4 3.5四个中断源接四个按钮实现录入及输出信号的控制程序
中断3.2 3.3 3.4负责将#0FEH #07FH #0H分别录入到stc89c52的 80H之后的内存中 而3.5则将先前录入的信号 依次有延时输出并通过p1控制的发光二极管显示.
源程序如下 但是没有达到预期的效果 希望高手指出问题 如答案符合要求将再追加20分.
ORG 0000H
MEG EQU 80H
MOV DPTR, #MEG
MOV R1, #0

;--------------------------------
_1_: JB P3.2, _2_
JMP TRUNS1

_2_: JB P3.3, _3_
JMP TRUNS2

_3_: JB P3.4, _4_
JMP TRUNS3

_4_: JB P3.5, _1_
JMP TRUNS4

;---------------------------------
TRUNS1: MOV A, #0FEH ;键3.2
MOVX @DPTR, A
CALL LIGHT
INC DPTR
INC R1
JMP _1_

TRUNS2: MOV A, #07FH ;键3.3
MOVX @DPTR, A
CALL LIGHT
INC DPTR
INC R1
JMP _1_

TRUNS3: MOV A, #0 ;键3.4
MOVX @DPTR, A
MOV P1, #81H
INC DPTR
INC R1
JMP _1_

TRUNS4: MOV DPTR, #MEG ;键3.5
TRU:

MOVX @DPTR, A 。 MOVX 是片外ROM传送指令,DPTR是16位指针,你那应该用r0或r1,
DEL2: MOV R0, #100
DJNZ R0, $ 这有问题

后面键3.5那看不明白,那么乱,在KELL调试那调试看看吧

都不明白你的题意