[51单片机] 为什么进入中断后出不来呢

[复制链接]
1780|3
 楼主| luckystone 发表于 2013-11-21 14:00 | 显示全部楼层 |阅读模式
ov, hm, vr, hd, ps
各位大神下面这个程序为什么进入中断(IT)后出不来呢,一直停留在中断处循环,led灯就一直工作在此中断下闪烁,为什么
   ORG 00H
   LJMP START
   ORG 03H
   LJMP IT
START:
   MOV IE,#81H
   MOV IP,#01H
   MOV TCON,#0H
   MOV SP,70H
M:
   MOV A,#00H
   MOV P1,A
   LCALL DELAY
   CPL A
   MOV P1,A
   LCALL DELAY
   JMP M
IT:
   PUSH ACC
   PUSH PSW
   SETB RS0
   CLR  RS1
   MOV  R0,#3
LOOP3:
   MOV A,#0FH
   MOV P1,A
   LCALL  DELAY
   MOV A,#00H
   MOV P1,A
   LCALL DELAY
   DJNZ R0,LOOP3
   POP PSW
   POP ACC
   RETI
DELAY:
   MOV R5,#20H
DLY1:
   MOV R6,#10H
DLY2:
   MOV R7,#10H
   DJNZ R7,$
   DJNZ R6,DLY2
   DJNZ R5,DLY1
   RET
   END
craaazyfor 发表于 2013-11-21 17:06 | 显示全部楼层
用c来写吧
airwill 发表于 2013-11-21 18:35 | 显示全部楼层
主程序和中断服务执行着相似的操作, 会不会你的LED 接在 P1 的低四位上, 导致中断内外一样的状态?
dengm 发表于 2013-11-22 10:29 | 显示全部楼层
Interrupt 0 type control bit.

Set/cleared by software to specify falling edge/low level triggered external interrupt 0.

IT0:  Timer/Counter Control  bit 0 :  == 1 才为边缘   ==0 为电平 方式

MOV TCON,#0H 应改为 MOV TCON,#01H


您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

4

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部