7.1.1 總體設計
1. 需求分析
(1) 需求獲取
本項目最早由一家專門生產潛水泵的廠家提出,該廠家在生產和銷售過程中,不斷接到用戶反饋潛水泵燒壞,主要原因是在抽水過程中,由于水源來水不足,潛水泵干抽燒壞,所以提出開發(fā)一種保護裝置,就有了最初的潛水泵自動控制保護器項目的需求,再根據(jù)實際中,許多情況是給水塔抽水,這樣就要知道水塔缺水和水滿情況,還有在廣大農村有時要計時抽水,這樣就確定最后方案。
(2) 設計開發(fā)任務書
本項目是一個很小的項目,開發(fā)人員為:項目負責人一名、一名軟件工程師、一名硬件工程師、一名技術員。項目負責人負責協(xié)調各人員工作和檢查進度,軟件工程師負責程序設計,硬件工程師負責硬件原理圖及PCB板設計,技術人員負責原器件購買、測試和組裝工作。
2. 方案設計
采用89C2051單片機控制、二個鍵(K1、K2)用來起動水泵前的參數(shù)設置,水位器:(三個)水池上水位器、水池下水位器、潛水泵水位器,用來檢測水位保證水泵正常工作,該保護器有兩種工作模式,一種是自動控制模式,主要用在對水塔抽水,另一種是定時工作模式主要應用在計時抽水。
3. 測試計劃
硬件測試:主要測試各部分硬件是否能正常工作,每部分通過簡單程序來檢測。
軟件測試:測試軟件是否符合設計要求、是否存在BUG。
7.1.2 詳細設計
1. 硬件設計:
(1) 主要原器件:
89C2051 一片、78L05一個、LED 3個、按鍵二個、水位檢測器三個、MOC3020一個、變壓器一個、及電阻、電容、三極管、燈等若干。
(2) 原理圖:
LED工作原理及動態(tài)顯示:
本項目采用的是共陽極的3個LED數(shù)碼管,要點亮某個數(shù)碼管的某筆劃,則相應的數(shù)碼管陽極加+5V電源,相應筆劃的陰極端接低電平,本方案三個數(shù)碼管陰極是相連的,所以在陽極必須輪流有效,只要時間合理,在人的視覺就會看到同時亮的結果。
(3) LED顯示程序:
LED0 EQU 41H; 定義LED顯示緩沖低位單元
LED1 EQU 42H;
LED2 EQU 43H;定義LED顯示緩沖高位單元
……
LOOP: LCALL DISPLAY
……
SJMP LOOP
……
DISPLAY: PUSH ACC
MOV A,LED2
LCALL DISP1
CLR P3.2
LCALL DEL1
SETB P3.2
MOV A,LED1
LCALL DISP1
CLR P3.3
LCALL DEL1
SETB P3.3
MOV A,LED0
LCALL DISP1
CLR P3.4
LCALL DEL1
SETB P3.4
POP ACC
RET
DISP1: MOV DPTR,#DBB
MOVC A,@A+DPTR
MOV P1,A
RET
DEL1:
MOV R3,#10
DEL: MOV R4,#50
DJNZ R4,$
DJNZ R3,DEL
RET
;數(shù)碼管字形碼
DBB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H ;0-6
DB 82H,0F8H,80H,90H ;7-9
END
根據(jù)功能要求及原理圖,其它程序讀者自己完成,并上機調試

