打印
[疑难问答]

解释下中断响应的过程

[复制链接]
1942|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaomifan|  楼主 | 2010-3-15 22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下面这个程序为例,请大侠帮我解释下中断响应的过程

#include<reg52.h>
#include<absacc.h>
#define uchar unsigned char

sbit  LED=P1^0;

void delays()
{

uchar i;
for(i=300;i>0;i--)

}

void main()
{
P1=0xff;                   //初始化端口
EA=1;IT0=1;EX0=1;  //初始化外中断标志位

while(1)
{
  delay();
}
}

/*void intersvr0(void) interrupt 0 using 1*/
{
LED=!LED;
}
沙发
麻辣鸭脖子| | 2010-3-15 23:24 | 只看该作者
先执行主程序,遇到中断LED取反,否则一直等待

使用特权

评论回复
板凳
David_ming| | 2010-3-16 09:25 | 只看该作者
检测到中断来了之后,立刻跳到中断向量入口,同时把PC压栈,此时就开始执行中断入口的第一条指令,等执行完了中断程序后,执行最后一条TETI指令,此时会把保存在SRAM中的PC弹出,同时清除中断标志,有些硬件清除标志的中断就是在刚刚进入的时候就清除了的~,不过如果用C语言的话,这些保护动作会自动完成,若是汇编就要手动保存

使用特权

评论回复
地板
ypj005| | 2010-3-16 13:23 | 只看该作者
:lol

使用特权

评论回复
5
linhai2009| | 2010-3-16 20:26 | 只看该作者
这个还是找本书看看比较明白

使用特权

评论回复
6
xiaomifan|  楼主 | 2010-3-16 21:28 | 只看该作者
5# linhai2009
就是看书的,才看得稀里糊涂的,理解不透彻

使用特权

评论回复
7
xiaomifan|  楼主 | 2010-3-16 21:29 | 只看该作者
3# David_ming
哦,谢谢了。讲得真好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

305

帖子

1

粉丝