乾貨 | 如何上手學習單片機?又快又好?
3 人贊了文章
想學單片機的人問的第一句話就是:「怎樣才能學好單片機」?今天和大家討論對於如何開始學單片機、如何開始上手、如何開始熟練這些問題。
第一關:看書了解單片機功能
先說說單片機,一般我們現在用的比較多的的MCS-51的單片機,它的資料比較多,用的人也很多,市場也很大。怎麼樣才能更快的學會單片機這門課?單片機這門課是一項非常重視動手實踐的科目,不能總是看書,但是學習它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器。
換句話說,我們使用單片機就是用軟體去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什麼時候輸出高,什麼時候輸出低,由這些高低電平的變化來控制你的系統板,實現我們需要的各個功能。
至於看書,只需大概了解單片機各管腳都是幹什麼的,能實現什麼樣的功能,開始看書時你可能看不明白,但這不要緊,因為還缺少實際的感觀認識。所以學單片機看書看兩三天的就夠了,兩三天內看兩三遍不用仔細的看,大概了解一下書上的內容,然後實踐,這是非常關鍵的。
第二關:實踐練習單片機
你不實踐那是不可能學會單片機的,關於實踐有兩種方法可以選擇,
方法一:自己花錢買一塊單片機的學習板,不需要功能太全,對於初學者來說功能非常多的板子,上面有很多東西你這輩子都用不著。
建議有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、AD或DA(原理一樣)、液晶、蜂鳴器,有這些就差不多了。如果上面提到的這些,你能熟練應用,那可以說對於單片機方面的硬體你已經入門了,剩下的就是自己練習設計電路,不斷的積累經驗。
方法二:你身邊如果有單片機方面的高手,可以向他求助,讓他幫助你搭個簡單的最小系統板。對於高手而言,做個單片機的最小系統板只需要一分鐘的時間,而對於初學者可就難多了,因為只有對硬體了解了才能熟練運用。而如果找不到可以幫助你的人,那麼最好是自己買上一塊,畢竟自己有一塊要方便的多,在以後做單片機類的小實驗時也都能用得上。
有了單片機學習板之後要多練習。把學習板和電腦連好,打開調試軟體坐在電腦前,先學會怎麼用調試軟體,然後從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意願隨意流動時你已經入門了,然後讓數碼管亮起來,這兩項會了後,也許你就會開始考慮你這輩子要走哪一行了。
就是要這樣練習,在寫程序的時候你肯定會遇到很多問題,而這時再去翻書找或是問別人,當得到解答後你會記住一輩子,知識必須用於現實生活中,解決實際問題,這樣才能發揮它的作用。
第三關:學習編程語言
另外再說說用彙編和C語言編程的問題,單片機編程用C語言或彙編語言都可以,但是建議用C語言比較好,如果原來有C語言的基礎那學起來會更好,如果沒有,也可以邊學單片機邊學C語言,你一點彙編都不會可能根本無所謂,但你一點C語言都不會那將來也許會吃苦頭。
彙編寫程序代碼效率高,但相對難度較大而且很繁瑣,尤其是遇到演算法方面的問題時,現在單片機的主頻在不斷的提高,我們完全不需要那麼高效率的代碼。因為有高頻率的時鐘,單片機的ROM也在不斷的提高,足夠裝得下C語言寫的任何代碼,並且C語言的資料又多又好找,將來可移植性非常高,只需要改變IO口,寫個溫度感測器的程序在哪裡都能用。
學習編程步驟:
- 找本書大概了解一下單片機結構,大概了解就行,不需要都看懂(三天)
- 找學習板練習編寫程序,學單片機就是練編程序,遇到不會的再問人或查書(二十天)
- 網上找些小電路類的資料練習設計外圍電路,焊好後自己調試,熟悉過程 (十天)
單片機的學習實踐步驟
使用單片機就是理解單片機硬體結構,以及內部資源的應用,在彙編或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編製。
1、I/O的使用
使用按鈕輸入信號,發光二極體顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕後,某發光二極體發亮,這就是數字電路中組合邏輯的功能。
雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點。
2、定時器的使用
學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實 現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次後,燈亮3分鐘後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。
數字集成電路可以實現時序電路,可編程邏輯器件(PLD)可以實現時序電路,可編程式控制制器(PLC)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低。定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎。
3、中斷
單片機的特點是一段程序反覆執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情。
要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能。該功能就是在快速動作發生後,單片機中斷正常運行的程序,處理快速發生的動作,處理完成後,在返回執行正常的程序。
中斷功能使用中的困難是:需要精確地知道什麼時候不允許中斷髮生(屏蔽中斷)、什麼時候允許中斷髮生(開中斷)、需要設置哪些寄存器才能使某種中斷起作用、中斷開始時程序應該幹什麼、中斷完成後程序應該幹什麼等等。
4、與PC機進行RS232通信
單片機都有USART介面,特別是MSP430系列中很多型號,都具有兩個USART介面。USART介面不能直接與PC機的RS232介面連接,它們之間的邏輯電平不同,需要使用一個MAX3232晶元進行電平轉換。
USART介面的使用是非常重要的,通過該介面可以使單片機與PC機之間交換信息,雖然RS232通信並不先進,但是對於介面的學習是非常重要的。正確使用USART介面,需要學習通信協議,PC機的RS232介面編程等等知識。試想,單片機實驗板上的數據顯示在PC機監視器上,而PC機的鍵盤信號可以在單片機實驗板上得到顯示,是多麼有趣的事情。
5、學會A/D轉換
MAP430單片機帶有多通道12位A/D轉換器,通過這些A/D轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、採樣時間,轉換速率,轉換誤差等概念。使用A/D轉換功能的簡單的例子是設計一個電壓表。
6、學會PCI、I2C介面和液晶顯示器介面
這些介面的使用可以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。
7、學會比較、捕捉、PWM功能
這些功能可以使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。如果以上七步都學會,就可以設計一般的應用系統了。
當然,每個人的方可能是不一樣的,歡迎過來人說說自己的經歷!
獵芯網,京東投資的電子元器件商城
獵芯網,快速成長的專業電子元器件採購商城,貿澤(MOUSER)全系產品、e絡盟(element14)樹莓派系列產品授權經銷商,已獲得多輪風險投資。為客戶提供電子元器件現貨採購,進口報關,電子元器件寄售,供應鏈金融等一站式電子元器件採購服務。
推薦閱讀:
※學會了這10個體式!打開你的千年老胯!(這套足夠了,純乾貨)
※新中式景觀設計營造 · 乾貨
※我帶爸爸看世界之乾貨篇
※【乾貨:35頁超贊PPT讓你徹底掌握魚骨圖分析法!】
※社工考試乾貨:《社會工作綜合能力》(中級)應試攻略