描述:
外中断51单片机汇编语言

ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0
ORG 0060H
MAIN:
MOV R7,#19H
MOV R3,#07H
SETB EA
SETB EX0
SETB IT0
MOV DPTR,#TAB1
LOOP:
MOV A,R3
ADD A,#0AH
MOV P0,#01H
MOVC A,@A+DPTR
MOV P2,A
MOV R4,#4FH
DJNZ R4,$
MOV P2,#0FFH
AJMP LOOP
INT0: INC R3
;MOV R3,#00H
RETI
TAB1: DB 0C0H,0F9H,0A4H,0B0H,099H,92H,82H,0F8H,80H,90H ; 数字0-9无小数点
DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H ;有小数点
proteus 7.8仿真 用的是它内部的编译器 我在外面写好程序直接复制进去的 为什么我按下INT0旁边的按键,没有进入中断,R3并未增加,被注释掉的是我为了验证有没有进入中断添加的,我验证过 数字始终显示7. 求解答 在线等 急求 ( 我今天去了实验室 也做了这样类似的试验 结果我在中断取反的P1口上的灯全有变化 而寄存器始终不变 我们学校设备比较老 但这个应该没问题 我后来又在软件仿真上试了在中断只调用一个INC R3的子程序 还是无变化

解决方案1:
首先你的外中断按钮接脚好像不是接在P3.2(INT0)
还有要改名INT0是不可用作程序的名的,随便改改如下便可以,我试过了。把BREAKPOINT放在INTx0内,一按便停在BREAKPOINT。
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTx0
ORG 0060H
MAIN:
MOV R7,#19H
MOV R3,#07H
SETB EA
SETB EX0
SETB IT0
MOV DPTR,#TAB1
LOOP:
MOV A,R3
ADD A,#0AH
MOV P0,#01H
MOVC A,@A+DPTR
MOV P2,A
MOV R4,#4FH
DJNZ R4,$
MOV P2,#0FFH
MOV P1,R3
AJMP LOOP
INTx0: INC R3
;MOV R3,#00H
MOV P1,R3
MOV P1,R3
MOV P1,R3
RETI
TAB1: DB 0C0H,0F9H,0A4H,0B0H,099H,92H,82H,0F8H,80H,90H ; 数字0-9无小数点
DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H ;有小数点
END