我目前本科自動化大三在讀,參加過互聯網+、挑戰杯、智能車、PLC、三創、服務外包等一系列的創新創業大賽,也取得了一些成績,懂得了一些知識,但是仍然覺得對以單片機為代表的嵌入式知之甚少,關于你提出的問題,下面就我以個人的學習經驗淺談一下單片機的學習。
C51智能小車
一、基礎知識基礎知識主要包括C語言、電路基礎(數字電路與模拟電路)。
在C語言這部分前期隻需要會一些基本的語法即可,譬如說if、while、for、switch,雖說指針是C的精髓,但是前期的小項目用不到太多,包括堆棧、變量的存儲在前期都不太會遇到。
我做了一個簡單的思維導圖,以下的内容差不多就是前期C語言要學習到的基礎知識
c語言基礎
其實我個人認為看書對于學習單片機沒有太大幫助,單片機的掌握是要在一個個項目中提升的。
此外要想更快入門單片機,也可以私信我,網盤内有一整套的單片機學習資料
c語言入門
51單片機入門
至于模電與數電的學習确實有點門檻,但在前期這二者隻需要了解基本的概念就行,譬如說電容、電阻、二極管、三極管。其中較為重要也是最根本的知識在于數電中的二進制,即01,換句話說,數字電路中有兩種電平,高電平(1)和低電平(0),兩個電平特性也決定了二進制——非 0 即 1。
二進制
我在入門的時候C語言和單片機是同步學的,否則單純去學枯燥無味的代碼,興趣很容易被磨滅,學習代碼、技術最重要的就是樂在其中。另外當你有了這些基礎之後,去學習單片機才能樂在其中,否則就是從入門到放棄了。
二、學習路徑在對C語言等相關基礎知識了解以後,我們接下來就要去制定我們單片機的學習路徑。
現在市面上常見的是C51、stm32、arduino、ESP8266/32系列
對于這幾類單片機的詳細區别與性能的優劣,我在此不做贅述,下期再詳細叙述。
我當時的學習路徑跟随學校的安排,首先接觸了在keil5上開發AT89C51,之後因為參加項目,對各類單片機都有了了解以後,在Arduino上開發arduino uno開發闆,接着又接觸了stm32,最後由于個人的興趣和用途,轉行開發國産芯片ESP系列,這差不多就是我的單片機開發之路,當然我也在不斷學習,以單片機為代表的嵌入式學習是無窮無盡的,也難怪有内行人會調侃
“嵌入式門檻低,一學就是一輩子,從入門到入土”
keil5
arduino uno開發闆
三、學習思路要知道,單片機是一種軟硬結合的技術,所以學習單片機必須将理論與實踐相結合,這樣能達到事半功倍的效果。
首先對照例程,完全照搬人家的思路,一定要親自動手抄寫這個程序,慢慢領會其中每一條語句的作用和原理;接下來就仿照例程嘗試着構思自己的編程思路,可以對着教程裡的代碼,研究其他人的編程思路,對有疑問或不明白的地方,試着按照自己的思路修改程序,比較程序運行效果。
電路原理設計包括各芯片的連接與應用、芯片外圍電路的設計和應用電路的設計,而這些在芯片數據手冊都可以找到,不過有的手冊可是全英文的,比較頭疼。
而PCB闆設計需要懂得使用Protel軟件或 AltimDesigner軟件,尤其想向大家推薦國産的立創EDA軟件,非常好入門,功能也一直在完善。但要想做的PCB闆布局美觀、布線合理還得費一番功夫了。
立創EDA
所以說,學習硬件要比學習軟件的成本更高,周期更長。學習單片機的最終目的是做産品開發,軟件和硬件相結合形成完整的控制系統。
以上則是單片機入門的一些經驗及知識,希望能對屏幕前的你有所幫助。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!