【用C語言對循跡小車進行編程】剛開始寫匯編的中斷應用程序時,曾經為出入堆棧的問題而困擾 。 C51擴展了函數的定義,使它可以直接編寫中斷服務函數,而可以不必考慮出入堆棧的問題,從而提高了工作的效率 。 擴展的關鍵字是in—terrupt,它是函數定義時的一個選項 。 只要在一個函數定義后面加上這個選項,那么這個函數就變成了中斷服務函數 。 定義中斷服務函數時可以用如下的形式 。
函數類型函數名(形式參數)interruptn[usingn]
中斷函數不能通過形式參數進行參數傳遞,也沒有返回值 。 因此建議在定義中斷函數時將其定義為viod類型,以明確說明沒有返回值 。
interru關鍵字是不可缺少的,它告訴編譯器該函數是中斷服務函數,并由后面的n指明所使用的中斷號 。 n的取值范圍為0~31,但具體的中斷號要取決于芯片的型號,像AT89S52實際上就使用O~4號中斷 。 每個中斷號都對應一個中斷向量,具體地址為8n+3,中斷源響應后處理器會跳轉到中斷向量所處的地址執行程序,編譯器會在這地址上產生一個無條件跳轉語句,轉到中斷服務函數所在的地址執行程序 。 51芯片的中斷向量和中斷號,如下表所示 。
- LED顯示接口模塊的程序設計及應用
- 單片機驅動74HC164的程序設計應用實例
- 如何進行鎘鎳蓄電池組的核對性放電?
- 羊蛋的功效與作用
- 服用中藥吃綠豆粥有影響嗎?
- 白酒加紅牛會有什么作用
- 約會中,女生的哪些行為表示她對你感興趣
- 第一次約會如何讓女生對你一見傾心?
- 草本蛇油膏有什么用? 蛇油膏適合什么人群?
- 嬌蘭復原蜜和精華什么時間用 早上護膚和晚上護膚的注意事項
