标题: [原创] 如何比较深的理解单片机中断? [打印本页]

作者: lele2010    时间: 2010-6-20 07:20
标题: [原创] 如何比较深的理解单片机中断?

我在学习单片机中断的时候,看到那些程序时,就是不知道那些程序是怎么运行的,他们的步骤是怎么样的,我不清楚,盼你来帮我解释一下,谢谢!


作者: brantyou    时间: 2010-6-20 10:45

首先,你要知道中断都有哪些?它们的入口地址是什么

外部中断0,定时器0,外部中断1,定时器1,串口中断。

这些中断定时器都有优先级的,他们的优先级是:0,1,2,3,4(对应上一句)

入口地址分别为:0003H,000BH,0013H,001BH,0023H

 

其次,你要知道中断是如何产生的?

比如说,外部中断0,它的外部接口就是P3.2,当P3.2口有低电平或者下降沿触发的时候,外部中断0就产生了。具体要用电平触发还是边沿触发,这就要设置TCON。

 

再次,你要知道中断产生后,跑哪里去了?

当中断产生后,如外部中断0产生了,单片机检测到后,就会跳到相应的外部中断0的处理子函数去处理这个中断,没有这个子函数则表示不处理。C语言写的外部中断0的模式如:ext0_intrupt()interrupt 0   {}

而汇编的模式则如:ORG 0000H

                         AJMP MAIN          ;跳到主程序

                         ORG 0003H         ;定义外部中断0服务程序入口地址

                         AJMP OUTINT0     ;跳到外部中断0处理函数

                         ...

              MAIN:  ...

 

              OUTINT0: ...                   ;外部中断0处理函数

                             RETI

 

                         END


作者: liang1981    时间: 2010-9-13 20:14






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1