如何成為單片機(jī)開發(fā)高手
單片機(jī)適用于電子玩具、工業(yè)控制、民用電器、機(jī)電一體化產(chǎn)品、航天航海等眾多領(lǐng)域,而單片機(jī)的應(yīng)用開發(fā)不單是軟件的開發(fā),其開發(fā)語言和硬件密切相關(guān)。所以只有開發(fā)者對(duì)單片機(jī)的內(nèi)部結(jié)構(gòu)非常了解,才能編好軟件。而單片機(jī)的開發(fā)應(yīng)用還涉及到硬件擴(kuò)展接口和各類傳感器,更重要的是必須盡可能地了解各學(xué)科中適應(yīng)單片機(jī)完成的控制項(xiàng)目以及控制過程。
本文引用地址:http://m.butianyuan.cn/article/2918.htm掌握單片機(jī)的應(yīng)用開發(fā)需要一個(gè)過程。首先必須掌握數(shù)字電路和模擬電路方面的知識(shí),還必須學(xué)習(xí)單片機(jī)原理、硬件結(jié)構(gòu)、擴(kuò)展接口和編程語言。初次開發(fā)時(shí)由于沒經(jīng)驗(yàn),可能要經(jīng)過多次反復(fù)才能完成項(xiàng)目。這時(shí),你會(huì)得到較大的收獲和積累,表現(xiàn)在以下幾個(gè)方面:硬件設(shè)計(jì)方面的積累;
軟件設(shè)計(jì)方面的積累;
設(shè)計(jì)經(jīng)驗(yàn)方面的積累。
硬件開發(fā)是單片機(jī)應(yīng)用開發(fā)的基礎(chǔ),軟件的開發(fā)是建立在硬件之上,軟硬件設(shè)計(jì)的巧妙結(jié)合是項(xiàng)目開發(fā)質(zhì)量保證的關(guān)鍵。在單片機(jī)硬件開發(fā)設(shè)計(jì)中應(yīng)注意以下幾個(gè)方面:
單片機(jī)應(yīng)用開發(fā)者必須學(xué)習(xí)應(yīng)用最新單片機(jī)(MCU),新型的MCU的優(yōu)勢(shì)表現(xiàn)在時(shí)鐘頻率的進(jìn)一步提高(從6MHz提高到33MHz),指令執(zhí)行速度的提高(從12個(gè)機(jī)器周期到6個(gè)機(jī)器周期,甚至到1個(gè)機(jī)器周期),處理器相關(guān)功能的提高(如增加了數(shù)學(xué)處理、模糊控制等),內(nèi)部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器容量的進(jìn)一步擴(kuò)大(ROM擴(kuò)到64K,RAM擴(kuò)到2K),A/D和D/A轉(zhuǎn)換器的內(nèi)部集成,LCD顯示等功能模塊的內(nèi)部集成,外部擴(kuò)展功能的增強(qiáng)。如Philips的P89C884單片機(jī)內(nèi)部有64K FLASH(快閃存儲(chǔ)器)、3個(gè)計(jì)數(shù)器、33MHz時(shí)鐘、6個(gè)機(jī)器周期執(zhí)行一條指令、I2C總線、ISP/IAP等。
擴(kuò)展接口的開發(fā)盡可能采用PSD、FPGA(或CPLD)等器件開發(fā)。這類器件都有開發(fā)平臺(tái)的支持,開發(fā)難度較小,開發(fā)出的硬件性能可靠、結(jié)構(gòu)緊湊、利于修改、保密性好。這種方法也是硬件接口開發(fā)的趨勢(shì)。如Altera公司生產(chǎn)的EPM7128S應(yīng)用較廣,在中國(guó)市場(chǎng)也容易買到;WSI推出的新型可編程的單片機(jī)外圍器件PSD813F,把單片機(jī)外圍電路中的許多功能模塊組合在一起,為用戶提供體積更小、成本更低、開發(fā)更快的解決方案。
擴(kuò)展了RS-232等標(biāo)準(zhǔn)串口以后,單片機(jī)可和PC機(jī)通信,對(duì)于眾多測(cè)控方面的人機(jī)對(duì)話、報(bào)表輸出、集成控制等功能進(jìn)行優(yōu)勢(shì)互補(bǔ)。如果芯片支持1SP/IAP功能還可以進(jìn)行在線仿真和遠(yuǎn)程調(diào)試遠(yuǎn)程軟件升級(jí)。例如,Dallas的1位總線接口、Philips的I2C總線等接口,均配有較多的專用擴(kuò)展接口,接口擴(kuò)展十分方便,所配軟件有標(biāo)準(zhǔn)模式,也較容易編寫。
C語言是普及最廣泛的程序設(shè)計(jì)語言,它既有高級(jí)語言的各種特點(diǎn),又可對(duì)硬件進(jìn)行操作,并可進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì),用C語言編寫的程序較容易移植。目前已有專為單片機(jī)設(shè)計(jì)的C語言編譯器,如Franklin C51、KEIL C51,它們可生成簡(jiǎn)潔可靠的目標(biāo)代碼,在代碼效率和代碼執(zhí)行速度上完全可以和匯編媲美。
有時(shí)開發(fā)一個(gè)單片機(jī)應(yīng)用項(xiàng)目,在仿真調(diào)試完成后系統(tǒng)運(yùn)行正常,而接入現(xiàn)場(chǎng)后出現(xiàn)不能正常運(yùn)行或運(yùn)行時(shí)好時(shí)壞,脫離現(xiàn)場(chǎng)后一切正常,這種現(xiàn)象就涉及到可靠性問題。解決這種問題可以從以下幾個(gè)方面考慮:
1、選擇性能好、抗干擾能力強(qiáng)的供電系統(tǒng),盡量少地從電源引入干擾;
2、設(shè)計(jì)電路板時(shí)排除可能引起干擾的因素,合理布線,避免高頻信號(hào)的干擾,圖1顯示了合理的布線和不合理的布線:
3、選擇較好的接地方式,如模擬地和數(shù)字地采用一點(diǎn)接地方式,驅(qū)動(dòng)大電流信號(hào)時(shí)采用光電隔離;
4、數(shù)據(jù)采集時(shí)進(jìn)行數(shù)字濾波處理,常用的數(shù)字濾波方式有:程序判斷濾波、中位值濾波、算術(shù)平均濾波、遞推平均濾波法、防脈沖干擾平均值濾波、一階滯后濾波等。
由于干擾問題可能是由于不同的原因引起,在設(shè)計(jì)時(shí)要根據(jù)項(xiàng)目應(yīng)用場(chǎng)所分析可能出現(xiàn)的干擾,有目的地設(shè)計(jì)抗干擾電路。
單片機(jī)應(yīng)用項(xiàng)目的開發(fā)還有一個(gè)更簡(jiǎn)捷的方法就是借助“單片機(jī)應(yīng)用開發(fā)平臺(tái)”。西安北斗星公司近期也計(jì)劃推出這種“單片機(jī)應(yīng)用開發(fā)平臺(tái)”的1.0版本。
單片機(jī)開發(fā)平臺(tái)如圖2。
其中,開發(fā)平臺(tái)部分為用戶提供了一個(gè)簡(jiǎn)易,方便的開發(fā)環(huán)境,使用戶可對(duì)單片機(jī)應(yīng)用項(xiàng)目進(jìn)行可視化開發(fā)。
硬件智能開發(fā)部分提供了一個(gè)通過選項(xiàng)開發(fā)硬件原理圖的方法,這個(gè)過程中根據(jù)硬件方案平臺(tái)自動(dòng)的生成一部分配套軟件。
可視化軟件開發(fā)可簡(jiǎn)單方便的開發(fā)出用戶程序,成品系統(tǒng)庫(kù)中有大量已開發(fā)成功的項(xiàng)目,在產(chǎn)品開發(fā)時(shí)如開發(fā)項(xiàng)目功能相近,只要略加修改便可成為一個(gè)新的項(xiàng)目。成品系統(tǒng)庫(kù)開發(fā)為用戶升級(jí)成品庫(kù)提供了一個(gè)開放式的環(huán)境。
子程序開發(fā)中為子程序的升級(jí)提供了一個(gè)開放式的環(huán)境。實(shí)用信息部分提供了開發(fā)方面用到的大量實(shí)用信息。
在平臺(tái)上開發(fā)單片機(jī)應(yīng)用項(xiàng)目不同于傳統(tǒng)的開發(fā)模式。平臺(tái)集成了大量專業(yè)技術(shù)人員的優(yōu)秀設(shè)計(jì)思想,使用單片機(jī)開發(fā)平臺(tái)可使技術(shù)人員迅速成長(zhǎng),徹底根除產(chǎn)品開發(fā)中大量低水平重復(fù)工作。平臺(tái)的知識(shí)集成減少了企業(yè)對(duì)個(gè)別技術(shù)人員的依賴性,技術(shù)人員的流動(dòng)不會(huì)影響企業(yè)的技術(shù)實(shí)力。平臺(tái)最大限度的包容性大大縮短了產(chǎn)品的開發(fā)周期。平臺(tái)的可靠性積累,保證了基于平臺(tái)開發(fā)的產(chǎn)品具有良好的可靠性。平臺(tái)的標(biāo)準(zhǔn)化、系統(tǒng)化、規(guī)范化及大的有利于嵌入式產(chǎn)品的大規(guī)模生產(chǎn),售后服務(wù)和產(chǎn)品更新。只有采用平臺(tái)化開發(fā)模式,才能將單片機(jī)的應(yīng)用開發(fā)推進(jìn)到一個(gè)新的階段。■
評(píng)論