官术网_书友最值得收藏!

1.1 51單片機應用系統設計基礎

51單片機應用系統的設計是一個包括需求分析、硬件設計、軟件設計的綜合過程。

1.1.1 51單片機應用系統的結構

一個完整的51單片機應用系統的結構如圖1.1所示,由51單片機內核、51單片機的內部資源、51單片機擴展的外部資源及51單片機上運行的用戶軟件組成。

圖1.1 51單片機應用系統組成結構

● 51單片機內核:這是51單片機的核心部分,包括時鐘產生模塊、ALU運算模塊、通用寄存器等。

● 51單片機的內部資源:51單片機內部自帶了一些諸如定時/計數器、外部中斷、串行通信模塊的資源,可以完成部分核心功能。

● 51單片機擴展的外部資源:由于51單片機的通用性較強,所以其集成的內部資源有限,當應用系統需要完成一些特殊功能的時候,如測量溫度、濕度等,則需要外擴一些外部資源(器件),這些外部資源(器件)和51單片機內核、51單片機的內部資源一起構成了51單片機應用系統的硬件資源,是51單片機應用系統的基礎。

● 51單片機上運行的用戶軟件:設計者根據應用系統的具體功能所編寫的應用代碼,是51單片機應用系統的“大腦”,這些應用代碼可以用C語言編寫,也可以用匯編語言編寫,在最終執行的時候都要被編譯器轉換為機器語言。

1.1.2 51單片機應用系統設計流程

51單片機應用系統的開發流程如圖1.2所示,主要分為7個步驟。

圖1.2 51單片機應用系統開發流程

(1)需求分析:這是51單片機應用系統開發流程中最重要的一個環節,是51單片機應用系統的設計基礎,設計者需要和用戶仔細交流,完整地記錄下該應用系統需要完成的所有工作,從中抽象出系統的需求并且和用戶反復溝通后確認。這一步的難度在于如何規范用戶的需求,因為用戶的需求有可能是隨時變更的,設計者既要盡量滿足用戶的所有需求,又要學會對用戶的“非合理需求”做到斷然拒絕。

(2)總體設計:在這個步驟中設計者要從需求出發對系統進行總體性的規劃,并且選擇好應用系統需要使用的具體51單片機型號,因為隨著單片機技術的發展,市面上出現相當多內核相同而內部集成資源和運行頻率不同的51單片機,可以根據需求的不同來選擇合適的型號以減少應用系統設計的復雜度、體積和成本。

(3)軟硬件功能劃分和模塊設計:51單片機系統的一些功能既可以由軟件實現,也可以由硬件實現。前者的優點是降低硬件成本,增加系統運行可靠性,缺點是可能導致軟件設計復雜度增加,系統反應時間延長;后者的優點是系統反應速度快,軟件設計簡單,缺點是硬件成本上升,系統運行可靠性下降。模塊設計是在劃分完軟硬件功能之后按照需求和選擇好的處理器對系統進行模塊化的工作。

(4)硬件設計:這是51單片機應用系統設計的基礎,包括具體硬件芯片選擇、地址和接口規劃、電路圖設計和制作、元器件焊接等,硬件設計決定了單片機系統設計的成敗,如果硬件設計出了問題,基本上就需要重新設計,浪費漫長的時間和大量的資金。

(5)軟件設計:這是單片機系統設計的靈魂,單片機系統是在軟件控制下工作的,一個良好的軟件可以達到很好的效率,規避系統運行中的風險。單片機的軟件設計和普通的PC軟件設計有很多共同點,但是也有區別,具體點是指時效性和可靠性要求要高于PC軟件。

(6)軟硬件聯合調試:這是單片機設計的整合過程,在這個過程中要讓軟件在單片機系統上運行起來,控制硬件進行相應的工作,用于測試硬件設計和軟件設計是否達到了預先的設計目標。

(7)現場測試:51單片機系統有其具體的使用場合,這些實際使用場合和開發環境往往有所差異,例如,供電電壓、空氣濕度、溫度、靜電干擾等。所以,當單片機系統完成了軟硬件聯合調試之后,需要將單片機系統放置于其具體使用環境中進行進一步測試,以消除可能由于環境差異帶來的不穩定乃至完全不能正常工作的錯誤。

1.1.3 51單片機應用系統的硬件設計

硬件設計是51單片機應用系統的設計基礎,這個過程直接決定了設計的成敗,硬件設計的流程如圖1.3所示。

圖1.3 51單片機應用系統硬件設計流程

(1)電路邏輯設計:根據選擇的具體的51單片機型號和需要擴展的外部器件進行硬件邏輯上的設計,包括電氣連接、地址分配等。

(2)設計電路原理圖:利用電路圖相關設計軟件設計51單片機應用系統的電路原理圖,為下一步PCB圖設計做準備。

(3)設計PCB圖:在電路原理圖設計的基礎上進行51單片機應用系統的PCB圖設計,這是51單片機系統硬件設計的最關鍵步驟,不僅要求電氣物理邏輯連接正確,在期間還需要遵循一些設計技巧和規則。

(4)PCB制作和元器件焊接:PCB制作是指將PCB圖制作成電路板實體的過程,一般在電路板廠中完成,元器件焊接是指在電路板制作完成之后將對應的元器件用焊錫固定到電路板上,并且使得其電氣物理連接到一起的過程。

(5)硬件測試:在電路板制作并且焊接完成之后對硬件部分進行測試,確定其有沒有邏輯或者電氣上的錯誤,如果有,則需要返回第一個步驟進行修改。

(6)軟件設計:在硬件測試通過之后即可以開始進行51單片機系統上的軟件開發,讓軟件和硬件配合實現系統的設計目標。

主站蜘蛛池模板: 云南省| 新昌县| 迭部县| 德化县| 新巴尔虎左旗| 绥芬河市| 怀宁县| 双柏县| 舞阳县| 顺平县| 邵阳市| 长阳| 莱芜市| 贺州市| 尤溪县| 岑溪市| 成武县| 沾益县| 石林| 昆山市| 华蓥市| 温泉县| 正安县| 平果县| 神农架林区| 拜城县| 吉木乃县| 东乌珠穆沁旗| 汾西县| 霍林郭勒市| 句容市| 仁化县| 隆回县| 渑池县| 永济市| 新龙县| 舒兰市| 赤水市| 牙克石市| 临潭县| 芜湖县|