一个51中断问题!!!

[复制链接]
 楼主| adofe 发表于 2010-1-20 17:20 | 显示全部楼层 |阅读模式
程序如下:
           ORG    2000H
           MOV    TMOD,#15H;T1为模式1定时 T0为模式是计数
           MOV    TH1,#0D8H;T1定时10ms
           MOV    TL1,#0F0H
           MOV    TH0,#0F4H;T0计数30秒
           MOV    TL0,#48H
           MOV     IE,#8AH
           SETB   TR0
           SETB   TR1
  L1:    SJMP     L1 ;等待10ms到T1的中断服务程序

  T1:   ORG    001BH
             AJMP...
             RETI
  T0: ORG    000BH
            AJMP ...
            RETI

L1:    SJMP     L1 这条指今为何用无条件转移指今,它是通过什么来知道T1计数到了10ms的,从而转入T1的中断服务程序的???
又是通过什么来判定T0计数到了30s?
NE5532 发表于 2010-1-20 22:39 | 显示全部楼层
这句话相当于while(1);
不然程序做完了初始化到哪里去呢?楼主的疑问来源于没有搞清楚什么叫中断,中断服务函数是怎么被调用的,看书,回答上面两个问题,你就清楚了。

评分

参与人数 1威望 +1 收起 理由
ljk5214227 + 1 欣赏各种回答!

查看全部评分

jianguoid 发表于 2010-1-22 11:44 | 显示全部楼层
L1:    SJMP     L1 ;就是没事就在这边等,10mS是在送初值时就定了。有中断时就跳到中断,是硬件控制的,自动到中断入口地址开始执行,执行完了还回到原地方等。
luning298 发表于 2010-2-14 17:54 | 显示全部楼层
L1:    SJMP     L1 ;一个死循环。如果发生中断后,就会打断这个死循环,转向去处理中断的子程序,当子程序完成后,就会恢复之前的工作环境。
ljk5214227 发表于 2010-2-17 03:15 | 显示全部楼层
这句话相当于while(1);
不然程序做完了初始化到哪里去呢?楼主的疑问来源于没有搞清楚什么叫中断,中断服务函数是怎么被调用的,看书,回答上面两个问题,你就清楚了。 ...
NE5532 发表于 2010-1-20 22:39


NE5532回答的方式太好了!!!我就喜欢这种不直接给答案,而告诉我们应该注意哪一块的前辈!!!严重赞一个!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

511

帖子

3

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