標題: [原創(chuàng)] 如何比較深的理解單片機中斷? [打印本頁]

作者: lele2010    時間: 2010-6-20 07:20
標題: [原創(chuàng)] 如何比較深的理解單片機中斷?

我在學習單片機中斷的時候,看到那些程序時,就是不知道那些程序是怎么運行的,他們的步驟是怎么樣的,我不清楚,盼你來幫我解釋一下,謝謝!


作者: brantyou    時間: 2010-6-20 10:45

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

外部中斷0,定時器0,外部中斷1,定時器1,串口中斷。

這些中斷定時器都有優(yōu)先級的,他們的優(yōu)先級是:0,1,2,3,4(對應(yīng)上一句)

入口地址分別為:0003H,000BH,0013H,001BH,0023H

 

其次,你要知道中斷是如何產(chǎn)生的?

比如說,外部中斷0,它的外部接口就是P3.2,當P3.2口有低電平或者下降沿觸發(fā)的時候,外部中斷0就產(chǎn)生了。具體要用電平觸發(fā)還是邊沿觸發(fā),這就要設(shè)置TCON。

 

再次,你要知道中斷產(chǎn)生后,跑哪里去了?

當中斷產(chǎn)生后,如外部中斷0產(chǎn)生了,單片機檢測到后,就會跳到相應(yīng)的外部中斷0的處理子函數(shù)去處理這個中斷,沒有這個子函數(shù)則表示不處理。C語言寫的外部中斷0的模式如:ext0_intrupt()interrupt 0   {}

而匯編的模式則如:ORG 0000H

                         AJMP MAIN          ;跳到主程序

                         ORG 0003H         ;定義外部中斷0服務(wù)程序入口地址

                         AJMP OUTINT0     ;跳到外部中斷0處理函數(shù)

                         ...

              MAIN:  ...

 

              OUTINT0: ...                   ;外部中斷0處理函數(shù)

                             RETI

 

                         END


作者: liang1981    時間: 2010-9-13 20:14






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1