<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機應用系統設計步驟

單片機應用系統設計步驟

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò ) 收藏
1.設備的準備
① 必備的設備:計算機、仿真器、編程器以及數字萬(wàn)用表、電烙鐵、鉗子、螺釘旋具等工具。仿真器是調試程序用的,不同的單片機要有不向的仿真器,如51系列單片機就要51系列單片機仿真器。仿真器有通用型仿真器、專(zhuān)用型仿真器。通用型適用于多個(gè)系列,價(jià)高;專(zhuān)用型只適用于某一系列,價(jià)低。編程器是固化(或寫(xiě)入)芯片用的,編程器也分簡(jiǎn)易型和通用型,兩者的差別主要是可固化芯片數目不同,前者數目少而后者數目多,其售價(jià)差別也很大。初學(xué)者選一種可固化自己所用芯片的簡(jiǎn)易型編程器即可。不管是仿真還是編程都需要和計算機連起來(lái),通過(guò)計算機來(lái)仿真或編程。
② 其它設備:雙蹤示波器、多功能信號發(fā)生器、直流穩壓電源等。
2.總體設計
總體設計,分為產(chǎn)品的結構設計(或叫機械設計)、電氣設計兩種。
結構設計主要考慮產(chǎn)品的形狀、體積、面板的尺寸;面板上諸如按鈕、指示燈、顯示器的布置;儀器背板的尺寸、背板上信號線(xiàn)和電源線(xiàn)如何引入;接線(xiàn)端子如何安排等。
電氣設計包括軟件和硬件的設計、單片機的選擇、外圍電路器件的選擇、編程語(yǔ)言的選擇等。在最后要畫(huà)出單片機應用系統的結構框圖,在結構框圖里要包括所選單片機的框圖以及各個(gè)功能塊的框圖。
3.硬件設計
硬件設計主要是指設計能實(shí)現所要求功能的硬件電路。根據前面總體設計時(shí)設計的系統結構框圖畫(huà)出電路原理圖,結合產(chǎn)品的結構和工藝設計,再畫(huà)出印制電路板圖。在作單片機應用系統的硬件設計時(shí),應考慮如下:
① 硬件設計中涉及到的具體電路首先應是自己以前在別的項目上用過(guò)的現成的電路,這種電路好與否自己最清楚。其次是借鑒別人的電路,注意采用別人電路時(shí)一定要先調試,不能直接放在電路中。
② 硬件電路采用模塊化設計。如—個(gè)單片機應用系統有單片機最小系統、時(shí)鐘電路、A/D轉換電路、LED或LCD顯示電路、串口通信電路等,可分別作為獨立模塊來(lái)設計。模塊化設計的好處在于可以“分而治之”。每一個(gè)模塊都調試通過(guò),那么整個(gè)系統的硬件就基本調試通過(guò)了,而且調試好的模塊還可方便地移植到其它的單片機應用系統中去。
③ 選擇市場(chǎng)貨源充足、常用的元器件,尤其是集成電路芯片不能選獨家產(chǎn)品,獨家產(chǎn)品一是售價(jià)太高,二是一旦缺貨就無(wú)計可施。
④ 在進(jìn)行硬件電路設計時(shí),要充分考慮系統各部分的驅動(dòng)能力,若驅動(dòng)能力不夠,系統就不能可靠工作或完全不能工作。
⑤ 在畫(huà)電路原理圖時(shí),要充分考慮產(chǎn)品的結構設計和工藝設計,必須在做印制電路板圖之前完成,否則印制電路板的個(gè)數、大小尺寸和形狀均無(wú)法確定。
⑥ 目前流行的繪電路圖的工具有很多種,其中最好和常用的是Protel 99SE/ Protel DXP,但是在用Protel 99SE/ Protel DXP畫(huà)印制電路板時(shí)要充分考慮到抗電磁干擾問(wèn)題。
⑦ 在用Protel 99SE/ Protel DXP繪制印制電路板圖時(shí),有幾個(gè)最小尺寸值必須注意:線(xiàn)寬一般情況下要大于等于15mil;過(guò)孔直徑不小于30mil;線(xiàn)距(相鄰兩線(xiàn)的最小間隔)不小于10 mil。mil是英制的長(cháng)度單位,為1in(1in=0.0254m)的千分之一。
⑧ 在繪制印制電路板圖時(shí),大部分元器件引腳的寬度和間距都是標準的,但有些多腳插接件卻不好繪制,即使用游標卡尺測量,有時(shí)也會(huì )出現插不上去的現象。解決的方法是:繪制好印制電路板圖后,以1:1的比例打印一份出來(lái),然后再找一塊較平的塑料泡沫,把印制電路板圖貼上去,再把元器件插上去,看是否合適,如不合適,重新修改,直到合適為止。
4.硬件調試
硬件調試在焊好元器件的印制電路板上進(jìn)行,其步驟如下:
① 檢查印制電路板。在元器件的安裝和焊接之前,先用眼睛和萬(wàn)用表檢查印制電路板是否有短路和斷路的地方。
② 元器件在安裝的過(guò)程中一定要注意方向,在焊接的過(guò)程中要保持印制電路板板面的整潔,注意有無(wú)漏焊、錯焊、連焊。
③ 空載上電。檢查電源輸出是否正確、單片機引腳上電源和地的電位是否正確以及其它集成芯片上電源和地的電位是否正確。
④ 上電??蛰d上電檢查正確后,即可將各芯片插入各插座,正式上電,再檢查各點(diǎn)電位是否正確。若發(fā)現電位不對或某個(gè)元器件發(fā)燙甚至冒煙,立即斷電,查找原因,直至排除故障方可重新上電。
⑤ 仿真調試。單片機的仿真器是幫助設計者對應用系統進(jìn)行調試的專(zhuān)用工具。在不通電的情況下,首先把仿真器與PC機的并口或USB口、串口相連,然后把仿真器的仿真頭插入單片機應用系統的專(zhuān)有插座中,這樣單片機、仿真器以及PC機三者就構成了一個(gè)聯(lián)機開(kāi)發(fā)系統。
5.軟件設計
在軟件設計上,應注意如下幾點(diǎn):
① 與硬件設計類(lèi)似,軟件設計中所涉及的實(shí)現某一功能的程序,首先也是自己以前在別的項目上用過(guò)的現成的程序模塊;其次借鑒他人的程序模塊,具體途徑是上網(wǎng)查找,包括硬件電路和源代碼,同樣也是在用之前一定要進(jìn)行調試。
② 軟件設計也應模塊化。模塊化的好處是便于測試、修改和擴展。調試工作可以并行進(jìn)行,幾個(gè)調試人員可以同時(shí)調試不同的模塊。
③ 合理分配內存資源,要給堆棧預留足夠的RAM區,不能讓堆棧溢出。
④ 在軟件上采用抗電磁干擾措施,比如采樣時(shí),使用軟件濾波;在使用看門(mén)狗電路時(shí)也需有軟件的配合。
⑤ 為提高程序的可讀性,要給程序模塊增加必要的注釋。
⑥ 編程語(yǔ)言的選擇。匯編語(yǔ)言是單片機早期開(kāi)發(fā)使用的語(yǔ)言,由于其可讀性、可移植性、可維護性差等缺點(diǎn),而逐漸被C語(yǔ)言取代。C語(yǔ)言是一種簡(jiǎn)潔高效的高級語(yǔ)言,具備可讀性好、可靠性高、有功能豐富的函數庫、運算速度快、編譯效率高、可移植性好等特點(diǎn),并且可以直接實(shí)現對硬件的控制,因而逐漸成為了單片機應用系統開(kāi)發(fā)中的主流編程語(yǔ)言。
6.軟件調試
軟件調試與所選用的軟件結構和程序設計技術(shù)有關(guān)。如果采用模塊程序設計技術(shù),則逐個(gè)模塊調好以后,再進(jìn)行系統程序總調試。
對于模塊結構程序,要一個(gè)個(gè)子程序分別調試。調試子程序時(shí),一定要符合現場(chǎng)環(huán)境,即入口條件和出口條件。調試的手段可采用單步運行方式和斷點(diǎn)運行方式,通過(guò)檢查用戶(hù)系統CPU的現場(chǎng)、RAM的內容和I/O口的狀態(tài),檢測程序執行結果是否符合設計要求。通過(guò)檢測,可以發(fā)現程序中的死循環(huán)錯誤、機器碼錯誤及轉移地址的錯誤,同時(shí)也可以發(fā)現用戶(hù)系統中的硬件故障、軟件算法及硬件設計錯誤。在調試過(guò)程中不斷調整用戶(hù)系統的軟件和硬件,逐步通過(guò)一個(gè)個(gè)程序模塊。
各獨立程序模塊調試通過(guò)后,可以把各功能塊聯(lián)合起來(lái)一起進(jìn)行整體程序綜合調試。在這階段若發(fā)生故障,可以考慮各子程序在運行時(shí)是否破壞現場(chǎng),緩沖單元是否發(fā)生沖突,零位的建立和清除在設計上有否失誤,堆棧區域有否溢出,輸入設備的狀態(tài)是否正常,等等。(http://www.diangon.com/版權所有)若用戶(hù)系統是在開(kāi)發(fā)系統的監控程序下運行時(shí),還要考慮用戶(hù)緩沖單元是否和監控程序的工作單元發(fā)生沖突。
單步和斷點(diǎn)調試后,還應進(jìn)行連續調試,這是因為單步運行只能驗證程序的正確與否,而不能確定定時(shí)精度、CPU的實(shí)時(shí)響應等問(wèn)題。待全部完成后,應反復運行多次,除了觀(guān)察穩定性之外,還要觀(guān)察用戶(hù)系統的操作是否符合原始設計要求、安排的用戶(hù)操作是否合理等,必要時(shí)還要作適當修正。
7.固化
目標程序經(jīng)仿真器調試通過(guò)后,即可固化。源程序經(jīng)編譯、連接生成的機器碼有兩種格式(*.HEX格式或*.BIN格式)均可固化。固化的方法有兩種:一是仿真器配備的固化功能;二是專(zhuān)用的編程器。專(zhuān)用的編程器有很多種,又分為簡(jiǎn)易和通用編程器兩種,前者可固化芯片數目少,后者可固化芯片數目多。
8.運行測試
運行測試包括功能測試和可靠性測試。功能測試是按照設計任務(wù)書(shū)檢查各個(gè)功能是否一一實(shí)現??煽啃詼y試,又稱(chēng)“烤機”,“烤機”時(shí)間不定,可以是48小時(shí)、72小時(shí)或更長(cháng),目的是測試在規定的時(shí)間內系統能否正常運行。除檢測運行時(shí)間外,還要高溫、低溫測試以及抗電磁干擾測試等。當功能測試和可靠性測試都通過(guò),該單片機應用系統開(kāi)發(fā)成功。


關(guān)鍵詞: 單片機應用系統設計步

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>