單片機應用系統硬件調試技巧
在單片機開(kāi)發(fā)過(guò)程中,從硬件設計到軟件設計幾乎是開(kāi)發(fā)者針對本系統特點(diǎn)親自完成的。這樣雖然可以降低系統成本,提高系統的適應性,但是每個(gè)系統的調試占去了總開(kāi)發(fā)時(shí)間的2/3,可見(jiàn)調試的工作量比較大。單片機系統的硬件調試和軟件調試是不能分開(kāi)的,許多硬件錯誤是在軟件調試中被發(fā)現和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結合起來(lái)調試以進(jìn)一步排除故障??梢?jiàn)硬件的調試是基礎,如果硬件調試不通過(guò),軟件設計則是無(wú)從做起。本文結合作者在單片機開(kāi)發(fā)過(guò)程中體會(huì ),討論硬件調試的技巧。
本文引用地址:http://dyxdggzs.com/article/171710.htm當硬件設計從布線(xiàn)到焊接安裝完成之后,就開(kāi)始進(jìn)入硬件調試階段,調試大體分為以下幾步。
1 硬件靜態(tài)的調試
1.1排除邏輯故障
這類(lèi)故障往往由于設計和加工制板過(guò)程中工藝性錯誤所造成的。主要包括錯線(xiàn)、開(kāi)路、短路。排除的方法是首先將加工的印制板認真對照原理圖,看兩者是否一致。應特別注意電源系統檢查,以防止電源短路和極性錯誤,并重點(diǎn)檢查系統總線(xiàn)(地址總線(xiàn)、數據總線(xiàn)和控制總線(xiàn))是否存在相互之間短路或與其它信號線(xiàn)路短路。必要時(shí)利用數字萬(wàn)用表的短路測試功能,可以縮短排錯時(shí)間。
1.2排除元器件失效
造成這類(lèi)錯誤的原因有兩個(gè):一個(gè)是元器件買(mǎi)來(lái)時(shí)就已壞了;另一個(gè)是由于安裝錯誤,造成器件燒壞??梢圆扇z查元器件與設計要求的型號、規格和安裝是否一致。在保證安裝無(wú)誤后,用替換方法排除錯誤。
1.3排除電源故障
在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V~4.8V之間屬正常。若有高壓,聯(lián)機仿真器調試時(shí),將會(huì )損壞仿真器等,有時(shí)會(huì )使應用系統中的集成塊發(fā)熱損壞。
2 聯(lián)機仿真調試
聯(lián)機仿真必須借助仿真開(kāi)發(fā)裝置、示波器、萬(wàn)用表等工具。這些工具是單片機開(kāi)發(fā)的最基本工具。
信號線(xiàn)是聯(lián)絡(luò )8031和外部器件的紐帶,如果信號線(xiàn)連結錯誤或時(shí)序不對,那么都會(huì )造成對外圍電路讀寫(xiě)錯誤。51系列單片機的信號線(xiàn)大體分為讀、寫(xiě)信號線(xiàn)、片選信號線(xiàn)、時(shí)鐘信號線(xiàn)、外部程序存貯器讀選通信號(PSEN)、地址鎖存信號(ALE)、復位信號等幾大類(lèi)。這些信號大多屬于脈沖信號,對于脈沖信號借助示波器(這里指通用示波器)用常規方法很難觀(guān)測到,必須采取一定措施才能觀(guān)測到。應該利用軟件編程的方法來(lái)實(shí)現。例如對片選信號,運行下面的小程序就可以檢測出譯碼片選信號是否正常。
MAIN:MOVDPTR,#DPTR
;將地址送入DPTR
MOVXA,@DPTR
;將譯碼地址外RAM中的內容送入ACC
NOP;適當延時(shí)
SJMPMAIN;循環(huán)
執行程序后,就可以利用示波器觀(guān)察芯片的片選信號引出腳(用示波器掃描時(shí)間為1μs/每格檔),這時(shí)應看到周期為數微秒的負脈沖波形,若看不到則說(shuō)明譯碼信號有錯誤。
對于電平類(lèi)信號,觀(guān)測起來(lái)就比較容易。例如對復位信號觀(guān)測就可以直接利用示波器,當按下復位鍵時(shí),可以看到8031的復位引腳將變?yōu)楦唠娖?;一旦松開(kāi),電平將變低。
總而言之,對于脈沖觸發(fā)類(lèi)的信號我們要用軟件來(lái)配合,并要把程序編為死循環(huán),再利用示波器觀(guān)察;對于電平類(lèi)觸發(fā)信號,可以直接用示波器觀(guān)察。
下面結合在自動(dòng)配料控制系統中鍵盤(pán)、顯示部分的調試過(guò)程來(lái)加以說(shuō)明。本系統中的鍵盤(pán)、顯示部分都是由并行口芯片8155擴展而成的。8155屬于可編程器件,因而很難劃分硬件和軟件,往往在調試中即使電路安裝正確沒(méi)有一定的指令去指揮它工作,也是無(wú)法發(fā)現硬件的故障。因此要使用一些簡(jiǎn)單的調試程序來(lái)確定硬件的組裝是否正確、功能是否完整。在本系統中采取了先對顯示器調試,再對鍵盤(pán)調試。
(1)顯示器部分調試為了使調試順利進(jìn)行,首先將8155與LED顯示分離,這樣就可以用靜態(tài)方法先測試LED顯示,分別用規定的電平加至控制數碼管段和位顯示的引腳,看數碼管顯示是否與理論上一致。不一致,一般為L(cháng)ED顯示器接觸不良所致,必須找出故障,排除后再檢測8155電路工作是否正常。對8155應進(jìn)行編程調試時(shí),分為兩個(gè)步驟:第一,對其進(jìn)行初始化(即寫(xiě)入命令控制字,最好定義為輸出方式)后,分別向PA、PB、PC三個(gè)口送入#0FFH,這時(shí)可以利用萬(wàn)用表測試各口的位電壓為3.8 V左右,若送入#00H,這時(shí)各口的位電壓應為0.03 V;第二,將8155與LED結合起來(lái),借助開(kāi)發(fā)機,通過(guò)編制程序(最好采用“8”字循環(huán)程序)進(jìn)行調試。若調試通過(guò)后,就可以編制應用程序了。
(2)鍵盤(pán)調試一般顯示器調試通過(guò)后,鍵盤(pán)調試就比較簡(jiǎn)單,完全可以借助于顯示器,利用程序進(jìn)行調試。利用開(kāi)發(fā)裝置對程序進(jìn)行設置斷點(diǎn),通過(guò)斷點(diǎn)可以檢查程序在斷點(diǎn)前后的鍵值變化,這樣可知鍵盤(pán)工作是否正常。
以上討論了借助簡(jiǎn)單工具對單片機硬件調試的方法,這些方法如果利用得好,就可以大大縮短單片機的開(kāi)發(fā)周期。
評論