5系統調試運行及問題分析 整個系統設計完成后,要進行運行調試,排除軟件和硬件的故障,同時驗證系統的可靠性及穩定性,使系統符合設計要求。本系統的調試主要分兩個步驟:單片機系統調試(硬件調試和軟件調試)及整個控制系統試運行調試。 5.1單片機系統調試方法及步驟 單片機系統的調試應包括硬件及軟件兩部分,主要是通過調試發現硬件及軟件中存在的問題,查看其運行結果是否符合設計要求。 系統硬件和軟件的研制可以相互獨立的平行進行,軟件調試可以在硬件完成之前,硬件也可以在無完整應用軟件的情況下進行調試,但它們需要借助另外的工具提供調試環境。硬件和軟件分調完成之后,還要再進行軟件和硬件的聯調,在調試中找出問題,判斷故障源,修改軟硬件。 在對系統進行實際調試時,首先應對硬件進行靜態調試,同時對系統軟件進行初步調試,此后再對軟件和硬件進行動態調試,最后才能使系統進入正常工作。 1.靜態調試:靜態調試主要是排除明顯的硬件故障。在電路搭建好后,對其進行仔細檢查,查看端口是否正確連接,連接是否可靠。同時還應當用萬用表檢查電路,看應當開路的地方是否開路,應當短路的地方是否短路,電源地線連接是否可靠。在焊接后,查看焊接是否牢固,有無虛焊或短路等。在將芯片、傳感器等元件插到電路板上時,要保證各處電源極性、電壓正確,以防止因電源極性接反或電壓過高損壞芯片或傳感器。此外,插入芯片必須在斷電的情況下進行,特別注意芯片的方向不要插反。 2.軟件調試:系統軟件程序在編制好以后,可通過匯編軟件對源程序進行匯編,變為可執行的目標代碼,在匯編過程中出現的錯誤,要及時糾正。在軟件調試時采用軟件模擬開發系統對程序進行調試,這種模擬開發系統是在計算機上利用模擬軟件實現對單片機的硬件模擬、指令模擬及運行狀態模擬,從而完成應用軟件開發的全過程。調試過程中的運行狀態、各寄存器狀態、端口狀態等都可以在指定的窗口區域顯示出來,通過這些顯示結果隨時跟蹤程序運行狀態,以確定程序運行無錯誤。 3.動態調試:控制系統的軟件和硬件是密切相關的,軟件模擬開發系統不能對硬件部分進行診斷,同時也不能實時在線仿真,所以用戶程序還需跟硬件連接起來進行聯調,同時對軟件和硬件進行檢查和診斷。整個單片機系統進行在線調試時,需借助仿真開發工具來對用戶軟件及硬件電路進行診斷、調試。在應用系統各電路板調試成功后,將用戶程序加載到在線仿真器上,這時就能單步、多步或連續地執行目標程序,同時也可以根據需要分段設置斷點執行用戶程序。系統中的硬件故障(如各個部件內部存在的故障和部件之間連接的邏輯錯誤)主要是靠聯機仿真來排除的。對于與硬件無聯系的用戶程序,例如定時標志等,雖然已經沒有語法錯誤,但可能存在邏輯錯誤,這時,就借助于動態在線調試手段發現邏輯錯誤,直至邏輯錯誤糾正為止。而對于一些與硬件相關的用戶程序,如接口驅動程序等,則需要配合硬件,進行在線調試,如果有邏輯錯誤,也要及時糾正修改。程序調試完畢后,利用在線編程器將程序固化到單片機中,使整個系統運行起來。 5.2出現的主要問題及分析解決 系統調試一般來講是一種復雜,而仔細的工作,所以在調試過程中需要有耐心,仔細檢查、解決出現的一切問題。只有所有問題都得到解決后,才能保證整個系統的正常運行。在本系統的調試過程中遇到的主要問題及分析解決: 問題1:電源供電電路中集成穩壓器溫度過高。分析解決:穩壓器溫度過高的原因之一是:12V變壓器整流濾波后加到集成穩壓器輸入端的電壓較高,使7805上的壓降過大。此問題可通過使用9V變壓器,在集成穩壓器前串入兩只二極管降壓,同時增大散熱片來解決。 問題2:人體存在傳感器有人存在時輸出高電平的電壓偏低分析解決:人體存在傳感器輸出高電平的電壓偏低,單片機會產生誤判,或采集不到正確的信號,于是在人體存在傳感器的輸出端加一個100千歐的上拉電阻。 問題3:有人存在的教室中,若人體超過十秒沒有活動,人體傳感器是不會有信號輸出的,那么如何判定教室此時有人的問題。 分析解決:有人存在的教室中,若人體超過十秒沒有活動,人體傳感器是不會有信號輸出的問題。此問題在系統軟件設計時,將有人體存在的狀態保持二至五分鐘再繼續采集信號,并加以處理。 問題4:單片機控制信號輸出后,繼電器沒按預定設計產生動作。 分析解決:單片機輸出控制信號,在控制繼電器時,必須加三極管來驅動,否則信號電流過小將不能使繼電器產生吸合動作,而且必須采用三極管的集電極端來驅動繼電器,最后再帶動負載。繼電器驅動電路中還需注意的是要與繼電器線圈并聯一個續流二極管,增加對驅動三極管的保護。 問題5:每次開機插上電源后,硬件時鐘顯示的時間都從所設初始值開始計時。 分析解決:硬件時鐘顯示的時間不正常。解決辦法:一方面是充電電池沒有充電功能;另一方面是應對硬件時鐘先進行自檢。
|