要求很簡單,單片機是否入門只有三點:
1 、獨立掌握 Keil+Proteus 兩大軟件的使用方法并設計出仿真版的交通燈。
2 、獨立在面包板上搭接單片機最小電路,并通過下載器將控制一個 LED 閃爍的 HEX 文件下載進去看到效果。
3 、清楚自己單片機學的動力所在,并為自己的學習做一個規劃。
但是在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,這其中你會找你之前學過的編程的書,還有數電模電的書,你會發現原來之前學的知識還是有用的。 遇到不懂再去找以前學過的書本查閱,這才是 “溫故而知新,可以為師矣”的大道理啊。 知識必須用于現實生活中,解決實際問題,用單片機設計個簡易的家電定時器、紅外遙控器什么,這樣才能發揮它的作用,好好想想,上了這么多年大學,探索了那么久,猶豫徘徊,天天上課,在課堂上學到了什么?、
是不是為了期末 60 分的考試而忙碌,僥幸靠了 90 分,很高興啊,在別人面前吹自己專業知識如何如何學習的好, 殊不知,大學考試不像高中考試啊,拿到獎學金又怎么樣。 下學期開學回來一想,所學的知識已經忘得一干二凈。學到什么了?為什么要推薦學習單片機,因為單片機是工科生學的,集合計算機編程電子技術及多門控制語言為一體的學科,與其說是在學習單片機,不如說是在學習一個大學科。
五、學習單片機是匯編編程還是 C 語言編程
關于用匯編和 C 語言編程的問題。
這個問題困惱很多人,但是我覺得學習匯編語言和 C 語言就像一個人進入社會要學習方言和普通話一樣。都要掌握,孰重孰輕自己把握。可能主要是學校教學和部分教材引導, 大一開了 C 語言編程,沒等學生知道到底 C 語言有什么實際用途,馬上其他的語言一下子過來了。即使開設了專門單片機課程,但是課程的內容與技術文檔很相識,程序雖然很多,但完整的不多,所以學完了也不知道,到底為什么要學習編程。
很多同學大一就開設了 C 語言的課, 我也上過,但是那時就是天天幾乘幾,幾加幾啊,求個階乘啊,用 C 語言去解決小學數學問題,每周兩次上機,對著書本不停的敲打,完全在練習打字速度。下課了也不知道自己到底掌握了什么,掌握了這個有什么用途。學完了有什么用?
如果在面試的時候,老板問,你學過編程嗎,你腦子里馬上是什么“ C 語言 ,VC 什么 VB 。很多,什么 C 語言是基礎是面向工程的,什么 VC 是高級面向對象的
”,但是老板又問,你能將你所學習的 C 語言應用到實際開發中,比如設計一個定時報警器的 C 語言。這下傻了,老師沒教過啊。
單片機編程用 C 語言或匯編語言都可以,但是我建議用 C 語言比較好,模塊化管理編程方便,移植性強,適合編寫大程序。如果原來有 C 語言的基礎那學起來會更好,如果沒有,也可以邊學單片機邊學 C 語言。雖然很多人是從匯編語言開始接觸單片機的,但是寫小程序匯編語言還是簡單的,如果要實現一些算法,那匯編語言就不簡單了。雖說 C 語言編譯以后代碼量明顯比匯編長,而且執行效率也沒有匯編語言高,但是在以前單片機開發中芯片工藝的限制,及單片機主頻的限制,很多單片機內部存儲器小的可伶,主頻也小得可伶。但是現在不一樣了,芯片內部的存儲器根不不在乎這點差別。主頻也越來越高。
那匯編語言是不是不學了呢?不是的,一定要學習,有兩方面首先入門單片機的時候要用匯編語言,它的語法簡單。第二如果你要做單片機的程序的高級設計師,那匯編語言是非掌握不可的,很多像高級單片機 ARM 都是匯編語言作為引導代碼的,還有就是很多新出品的單片機起先也是先有匯編語言編譯器之后才有 C 語言編譯器。所以,我覺得對于單片機學習匯編語言入門, C 語言精通,匯編語言再精通。
有句話很有道理“單片機 C 語言高手絕對是匯編語言高手,但是匯編語言高手不一定是 C 語言高手”
最后,對于單片機的學習,入門為先,入門了以后就要去關注市場,關注企業,企業需要什么樣的人才,我想有了基礎以后在面試之前了解下企業所需要的單片機類型,很快就上手了,畢竟學習是相同的。