标题:一个89c51单片机外中断程序,请大家帮忙改改错
取消只看楼主
cgh961907340
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-1
结帖率:0
 问题点数:0 回复次数:1 
一个89c51单片机外中断程序,请大家帮忙改改错
    一个外中断程序,老师说最好不要再中断里加入延时,为什么呢?要怎么改?可不可以用等待?程序如下:

  ORG   00H
  SJMP  MIAN
  ORG   03H
  SJMP  INT0S
MAIN:MOV IE,#81H
     MOV TCON,#01H
     MOV A,#0FEH
     MOV P3,#0FFH
ST1:MOV P2,A
     ACALL DELAY
     RL A
     SJMP  ST1
INT0S:PUSH ACC
      MOV  R2,#08H
LOOP:CLR A
     MOV P2,A
     ACALL DEALY
     MOV A,#0FFH
     MOV P2,A
     ACALL DELAY
     DJNZ  R2,LOOP
     POP ACC
     RETI
DELAY:MOV R7,#250
D1:  MOV R6,#250
D2: NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     DJNZ R6,D2
     DJNZ R7,D1
     RET
     END
搜索更多相关主题的帖子: 单片机 延时 最好 
2012-03-28 16:28
cgh961907340
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-1
得分:0 
唉唉。。。。各位都来帮帮忙啊,我自己改了可是不行啊,一按开关没反应的,为什么呢???
  ORG   00H
  SJMP  STAR
  ORG   03H
  SJMP  INT0S
STAR:MOV IE,#81H
     MOV TCON,#01H
     MOV A,#0FEH
     MOV P3,#0FFH
ST1:MOV P2,A
     ACALL DELAY
     RL A
     SJMP  ST1
INT0S:PUSH ACC
      MOV  R2,#8
      MOV  R3,#20
LOOP:MOV TMOD,#10H
     MOV TH0,#3CH
     MOV TL0,#0B0H
     SETB TR1
     CLR A
     MOV P2,A
     DJNZ R3,LOOP
     MOV A,#0FFH
     MOV P2,A
     DJNZ R2,LOOP
     POP ACC
     RETI
DELAY:MOV R7,#250
D1:  MOV R6,#250
D2: NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     DJNZ R6,D2
     DJNZ R7,D1
     RET
     END
2012-03-28 17:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-364587-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.838474 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved