国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談單片機(jī)應(yīng)用系統(tǒng)的設(shè)計方法

2012-12-31 00:00:00徐曉建
科技資訊 2012年34期

摘 要:單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程像一般的計算機(jī)系統(tǒng)一樣,單片機(jī)的應(yīng)用系統(tǒng)也是由硬件和軟件組成。硬件和軟件只有緊密配合,協(xié)調(diào)一致,才能組成高性能的單片機(jī)應(yīng)用系統(tǒng)。本文簡要介紹了單片機(jī)應(yīng)用系統(tǒng)的硬件與軟件的設(shè)計流程和方法。

關(guān)鍵詞:單片機(jī) 硬件設(shè)計 軟件設(shè)計

中圖分類號:TB1 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2012)12(a)-0019-01

1 總體設(shè)計

在進(jìn)行系統(tǒng)設(shè)計之前,首先應(yīng)根據(jù)對系統(tǒng)的功能要求及其應(yīng)用環(huán)境等確定合理、具體的功能和技術(shù)指標(biāo),對應(yīng)用系統(tǒng)的可靠性、通用性、先進(jìn)性、可維護(hù)性以及成本等進(jìn)行綜合考慮,以盡量合理并符合單片機(jī)性能及開發(fā)工具等因素選擇合適的單片機(jī)機(jī)型。接下來要根據(jù)系統(tǒng)中可能涉及的傳感器、模擬電路、I/O接口、存儲器、打印機(jī)和顯示器等器件和設(shè)備進(jìn)行器件選擇,使之符合系統(tǒng)在精度、速度和可靠性等方面的要求。最后確定硬件和軟件的功能劃分,由于在系統(tǒng)設(shè)計中某些功能用硬件和軟件都能實現(xiàn),在設(shè)計中應(yīng)綜合考慮研制周期和成本等因素具體劃分軟、硬件功能。

2 系統(tǒng)硬件設(shè)計

硬件系統(tǒng)設(shè)計的任務(wù)是根據(jù)總體設(shè)計要求,在所選擇的單片機(jī)型的基礎(chǔ)上,確定系統(tǒng)擴(kuò)展所要用的存儲器、I/O電路、A/D及D/A電路和有關(guān)的外圍電路等,然后設(shè)計出系統(tǒng)的電路原理圖。

單片機(jī)內(nèi)部沒有程序存儲器或存儲器容量不夠時需擴(kuò)展外部程序存儲器??勺鳛槌绦虼鎯ζ鞯男酒卸喾N非易失存儲器,從它們的價格和性能特點上考慮選擇。由于目前單片機(jī)片內(nèi)存儲器的容量越來越大,如設(shè)計的應(yīng)用系統(tǒng)所需的存儲器空間比較小,則可能就沒有必要擴(kuò)充程序存儲器。對于數(shù)據(jù)存儲器的容量要求,各個系統(tǒng)之間差別比較大。有的測量儀器和儀表只需少量的RAM即可,此時應(yīng)盡量選用容量能符合要求的單片機(jī)。對于要求較大容量RAM的系統(tǒng),對RAM芯片的選擇原則是盡可能減少芯片的數(shù)量。由于外設(shè)多種多樣,這使得單片機(jī)與外設(shè)之問的接口電路也各不相同。因此,I/O接口電路常常是單片機(jī)應(yīng)用系統(tǒng)中設(shè)計最復(fù)雜也是最困難的部分之一。在設(shè)計I/O接口電路時應(yīng)從體積、價格、功能、負(fù)載等幾方面考慮。此外還要考慮和系統(tǒng)中的傳感器、放大器相匹配等問題。所有的需要擴(kuò)展外部存儲器和輸入/輸出接口設(shè)計的單片機(jī)系統(tǒng)都需要設(shè)計譯碼電路,譯碼電路在設(shè)計時要盡可能簡單,這就要求存儲器空間分配合理、譯碼方式選擇得當(dāng)。

如果單片機(jī)外部擴(kuò)展的器件較多,負(fù)載過重,就要考慮設(shè)計總線驅(qū)動器。系統(tǒng)擴(kuò)展和配置設(shè)計遵循的原則如下:(1)盡可能選擇典型通用的電路,并符合單片機(jī)的常規(guī)用法。(2)系統(tǒng)的擴(kuò)展與外圍設(shè)備配置的水平應(yīng)充分滿足應(yīng)用系統(tǒng)當(dāng)前的功能要求,并留有適當(dāng)余地,便于以后進(jìn)行功能擴(kuò)充。(3)整個系統(tǒng)中相關(guān)的器件要性能匹配。(4)應(yīng)注意在硬件系統(tǒng)設(shè)計時,要盡可能充分地利用單片機(jī)的片內(nèi)資源,使自己設(shè)計的電路向標(biāo)準(zhǔn)化、模塊化靠攏。硬件設(shè)計結(jié)束后,應(yīng)編寫出硬件電路原理圖及硬件設(shè)計說明書。

3 系統(tǒng)軟件設(shè)計

單片機(jī)應(yīng)用系統(tǒng)是一個整體。軟件設(shè)計和硬件設(shè)計應(yīng)統(tǒng)一,系統(tǒng)的硬件電路設(shè)計定型后,軟件的功能也就基本明確了。一個應(yīng)用系統(tǒng)中的軟件一般是由系統(tǒng)監(jiān)控程序和應(yīng)用程序兩部分組成的。

合理的軟件結(jié)構(gòu)是設(shè)計出一個性能優(yōu)良的單片機(jī)應(yīng)用系統(tǒng)軟件的基礎(chǔ),必須予以充分重視。在程序設(shè)計方法上,模塊程序設(shè)計是單片機(jī)應(yīng)用中最常用的程序設(shè)計技術(shù)。這種方法是把一個完整的程序分解為若干個功能相對獨立的較小的程序模塊,對各個程序模塊分別進(jìn)行設(shè)計、編制和調(diào)試,最后將各個調(diào)試好的程序模塊連成一個完整的程序。這種方法的優(yōu)點是單個程序模塊的設(shè)計和調(diào)試比較方便、容易完成,一個模塊可以為多個程序所共享。缺點是各個模塊的連接有時有一定難度。還有一種方法是自上而下設(shè)計程序。此方法是先從主程序開始設(shè)計,主程序編好后,再編制各從屬的程序和子程序。這種方法比較符合人們的日常思維。其缺點是上一級的程序錯誤將對整個程序產(chǎn)生影響。

在軟件結(jié)構(gòu)設(shè)計確定之后就可以進(jìn)入程序設(shè)計了,一般設(shè)計過程首先根據(jù)問題的定義,描述出各輸入變量和輸出變量之間的數(shù)學(xué)關(guān)系,即建立數(shù)學(xué)模型。然后根據(jù)系統(tǒng)功能及操作過程,先列出程序的簡單功能流程框圖(粗框圖),再對粗框圖進(jìn)行擴(kuò)充和具體化,即對存儲器、寄存器、標(biāo)志位等工作單元作具體的分配和說明。把功能流程圖中每一個粗框轉(zhuǎn)變?yōu)榫唧w的存儲單元、寄存器和I/O口的操作,從而繪制出詳細(xì)的程序流程圖(細(xì)框圖)。在完成流程圖設(shè)計以后,便可編寫程序。

編寫一個好的程序,正確性是主要的。但是,應(yīng)當(dāng)在保證完成規(guī)定功能的情況下,使整個程序所占內(nèi)存空間少、執(zhí)行指令時間短。這就要根據(jù)指令的功能、長度和執(zhí)行時間,精心選擇指令和排列指令。一般來說,編寫程序的過程可分為下述幾個步驟: 分析課題,根據(jù)要求確定算法或解題思路;根據(jù)算法或解題思路定出運算步驟和順序,把運算步驟畫成框圖;確定數(shù)據(jù)和工作單元,分配存放單元;按所使用的計算機(jī)指令系統(tǒng),把確定的運算步驟寫成匯編語言程序;上機(jī)調(diào)試源程序,從而確定源程序。在進(jìn)行程序設(shè)計時,必須根據(jù)實際問題和所使用的計算機(jī)的特點來確定算法,然后按盡可能節(jié)省數(shù)據(jù)存放單元、縮短程序長度和程序運行時間3個原則編寫程序。按程序的基本結(jié)構(gòu)一般可分為直接程序、分支程序、循環(huán)程序和子程序。一個復(fù)雜的程序,一般由上述基本程序組成。單片機(jī)應(yīng)用程序可以采用匯編語言,也可以采用某些機(jī)器語言,例如可通過KielC51軟件來編寫C語言等。編寫完均須匯編成80C51的機(jī)器碼,經(jīng)調(diào)試正常運行后,再固化到非易失性存儲器中去,完成系統(tǒng)的設(shè)計。

4 系統(tǒng)調(diào)試

當(dāng)完成了單片機(jī)應(yīng)用系統(tǒng)的硬件、軟件設(shè)計和硬件組裝后,便可進(jìn)入單片機(jī)應(yīng)用系統(tǒng)調(diào)試階段。系統(tǒng)調(diào)試的目的是要查出用戶系統(tǒng)中硬件設(shè)計與軟件設(shè)計中存在的錯誤及可能出現(xiàn)的不協(xié)調(diào)問題,以便修改設(shè)計,最終使用戶系統(tǒng)能正確、可靠地工作。通常是先排除明顯的硬件故障后和軟件結(jié)合起來進(jìn)行調(diào)試。常見的硬件故障有邏輯錯誤、元器件失效、可靠性差和電源故障等。在進(jìn)行硬件調(diào)試時先進(jìn)行靜態(tài)調(diào)試,用萬用表等工具在樣機(jī)加電前根據(jù)原理圖和裝配圖仔細(xì)檢查線路,核對元器件的型號、規(guī)格和安裝是否正確。然后加電檢查各點電位是否正常。接下來再借助仿真開發(fā)儀器進(jìn)行聯(lián)機(jī)調(diào)試,分別測試擴(kuò)展的RAM、I/O口、I/O設(shè)備、程序存儲器以及晶振和復(fù)位電路,改正其中的錯誤。軟件調(diào)試就是檢查系統(tǒng)軟件中的錯誤。通常是把各個程序模塊分別進(jìn)行調(diào)試,調(diào)試通過后再組合到一起進(jìn)行綜合調(diào)試,達(dá)到預(yù)定的功能技術(shù)指標(biāo)后即可將軟件固化。

參考文獻(xiàn)

[1] 孫霞,周金陵.基于單片機(jī)的大容量數(shù)據(jù)存儲技術(shù)的應(yīng)用研究[J].微計算機(jī)信息,2006(14).

[2] 胡漢才.單片機(jī)原理及其接口技術(shù)[M].清華大學(xué)出版社,2004.

孝感市| 新绛县| 开阳县| 白玉县| 蕲春县| 格尔木市| 大渡口区| 郓城县| 平安县| 大冶市| 贵定县| 张家口市| 巨野县| 金沙县| 彩票| 买车| 西乌珠穆沁旗| 淳化县| 灵石县| 杨浦区| 鸡泽县| 灵台县| 前郭尔| 宜宾市| 长兴县| 北川| 汨罗市| 龙川县| 利辛县| 沙河市| 通城县| 都安| 浦东新区| 兴海县| 宁都县| 松滋市| 田东县| 临桂县| 焦作市| 吉林市| 怀安县|