成為單片機高手,必須要學會的幾大技巧!

2021-02-08 電子發燒友網

你知道怎麼學習單片機嗎?有很多剛入行的初學者工程師在單片機這個領域經常是蒙圈的狀態,完全不知道該從何下手,在開發過程中:代碼的使用效率問題、單片機抗幹擾性、可靠性等問題經常困擾著他們。為此,小編歸納總結出單片機開發中應該掌握的四大基本技巧,不要錯過哦~

 

 

 

用C語言進行單片機程序設計是單片機開發與應用的必然趨勢。如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以後對應的彙編語言的語句行數,這樣就可以很明確的知道效率。在今後編程的時候,使用編譯效率最高的語句。

 

各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以彙編語言編寫的同樣功能程度長 5-20%。對於複雜而開發時間緊的項目時,可以採用C語言,但前提是要求你對該MCU系統的C語言和C編譯器非常熟悉,特別要注意該C編譯系統 所能支持的數據類型和算法。

 

雖然C語言是最普遍的一種高級語言,但由於不同的MCU廠家其C語言編譯系統是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對這些特性不了解,那麼調試起來問題就會很多,反而導致執行效率低於彙編語言。 


 

對於如何減少程序的bug,給出了一些建議,指出系統運行中應考慮的超範圍管理參數有:

 

1.物理參數。這些參數主要是系統的輸入參數,它包括激勵參數、採集處理中的運行參數和處理結束的結果參數。合理設定這些邊界,將超出邊界的參數都視為非正常激勵或非正常回應進行出錯處理。

 

2.資源參數。這些參數主要是系統中的電路、器件、功能單元的資源,如記憶體容量、存儲單元長度、堆疊深度。在程式設計中,對資源參數不允許超範圍使用。

 

3.應用參數。這些應用參數常表現為一些單片機、功能單元的應用條件。如E2PROM的擦寫次數與資料存儲時間等應用參數界限。

 

4.過程參數。指系統運行中的有序變化的參數。 


 

防止幹擾最有效的方法是去除幹擾源、隔斷幹擾路徑,但往往很難做到,所以只能看單片機抗幹擾能力夠不夠強了。單片機幹擾最常見的現象就是復位;至於程序跑飛,其實也可以用軟體陷阱和看門狗將程序拉回到復位狀態;所以單片機軟體抗幹擾最重要的是處理好復位狀態。

 

一般單片機都會有一些標誌寄存器,可以用來判斷復位原因;另外你也可以自己在RAM中埋一些標誌。在每次程序復位時,通過判斷這些標誌,可以判斷出不同的復位原因;還可以根據不同的標誌直接跳到相應的程序。這樣可以使程序運行有連續性,用戶在使用時也不會察覺到程序被重新復位過。 


 

有讀者希望了解用用什麼方法來測試單片機系統的可靠性「當一個單片機系統設計完成,對於不同的單片機系統產品會有不同的測試項目和方法,但是有一些是必須測試的:

 

1.測試單片機軟體功能的完善性。這是針對所有單片機系統功能的測試,測試軟體是否寫的正確完整。

 

2.上電、掉電測試。在使用中用戶必然會遇到上電和掉電的情況,可以進行多次開關電源,測試單片機系統的可靠性。

 

3.老化測試。測試長時間工作情況下,單片機系統的可靠性。必要的話可以放置在高溫,高壓以及強電磁幹擾的環境下測試。

 

4.ESD和EFT等測試。可以使用各種幹擾模擬器來測試單片機系統的可靠性。例如使用靜電模擬器測試單片機系統的抗靜電ESD能力;使用突波雜訊模擬器進行快速脈衝抗幹擾EFT測試等等。

 

還可以模擬人為使用中,可能發生的破壞情況。例如用人體或者衣服織物故意摩擦單片機系統的接觸埠,由此測試抗靜電的能力。用大功率電鑽靠近單片機系統工作,由此測試抗電磁幹擾能力等。


為了幫助大家系統學習單片機基礎,掌握基於ARM的STM32 Cortex-M系列處理器開發項目實戰技巧,編者給大家準備了10本內容豐富的單片機、STM32入門電子書籍,想要領取學習的學員,可以掃描下方二維碼,加入單片機技術交流群聯繫助教領取哦!

 

單片機工程師入門必學10本經典書籍


長按掃碼立即領取


 

若掃碼入群失敗,添加助教老師糖糖微信

 


相關焦點

  • Avr單片機和Stm32區別,Avr單片機選型技巧
    最為初學者首先要搞清楚他們之間的區別,掌握avr單片機選型技巧,才能夠更好的設計產品。一:avr單片機和STM32區別-STM32單片機介紹由ST廠商推出的STM32系列單片機,行業的朋友都知道,這是一款性價比超高的系列單片機,應該沒有之一,功能及其強大。
  • 羽毛球初學者,只要學會這三種技巧,不用半年,你也會成為高手!
    很多人想打羽毛球,但是又不會,看著別人在球場打的那麼好,非常羨慕,但自己上場連球都接不住,感覺非常羞愧,再也不好意思上場打球,非常想學習羽毛球,看著那麼多羽毛球教學,還是雲裡霧裡的,不知道從何學起,哪個技巧重要,哪個技巧不重要,複雜的教學看的頭大,還沒成為高手就心生退意!
  • 單片機初學者必看
    我認為最大的誤區,在於新手普遍的追時髦心理,急功近利心理,妄想短時間之內學會ARM,學會嵌入作業系統。網上資料、廠家宣傳、培訓機構廣告也對初學者產生誤導,使之誤認為ARM很容易學。但是沒有51單片機知識作為基礎,其他一切都是空中樓閣。必不能達到預期效果。51單片機作為入門級產品,現在更多的體現在教學意義上了。
  • 單片機簡介
    單片機簡介數字電路簡介在一個控制系統中, 單片機是電路的一部分, 單片機中的程序是針對其所在的電路編寫的。因此,要對單片機編程並實現一定的功能,必須了解整個系統的電路圖。單片機編程是針對某個特定的電路進行的單片機編程是針對某個特定的電路進行的, 這一點和普通的編程不一樣。 編程時很可能要經常參照電路圖。
  • 單片機科普:單片機的IO口不夠用了怎麼辦?如何擴展單片機的IO口
    1-華為榮耀體脂秤電路板-芯海的單片機在設計單片機電路的過程中,往往會遇到這種情況:單片機的GPIO口不夠用,但是又不是缺很多,如果要更換更多引腳的單片機可能會貴一些,如果是老產品的話,還要涉及到代碼的移植,比較方法
  • 5種夏季時令蔬菜的選購技巧,簡單實用,學會你也能成為買菜高手
    所以我們在超市或者菜市場買菜的時候一定要格外注意,不要買到不新鮮的蔬菜了。因為蔬菜是否新鮮直接影響到我們食用時候的口感,更和我們的健康息息相關。但是對於如何挑選蔬菜大家往往都不清楚,今天就給大家分享5種比較常見的夏季時令蔬菜的挑選方法,保證挑的都很新鮮,方法簡單實用,學會你也能成為買菜高手哦,趕快學起來吧。
  • 單片機學習,從入門到放棄?
    單片機的寄存器非常多,不知道該怎麼使用,也記不住哪些寄存器是幹什麼用的,這個其實也不難,一般的單片機完成一個具體的功能涉及到哪些寄存器,都會有例子給出,有些單片機,生產廠家也會給出相關的子程序,你只需要調用就可以了
  • ARM7單片機輕鬆入門與實踐 — 暢學單片機
    簡介      ARM7是32 位通用微處理器ARM(Advanced RISC Machines)家族中的一員,具有比較低的電源消耗和良好的性價比,基於(精簡指令)RISC結構,指令集和相關的解碼機制與微程序控制的複雜指令系統的計算機相比要相對簡單
  • 單片機焊接過程中應該注意的幾大問題
    單片機焊接的過程中,應該注意一下幾點  1、注意電解電容、發光二極體、蜂鳴器的正負極性不能接反、三者均是長的管腳接正極、短的管腳接負極,如接反輕則燒毀元氣件
  • 單片機入門製作
    它是將一塊單片機焊在一片電路板中間,板上還焊有電源和單片機的最小系統電路,見圖 1。如果繼續往下說許多讀者朋友會罵我太粗心了,所以我不得不解釋一下「最小系統」是啥東東。隨便抓一個數模電路的晶片,它要是想正常工作必須有一個先天條件,就是符合要求的電源。單片機也是一樣,不過它太講究了,要的東西更多。除了一個穩定的電源供電之外,它還需要一個復位電路,就是給單片機一個信號讓它歸回到開始工作的狀態。
  • 單片機和PLC哪個更好上手?
    單片機的確功能比PLC強大,但功能越強越廣,就意味著電路也會很複雜,,單片機的程式語言C語言或彙編語言相較於梯形圖來說,沒那麼容易懂。總而言之,想學單片機,你不僅得有計算機硬體基礎。還要會C語言編程,而且對電路這方面也要多多了解。接下來具體分析在這幾個方面的單片機和PLC的優劣勢。
  • LOL打野必須學會的7大騙人技巧!
    是發動機,一場比賽如果打野能夠利用好自己精湛的演技,往往就會出現很多Top裡的精彩鏡頭,其中尤以盲僧之類的高難度打野為首。而打野在幫助其他路Gank時,也很講究技巧,騙人是必須學會的,排除演員之外,LOL平常很多時候也都在上演著勾心鬥角的內心戲。看似殘血追殺遭反殺,看似孤立無援被草從陰了一波,因此打野也必須學會以下的七大生存技巧!
  • 單片機到底是不是嵌入式?
    還有人說單片機也是嵌入式,到底對不對?嵌入式是不是就是linux?今天咱們說說這個問題。計算機就是一個硬體上包含了CPU、內存和一定外設(IO引腳、網口、I2C接口、串口等),並且可以運行一定的程序的電子系統。計算機有很多種。大的如超算,幾間房那麼大。
  • 花店老闆絕不外傳的5個養花小技巧,簡單實用,輕鬆成為養花高手
    但大部分人在養花的過程中都會遇到各種各樣的問題,不是爛根就是黃葉,明明精心照顧的花卉,別說開花了,連正常的生長都很難,今天花花就來告訴大家5個花店老闆絕不外傳的養花小技巧,學會了你也能輕鬆成為養花高手!一.
  • 7大主流單片機優缺點分析,一文打盡趕緊收藏!
    51單片機之所以成為經典,成為易上手的單片機主要有以下特點:從內部的硬體到軟體有一套完整的按位作業系統,稱作位處理器,處理對象不是字或字節而是位。不但能對片內某些特殊功能寄存器的某位進行處理,如傳送、置位、清零、測試等,還能進行位的邏輯運算,其功能十分完備,使用起來得心應手。同時在片內RAM區間還特別開闢了一個雙重功能的地址區間,使用極為靈活,這一功能無疑給使用者提供了極大的方便。
  • 圖形化編程玩51單片機(十七)-數字鐘
    我們學習單片機的同學們,大家都想用自己學到的單片機知識來做一個有實用價值的電子產品。那麼數字鐘就是最好的首選。1,邏輯思維相對簡單,容易理解,比如:我們都知道60秒=1分鐘;60分鐘=1小時;24小時=1天,;所以,到了24小時清零,再循環就可以了。2,儘管邏輯相對簡單,但要運用我們單片機的多個器件的配合使用。
  • 單片機小白系列(十) 單片機程序下載相關知識
    ISP下載等知識,雖然這些知識並不一定要很了解也能學習單片機,但是有一些概念有時對解決問題還是很有好處的。說點題外話,為了感覺「專業」一點,以後不要再說給單片機「裝程序」了,專業點的說法應該是燒寫程序,或者下載程序。讀者很可能會好奇為什麼叫燒寫程序呢?難道下載程序的時候,要用火烤一烤單片機嗎?當然不是。這個就像馬路為什麼叫馬路一樣,是有來歷的,想知道具體原因,還是等大家學習了單片機,了解早期ROM的工作原理再去深究吧。回歸正題,不同的單片機燒寫程序的方式是不一樣的。
  • RAM在單片機裡有什麼樣的作用
    單片機就是個小計算機,大計算機少不了的數據存儲系統,單片機一樣有,而且往往和CPU集成在一起,更加顯得小巧靈活。
  • 51單片機開機復位、按鍵復位原理講解
    Reset的電壓從5V開始降低,由於單片機識別1.5V以上為高電平,所以在電解電容充電過程中,Reset由5V降到1.5V期間為高電平,1.5V降到0V為低電平,電解電容充滿點後,Reset維持在低電平,系統開機復位完成,進入運行階段。
  • 有關Keil軟體仿真的51單片機串口調試技巧
    在新版本(高於6.0)的Keil軟體中,增強了軟體的仿真能力,可以利用軟體仿真更多的單片機功能。在這些功能中,其中有一個很重要的功能就是利用計算機的串口來模擬單片機的串口(這不同於很多軟體在仿真時使用的激勵文件方式,可以直接與其他串口進行通信,更加方便、靈活)。首先要介紹仿真時需要使用的兩個命令:ASSIGN和MODE。