打印
[51单片机]

为什么进入中断后出不来呢

[复制链接]
1287|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

粉丝