單片機系統的調試通常是在開發仿真系統上完成,后者把它的硬件(CPU和存儲器)和軟件資源(被調試程序和參數)暫時出借給前者,并模擬其工作環境,對其軟、硬件進行調試和修改。 嵌入式PLC 屬于單片機系統,在調試過程中沒有購買價格昂貴的仿真裝置,而是充分利用雙端口RAM IDT7130的中介作用,以及上位機操作方便、運行結果直觀的特點,通過編寫一特殊程序,將其固化在89C52的EPROM中,根據該程序中設置的標志條件,把硬件電路和軟件模塊按照分塊、聯調的順序進行調試,具體做法流程描述如下: 1)在上位機中以子程序的形式編寫好將要調試的嵌入式PLC系統的程序功能模塊,借助于工具軟件ASM51將其匯編為二進制(.BIN)文件。 2)在上位機執行DEBUG命令把該二進制文件送到雙端口RAM對應下位機地址#2100H開始的存儲單元中。 3)在下位機源程序中對#2000H和#2001H兩個存儲單元清零操作,當程序執行到RESET處,在這兩個存儲單元中定義了兩個程序開始運行的標志:99H和88H,從上位機可以利用DEBUG命令對這兩個標志進行改變,以控制嵌入式PLC中固化的程序是否繼續往下執行;為了確認兩個標志被正確設置和程序往下運行的情況,在存儲單元#2002H和#2003H中同樣定義了兩個確認標志:99H和88H。 4)運行標志設置正確后,執行調用語句LCALL 2100H,使得程序指針PC指向所要調試的程序功能塊首地址處,開始調用執行該程序功能模塊;子程序是否運行正常,并且是否返回可通過存儲單元#2002H和#2003H標志由99H和88H變為02H來確認。 5)另外在硬件方面可借助輔助調試手段,使用示波器來測試P1口高四位的波形變化狀況,來判斷程序的運行情況。 6)最后返回RESET繼續判斷運行標志調試程序。 7)結合中斷產生原理,在IDT7130的下位機地址2100H處裝入中斷服務程序,上位機向存儲單元#23FEH中寫1產生中斷,下位機轉而執行中斷功能調試。 利用這種調試方法,可以通過上位機在雙口RAM中設置每一程序模塊的啟動和確認標志位,即可方便地控制單個模塊的調試或多個模塊的聯調,最終實現系統的功能。 結語 實驗證明,本系統采用雙口RAM作為主從CPU的中介,是一種實用、高效的系統設計方法。該方法使得信息交換方便快速可靠。利用雙口RAM的共享特點,可將上下位機自身構成一種開發裝置,簡捷有效地實現工程環境下的在線調試。 |