單片機以其高可靠性、高性價比、低電壓、低功耗等一系列優點,近幾年得到迅猛發展和大范圍推廣,廣泛應用于工業控制系統,數據采集系統、智能化儀器儀表及通訊設備、日常消費類產品、玩具等。并且已經深入到工業生產的各個環節以及人民生活的各層次中,如車間流水線控制、自動化系統、智能型家用電器(冰箱、空調、彩電)等,無不含有CPU控制器,即單片機控制。所以,我們一定要學好這門技術,以便對這些產品進行維修、改造和設計。
目前之所以造成學習單片機難的狀況,主要有以下幾點原因:(1)有些長期從事電工電子技術的人員年齡偏大,以前沒有接觸過單片機,對于單片機知識了解不多,基礎薄弱。(2)學習單片機與學習電工技術、數字電路不同,不僅有硬件連接,還有軟件控制。軟件控制主要體現在程序的編寫上,編寫程序這讓許多人望而卻步。(3)單片機種類繁多,不知該從何處下手學習,不得要領。(4)一開始時,信心十足,可隨著學習的深入,難度不斷增加,遇到難點,解決不了,日久天長難免灰心喪氣,結果學習半途而廢。(5)學習方法不恰當,能指導的老師又少(指自學者),所以學習起來感到迷茫。針對這些情況,結合本人的學習體會,給大家交流一下學習經驗。
一、 樹立信心,克服困難
許多人在學習之初,信心十足。因為既然想學這門知識就知道它的重要性,當然也是十分喜愛,這是一個好的前提。不管遇到任何困難,一定要堅持自己的自信,不可退卻,學習任何技術都是如此,如果沒有困難,就不可能稱為技術。有困難是必然的,正是因為有困難,才方顯其技術性所在,越是困難多,則技術含量就越高,所以要不怕困難。保持自信,是我們學好的前提。我們一個困難一個困難地克服,最終總會取得成功的。
二、 選一本好書,掌握一個好方法
對于一個初學者來講,選一本好書和一個好方法是最為重要的。現在單片機方面的書籍很多,有基礎的,有應用的,針對不同層次人的需要,教材不勝枚舉。我認為對于初學的人來講,宜選用基礎教材。這類教材很多,采用正規出版社(例如:北京航空航天大學出版社)的書為好。這里我推薦一本書,北京航空航天大學出版社出的《手把手教你學單片機》,周興華編著。這本書把理論和實踐結合在一起,使學習變得很有趣味,非常適合初學者。
單片機這門課程與其他課程的不同之處在于,它不僅要掌握其硬件結構,更要重視軟件編程的學習。所以學習時,既要扎實掌握硬件結構、原理和控制的思路,對于軟件的匯編語言,各種指令的功能和使用,也要牢靠掌握。在編程時,更要注意與硬件是如何結合的,通過一個個課題的實驗和驗證,反過來理解硬件的結構,使我們領會到軟與硬并沒有截然的界線,是渾然一體的,是可以多變的控制,這些才是它廣泛應用的根本所在。最為重要的是實驗,該書給出了一個基本的實驗板。自己也可以根據電路圖,動手做一個實驗板,配置一臺電腦,就可以練習編程了。任何一個簡單的程序,都要親手做一遍,不要認為看懂就行了。通過做實驗,去體會各種指令的不同功能,掌握編程的基本方法和技巧。
三、 循序漸進,水到渠成
同其他課程一樣,學習起來都有一個過程,不可能一口吃個胖子。學習單片機也是如此。這門課是一個綜合性的課程,它涉及的知識面較寬,要求對電工、電子、數字電路知識熟悉。如果你以前掌握得不夠好,也不要擔心,凡是在實驗中涉及的相關知識,再去學習,不失為一個好方法。學習單片機時,要按照循序漸進的原則,一個個實驗做下來,不可偷懶,才能體會其控制的精髓,應用起來才能自如,尤其是許多子程序要切記理解和掌握。例如,延時程序、掃描程序等。還有學習過程中,可能遇到一些當時不能理解的知識,不必急于求成,可以暫緩一下,也許在以后的學習中會迎刃而解。積極向別人虛心求教,是學好這項技術應持的態度。還有很重要一點是貴在堅持,一定要堅持下來,遇到困難切不可知難而退。困難可以通過請教別人、查閱資料來解決,把困難解決完畢了,我們自然就學好這門技術了。
四、 要敢于交流,善于交流
學習要有氛圍,不是閉門造車,最好能相約幾個志同道合的人一起學習,制定一個學習計劃,相互勉勵,共同進步。一個人孤獨學習,進步很慢,思維有很大的局限,幾個人一起學習,可以相互交流經驗,相互啟發,集體的智慧是廣泛的,對學習很有幫助。還有要善于虛心請教,身邊若有這方面的老師更好,若沒有可以到學校或企業尋找專業人員向他們請教。還可以充分利用網絡技術,網絡上有許多關于單片機的網站,通過這些網站可以與志同道合的人交流,了解單片機的發展動向和新的知識,遇到疑難也可在網上尋找解決辦法。這樣會事半功倍,縮短學習時間。同時也要善于幫助別人,對有求于自己的人,一定要不保守地告知他。因為社會化分工很細,什么事情都不是孤軍奮戰,團結才有力量嘛,學習上也是一樣。同時,也不要害怕暴露自己的弱點,就像醫生看病,必須先了解了病人的病情,才能對癥下藥,知道了自己的弱點,才能進行針對性地改進。
五、 勤動腦、多動手
學習單片機技術,關鍵是編程不好掌握,所以要勤動腦、多動手。看到一個現成的例子,不能只滿足于看懂了。不妨先不看例子中的程序,自己動手編寫程序,把自己寫的程序和例子中的程序對比,看看自己寫的和例子中的有哪些不同之處,從中找到自己的不足,學習編者的編程技巧,提高自己的編程能力。
以上幾點,是本人的體會,但愿它能夠對那些想學習單片機技術的人有所幫助。愿他們早日學成,報效社會,走上成才之路。