毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

单片机的内部中断时怎么得到处理的

更新时间:2013-3-17:  来源:毕业论文

单片机的内部中断时怎么得到处理的?
打个比方说,串口中断:是不是(1)使能中断——》(2)发送、接收完数据以后——》(3)标志位改变
  ?是不是CPU在本身主程序运转的时间片转轮之间加插不停轮询,检测到IFG变化,就进入中处理机制。
  ?还有就是这个中断,接收和发送信号没有通过CPU控制么?是他自己的模块实现的么?
    内部中断都是本模块自己在工作,进而触发的么??

还有就是这个中断,接收和发送信号没有通过CPU控制么?是他自己的模块实现的么?
假设硬件串口,你写入SBUF后是由芯片内部硬件模块自动发送和CPU没关系,发送完成后置中断标记

中间标记的检测是在一个CPU指令周期的某一个时钟周期里检测的,
没自己研究过中断检测流程似乎是这样的,51一个CPU是12个时钟周期,在其中的某个时钟周期进行了中断检测,
详细情况还得问做芯片开发的

我印象中当年上课的时候老师是这么说的:毕业论文 

外设正确配置完成后,如果满足中断触发条件,在硬件上会产生一个中断标志

MCU里的一个是什么部件来着(忘了)检测到这个标志后(当然,会按照一定的使能关系和优先级顺序)

如果条件允许,就会把当前的PC指针(程序指针,大概就是指向下一条要运行指令的寄存器)压栈

再把触发中断标志对应中断向量地址送入PC。这样就实现了中断跳转

当中断响应完成,用专用的中断返回指令或者程序主动清除中断标志后,把之前压栈的PC弹出

这就完成了中断返回。至于,期间的上下文保护什么的,很多情况下是由用户或者IDE实现,MCU不管这事
1."是不是CPU在本身主程序运转的时间片转轮之间加插不停轮询,检测到IFG变化,就进入中处理机制。"
这个不是中断的机制,中断不是通过CPU本身去查询它。中断信号完全靠硬件产生,而且这个产生的信号是能通过硬件改变CPU的PC指针的。
2."还有就是这个中断,接收和发送信号没有通过CPU控制么?是他自己的模块实现的么?"
这个中断是由硬件实现的,你也可以把它理解为一个硬件模块。如果你认为串口的发送和接收那么多程序,到底怎么产生的中断你不能理解。你可以尝试下在单片机里产生一个最简单的中断。
char a = 0x40;
a <<= 1;  (这里没有产生中断)
a <<= 1;   (这里产生了溢出中断)
可以看到同样运行的是a <<= 1;这一条指令,对CPU来说是一样的但是有时候能产生中断有时候却不行,所以中断的产生并不是由CPU去控制产生的,是又其他硬件模块在一定条件下产生的。
3 "内部中断都是本模块自己在工作,进而触发的么?"
中断的硬件的确是自己在工作,但是一般需要一些设置,这一般需要CPU配置。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。