在單片機開發過程中,從硬體設計到軟體設計幾乎是開發者針對本系統特點親自完成的。這樣雖然可以降低系統成本,提高系統的適應性,但是每個系統的調試佔去了總開發時間的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屬於可編程器件,因而很難劃分硬體和軟體,往往在調試中即使電路安裝正確沒有一定的指令去指揮它工作,也是無法發現硬體的故障。因此要使用一些簡單的調試程序來確定硬體的組裝是否正確、功能是否完整。在本系統中採取了先對顯示器調試,再對鍵盤調試。
㈡ 基於單片機AT89C51彩燈控制的文獻綜述怎麼寫呀,要1500字以上呢
單片機課程設計: 彩燈控制器的設計
瀏覽次數:1188次懸賞分:100 | 解決時間:2009-1-10 13:56 | 提問者:lw56340184
課題: 彩燈控制器的設計
1、 內容與要求
利用MCS-51系列單片機作為彩燈控制器的主控制器晶元,用LED作為埠監視器件。
2、設計要點及基本功能
(1)8路輸出埠,每一個埠輸出給外接的顯示驅動裝置提供控制信號;
(2)輸出方式有多種:
a、閉合展開顯示(燈1、8亮,其餘熄滅;延時10ms,燈2、7亮,其餘熄滅;延時10ms,燈3、6亮,其餘熄滅;延時10ms,燈4、5亮,其餘熄滅;延時10m,燈3、6亮,其餘熄滅;延時10ms,燈2、7亮,其餘熄滅;依次循環。)
b、8個LED依次循環顯示。(8~1循環)
c、依次來回顯示(1~8,8~1來回顯示)
3、基本步驟
(1)分析題意,確定設計方案
(2)選擇單片機型號
(3)設計單元電路、選擇元器件、計算參數、並進行實驗驗證
(4)編寫程序
(5)軟、硬體調試件調試
4、設計報告要求:
(1)封面
(2)內容提要
(3)目錄
(4)正文
①概述所設計題目的意義、本人所做的工作及系統的主要功能;
②硬體電路設計及描述
③軟體設計流程及描述
④軟、硬體調試過程及方法描述
⑤源程序代碼
(5)課程設計體會
(6) 主要參考文獻、資料問題補充:
關你屁事```
你他媽未必就什麼都懂?
㈢ 用89S52單片機構件建一個彩燈控制系統,系統用P1口外接8個發光二極體。
用89S52單旦運片機構件建一個彩燈控制系統,系統用P1口外接8個發光二極體,沒有鍵按下時,8支彩燈每隔0.5s全亮全滅一次。
按K1時,8支彩燈從左至右循環點亮。
按K2時,8支彩燈從右至左循環點亮。
按K3時,8支彩燈先右循環點亮後左循環點亮。
同時按下K1和K2時塌塌,8支彩燈從中間向外循環點亮。
同時按下K2和K3時,8支彩燈從兩端向內循環點亮。
同時按下K1和K3時,8支彩燈從左到右依次點亮後從右到左依次熄滅,反復循環。
同時按模衫梁下三個鍵時,0、2、4、6、1、3、5、7循環點亮。
㈣ 基於51單片機的led彩燈設計。 9個燈(紅綠藍三色)。按鍵控制 c語言程序
首先要查看電路的連接,看看輸入連接到單片機的哪個引腳(比如p1.0),led燈連接到哪個引腳(比如p2.0)。然後看是高電平有效還是低電平有效(也就是高電平時led燈亮,還是低電平時led燈亮)。
如果是高電平燈亮的話,程序如下:
p2.0=p1.0;
㈤ 用單片機設計彩燈控制器設計
8路彩燈也可以呀電路圖很簡單照課本抄
程序如下
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV TMOD,#21H;設定T0為16位定時模式T1為8位自動重裝計數模式
SETB TR0;開定時器
SETB TR1
MOV R7,#4;設置N路彩燈這里設置為4路
MOV R6,#4
MOV R5,#4
MOV A,#00H
LOOP:
MOV P1,A;從做到右逐次點亮
RL A
INC A
ACALL MAIN0;調用延時
DJNZ R7,LOOP
MAIN1:MOV A,#0FFH
MOV P1,A
RR A
SUBB A,#08H;各路彩燈在這里設置立即數不同
ACALL MAIN0
DJNZ R6,MAIN1
MAIN2:MOV A,#00H
MOV P1,A
CPL A
ACALL MAIN0
DJNZ R5,MAIN2
LJMP MAIN
MAIN0:MOV DPTR,#15536;設定T0定時50ms的初值
MOV TL0,DPL
MOV TH0,DPH
MOV TL1,#236;設定t1計數20次即20*50ms=1s
MOV TH1,#236
JNB TF0,$;?0ms未到等待
CLR TF0;?0ms到清除標志位
CPL P3.5
JNB TF1,MAIN0;20次未到繼續計數
CLR TF1
RET
這個寫的急沒調試如果不可以下面的順序要自己調也就是先閃爍再逐個點亮熄滅延時都是一秒……
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV P1,#0FFH
MOV A,#0FFH
MOV R4,#8
MOV R3,#9
MAIN1:
CPL A
MOV P1,A
LCALL AA
DJNZ R4,MAIN1
MAIN2:
RL A
INC A
MOV P1,A
LCALL AA
DJNZ R3,MAIN2
MOV R3,#9
MAIN3:
RR A
MOV P1,A
DEC A
LCALL AA
DJNZ R3,MAIN3
LJMP MAIN
AA:
MOV R7,#2
AA1:MOV R6,#250
AA2:MOV R5,#250
AA3:
NOP
NOP
DJNZ R5,AA3
DJNZ R6,AA2
DJNZ R7,AA1
RET