新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 多中斷處理技術的應用與研究

        多中斷處理技術的應用與研究

        作者: 時間:2011-12-20 來源:網絡 收藏

         2.2 程序設計

          (1)主程序

          主程序流程圖如圖3所示。

        主程序流程圖

        圖3主程序流程圖

          (2)程序

          程序流程圖如圖4所示。

        中斷子程序流程圖

        圖4子程序流程圖

          3 多中斷注意的問題

          1)要多路中斷問題,中斷程序的算法大體上可以分為兩類:弱中斷優先級(使用CALL和RETURN方式)和強中斷優先級(使用GOTO方式)。

          2)如果同時發生多個中斷請求,則中斷處理的順序取決于中斷程序中的檢查中斷源的順序。

          3)若要防止中斷請求被丟失,則要注意下面兩種情況:如果同一中斷源的中斷發生間隔時間小于該中斷服務的處理時間,則可能出現中斷事件被忽略(體現在中斷服務的過程中,標志位被連續發生了兩次置位),例如:中斷事件發生的時間間隔為30ms,中斷服務處理加上跳轉判斷的時間為50ms,則情況將會如下所示:

          [中斷次數______1][中斷次數______2][中斷次數_____3][中斷次數_____4]

          [處理次數______1][處理次數______2][處理次數_____4]

          如果在中斷處理一開始就清除IF,那么如上圖所示,中斷事件3、4在處理次數2的過程中發生了兩次,那么即使IF清除發生在中斷次數3發生之前,也將丟失第三次中斷。


          另外,即使中斷出現的時間間隔大于中斷服務的時間間隔,如果清除中斷標志位的指令安排在中斷服務子程序的尾部,就有可能造成丟失該中斷請求(即兩次中斷標志置位的事件只對應一條清除指令和一次中斷處理),也就是如果清除中斷標志位的指令安排在中斷服務程序的尾部,就有可能丟失響應在處理中斷期間該中斷源第2次中斷請求的機會。

          4)為了能夠編寫好一個簡潔的中斷程序,應抓住中斷的特點是具有實時性,針對實時中斷數據采集系統,也就是中斷的特點在于數據的采集。因此在中斷程序中只應該處理數據采集和標志位的設置,而將數據的處理放在中斷之外,由主程序通過循環檢測執行數據處理工作,具體做法:先開辟一個“儲存緩沖區”,作為采集來的數據的傳遞媒體,即存儲采集數據,等待主程序的處理;中斷程序負責數據的采集,并且將采集來的數據值賦給“存儲緩沖區”;主程序通過條件循環語句反復檢測“存儲緩沖區”情況,及時處理采集信息。這樣在處理方法既能有效的實現中斷的功能,又可以極大的縮減每個中斷的時間,提高整個程序的反應速度。

          5)對于中斷響應和處理時間有嚴格要求的,保護現場的指令安排也應考慮延時問題。

          6)在進行查表操作時必須禁止CPU響應中斷。以避免中斷返回時跳轉到不希望的地址上去。

          4 結束語

          靈活地中斷,不但可以大量的節省CPU資源,而且能夠使程序更加簡化.具有更高的實時性和穩定性。經過測試,這種頻率計具有測量準確度高、使用方便、穩定可靠的優點,可于計量測試領域。同時由于使用軟件控制,電路結構簡單,使用硬件少,使得成本低廉且攜帶方便,因此也可廣泛應用于工農業生產和居民生活中,具有推廣價值。

          本文作者創新:頻率計是基于PICC高級語言開發平臺,采用PICl6F87X單片機,該方案具有原理簡單.性能可靠、分辨率高特點,使用該方法測量低頻頻率時最少可以得到8位有效數字。它采用LCD圖形液晶顯示,清晰度高,可視范圍廣,可外接晶體頻率源,具有測量速度快、分辨率高的優點。本方案已在單片機課程相關教學中應用。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安吉县| 卢氏县| 克拉玛依市| 报价| 白山市| 武功县| 镇沅| 永寿县| 合肥市| 鄂尔多斯市| 罗田县| 汪清县| 无极县| 咸宁市| 拜泉县| 蓬安县| 溧阳市| 会同县| 土默特左旗| 瓮安县| 伊金霍洛旗| 元谋县| 阳城县| 孟州市| 丁青县| 原平市| 乌兰浩特市| 双桥区| 镇远县| 定西市| 定边县| 大姚县| 蒲城县| 金堂县| 珠海市| 五大连池市| 靖安县| 东乡县| 民丰县| 枣阳市| 武清区|