51單片機現在還適合作為初學者第一選擇嗎?
十幾年前w大家都在學習51單片機,這麼多年過去了,現在應該選擇什麼樣的單片機學習呢?
我認為還是合適,雖然有說Arduino已納入國外某高校課程,但是否為EE專業準備尚不清楚。
恰恰是因為十年前大家都在學,發展到今日的51有非常多的教程和資源,以及很多熟悉51的工程師。
51合適入門,一是相對簡單,二是學習資源豐富。這是作為入門,我最看中的兩點,而arduino更簡單,資源同樣非常豐富,但是其高度封裝的庫,卻也是一個阻礙新人了解原理的屏障。
有人會告訴你:現在市面上已經不用51了。的確,用51的公司或產品是少之又少,連宏晶公司都不再推薦,但是,實際用不到,不說明不可以作為初學者入門。總是有人抱有非常樸素的是非觀,認為用不上,就沒必要學。
不過,51隻能作為入門,而不能作為終點,畢業前還是最好對STM32或其他相對高級的單片機有一定的理解和實踐,這樣才具備更大的競爭力。
這個問題可能和學習編程的第一選擇是什麼類似。
1.類比一下:彙編語言C語言一直以來都是學校教授學生的首選編程語言(彙編更早一些),但是我們聽到更多的往往是Python、C++;C#;Java。其實先學習哪門語言都可以,但是實踐證明學習彙編C語言之後再去接觸現在更為流行的語言可以更快的上手,更好的理解並運用它們。
2.初學選擇什麼單片機:51一直以來都是首選,但現在STM32、樹莓派玩的人更多,且可玩性也更大,也是初學者一個不錯的選擇。主要還是看題主是的目的是什麼?單純學習嵌入式開發,那51單片機首選(價格低,學習資料齊全,一搜一大把);實現項目中的某個問題,那選擇學習STM32這些目前實際應用更多的單片機則更為合適。
3.總結:以學習嵌入式開發為目的,則首選51單片機;想快速學習後,拿到實際項目中去應用為目的,首選STM32、樹莓派等開發板。
具體看看你學習的目的,你想今後玩的深入點,以後搞搞嵌入式,對底層有更深認知的,從51開始挺不錯;
你要是想馬上就應用的,建議stm32開始;現在產品用stm32也多。
現在8位的市場佔有率還是不低的,不過未來肯定慢慢向32位靠齊了。
我是51玩了一下,因為要用低功耗,所以直接上msp430了,其實原理都差不多,關鍵是演算法。
我會比較傾向從51開始,資料多,也夠基礎,都要自己去試去深入理解,對今後有幫助。
無所謂,我就是大2開始做arduino的,開始並不會單片機,同時學校開展的課程是數電模電,大三下才學的51單片機,其實沒有什麼區別,要看本質,都是單片機,arduino確實封裝了很多東西,會讓人產生依賴性。但是當你深入學習單片機後,你就可以看到單片機的全貌,對於不從事這方面工作的人,就更沒有意義了,學個arduino玩玩就行了 。主要看你是否想從事這方面,畢竟如果工作,單51 32加arduino可是不夠用的偶
我覺得還是比較適合的,相對於STM32,51單片機你可能不用關心引腳的一些模式配置,51引腳的配置非常簡單,你只需要關係我什麼時候拉高什麼時候拉低,不用關心什麼時鐘樹、什麼速率、什麼推挽、開漏等模式。你只要關心,我的用戶層的邏輯,所以,C語言功底才是最最關鍵的,只有學好C語言,你才能遊刃有餘的學習開發板。其次,最好的學習單片機的方法是不斷地做小項目,從最基礎的點亮一個LED燈,再到最經典的顯示「Hello World」,再到後面的利用中斷、定時器等配上感測器實現各種各樣的功能,這些都是通過一個一個小項目來不斷積累的,多買些感測器回來玩玩,淘寶上有很多賣感測器的店鋪,多找找,一次買幾個,回來玩玩,慢慢的,你就牛逼了。
這裡給大家提供一個小的學習網站,裡面有很多小項目,照著別人做,嘗試一下。
網頁鏈接:
畢設狗-畢業設計指導、下載,為大學生打造一個完整的畢設資料圈?www.bsdog.cn?aff=q970y4資料詳情: