A. 單片機原理與應用及C51編程技術/高玉芹/機械工業出版社 課後答案
吳鑒鷹單片機實戰精講中有相關問題的解釋。
在單片機開發過程中,從硬體設計到軟體設計幾乎是開發者針對本系統特點親自完成的。這樣雖然可以降低系統成本,提高系統的適應性,但是每個系統的調試佔去了總開發時間的2/3,可見調試的工作量比較大。單片機系統的硬體調試和軟體調試是不能分開的,許多硬體錯誤是在軟體調試中被發現和糾正的。但通常是先排除明顯的硬體故障以後,再和軟體結合起來調試以進一步排除故障。可見硬體的調試是基礎,如果硬體調試不通過,軟體設計則是無從做起。本文結合作者在單片機開發過程中體會,討論硬體調試的技巧。
當硬體設計從布線到焊接安裝完成之後,就開始進入硬體調試階段,調試大體分為以下幾步。
1 硬體靜態的調試
1.1排除邏輯故障
這類故障往往由於設計和加工制板過程中工藝性錯誤所造成的。主要包括錯線、開路、短路。排除的方法是首先將加工的印製板認真對照原理圖,看兩者是否一致。應特別注意電源系統檢查,以防止電源短路和極性錯誤,並重點檢查系統匯流排(地址匯流排、數據匯流排和控制匯流排)是否存在相互之間短路或與其它信號線路短路。必要時利用數字萬用表的短路測試功能,可以縮短排錯時間。
1.2排除元器件失效
造成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由於安裝錯誤,造成器件燒壞。可以採取檢查元器件與設計要求的型號、規格和安裝是否一致。在保證安裝無誤後,用替換方法排除錯誤。
1.3排除電源故障
在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電後檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V~4.8V之間屬正常。若有高壓,聯機模擬器調試時,將會損壞模擬器等,有時會使應用系統中的集成塊發熱損壞。
2 聯機模擬調試
聯機模擬必須藉助模擬開發裝置、示波器、萬用表等工具。這些工具是單片機開發的最基本工具。
信號線是聯絡8031和外部器件的紐帶,如果信號線連結錯誤或時序不對,那麼都會造成對外圍電路讀寫錯誤。51系列單片機的信號線大體分為讀、寫信號線、片選信號線、時鍾信號線、外部程序存貯器讀選通信號(PSEN)、地址鎖存信號(ALE)、復位信號等幾大類。這些信號大多屬於脈沖信號,對於脈沖信號藉助示波器(這里指通用示波器)用常規方法很難觀測到,必須採取一定措施才能觀測到。應該利用軟體編程的方法來實現。例如對片選信號,運行下面的小程序就可以檢測出解碼片選信號是否正常。
MAIN:MOVDPTR,#DPTR
;將地址送入DPTR
MOVXA,@DPTR
;將解碼地址外RAM中的內容送入ACC
NOP;適當延時
SJMPMAIN;循環
執行程序後,就可以利用示波器觀察晶元的片選信號引出腳(用示波器掃描時間為1μs/每格檔),這時應看到周期為數微秒的負脈沖波形,若看不到則說明解碼信號有錯誤。
對於電平類信號,觀測起來就比較容易。例如對復位信號觀測就可以直接利用示波器,當按下復位鍵時,可以看到8031的復位引腳將變為高電平;一旦松開,電平將變低。
總而言之,對於脈沖觸發類的信號我們要用軟體來配合,並要把程序編為死循環,再利用示波器觀察;對於電平類觸發信號,可以直接用示波器觀察。
下面結合在自動配料控制系統中鍵盤、顯示部分的調試過程來加以說明。本系統中的鍵盤、顯示部分都是由並行口晶元8155擴展而成的。8155屬於可編程器件,因而很難劃分硬體和軟體,往往在調試中即使電路安裝正確沒有一定的指令去指揮它工作,也是無法發現硬體的故障。因此要使用一些簡單的調試程序來確定硬體的組裝是否正確、功能是否完整。在本系統中採取了先對顯示器調試,再對鍵盤調試。