單片機(jī)我們都了解,但是單片機(jī)應(yīng)用系統(tǒng)的開發(fā)流程你們知道嗎
單片機(jī)我們都了解,但是單片機(jī)應(yīng)用系統(tǒng)的開發(fā)流程你們知道嗎
///插播一條:我自己在今年年初錄制了一套還比較系統(tǒng)的入門單片機(jī)教程,想要的同學(xué)找我拿就行了免費(fèi)的,私信我就可以哦~點我頭像黑色字體加我地球呺也能領(lǐng)取哦。最近比較閑,帶做畢設(shè),帶學(xué)生參加省級或以上比賽///
哈嘍,我是華維麥琪,今天我整合了一些單片機(jī)開發(fā)流程的知識,讓大家對產(chǎn)品開發(fā)有個初步的認(rèn)識!
我們學(xué)習(xí)單片機(jī)的目的就是為了進(jìn)行嵌入式系統(tǒng)的開發(fā),學(xué)好單片機(jī)首先要有一個整體認(rèn)識,下面將簡要介紹一下單片機(jī)應(yīng)用系統(tǒng)的開發(fā)流程!
一.明確任務(wù)
分析和了解項目的總體要求,并綜合考慮系統(tǒng)使用環(huán)境、可靠性要求、可維護(hù)性及產(chǎn)品的成本等因素,制定出可行的性能指標(biāo)。
二.劃分軟、硬件功能
單片機(jī)系統(tǒng)由軟件和硬件兩部分組成。在應(yīng)用系統(tǒng)中,有些功能既可由硬件來實現(xiàn),也可以用軟件來完成。硬件的使用可以提高系統(tǒng)的實時性和可靠性;使用軟件實現(xiàn),可以降低系統(tǒng)成本,簡化硬件結(jié)構(gòu)。因此在總體考慮時,必須綜合分析以上因素,合理地制定硬件和軟件任務(wù)的比例。
三.確定希望使用的單片機(jī)及其他關(guān)鍵部件
根據(jù)硬件設(shè)計任務(wù),選擇能夠滿足系統(tǒng)需求并且性價比高的單片機(jī)及其他關(guān)鍵器件,如A/D、D/A轉(zhuǎn)換器、傳感器、放大器等,這些器件需要滿足系統(tǒng)精度、速度以及可靠性等方面的要求。
四.硬件設(shè)計
根據(jù)總體設(shè)計要求,以及選定的單片機(jī)及關(guān)鍵器件,利用Protel等軟件設(shè)計出應(yīng)用系統(tǒng)的電路原理圖。
五.軟件設(shè)計
在系統(tǒng)整體設(shè)計和硬件設(shè)計的基礎(chǔ)上,確定軟件系統(tǒng)的程序結(jié)構(gòu)并劃分功能模塊,然后進(jìn)行各模塊程序設(shè)計。
單片機(jī)程序設(shè)計語言可分為三類:
?機(jī)器語言:又稱為二進(jìn)制目標(biāo)代碼,是CPU硬件唯一能夠直接識別的語言(在設(shè)計CPU時就已經(jīng)確定其代碼的含義)。人們要計算機(jī)所執(zhí)行的所有操作,最終都必須轉(zhuǎn)換成為相應(yīng)的機(jī)器語言由CPU識別、控制執(zhí)行。CPU系列不同,其機(jī)器語言代碼的含義也不盡相同。
?匯編語言:由于機(jī)器語言必須轉(zhuǎn)換為二進(jìn)制代碼描述,不便于記憶、使用和直接編寫程序,為此產(chǎn)生了與機(jī)器語言相對應(yīng)的匯編語言。用匯編語言編寫的程序執(zhí)行速度快,占用存儲單元少,效率高。
?高級語言:高級語言具有很好的可讀性,使程序的編寫和操作都十分方便,目前廣泛使用的高級語言是C51。
注意:匯編語言和高級語言都必須被翻譯成機(jī)器語言之后才能被CPU識別。
六.仿真調(diào)試
軟件和硬件設(shè)計結(jié)束后,需要進(jìn)行進(jìn)行進(jìn)入兩者的整合調(diào)試階段。為避免浪費(fèi)資源,在生成實際電路板之前,可以利用Keil C51和Proteus軟件進(jìn)行系統(tǒng)仿真,出現(xiàn)問題可以及時修改。
七.系統(tǒng)調(diào)試
完成系統(tǒng)仿真后,利用Protel等繪圖軟件,根據(jù)電路原理圖繪制PCB(Printed Circuit Board),即印刷電路板圖,然后將PCB圖交給相關(guān)廠商生產(chǎn)電路板。拿到電路板后,為便于更換器件和修改電路,可首先在電路板上焊接所需芯片插座,并利用編程器將程序?qū)懭雴纹瑱C(jī)。然后將單片機(jī)及其他芯片插到相應(yīng)的芯片插座中,接通電源及其他輸入、輸出設(shè)備,進(jìn)行系統(tǒng)聯(lián)調(diào),直至調(diào)試成功。