當前位置:
首頁 > 最新 > 大牛總結單片機c語言學習心得!

大牛總結單片機c語言學習心得!

很多想學單片機的人問我的第一句話就是怎樣才能學好單片機?對於這個問題我今天就我自己是如何開始學單片機,如何開始上手,如何開始熟練這個過程給大家講講。

先說說單片機,一般我們現在用的比較多的的MCS-51的單片機,它的資料比較多,用的人也很多,市場也很大。就我個人的體會怎麼樣才能更快的學會單片機這門課。

單片機這門課是一項非常重視動手實踐的科目,不能總是看書,但是學習它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器,而說明白點,我們使用單片機就是用軟體去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什麼時候輸出高,什麼時候輸出低。由這些高低電平的變化來控制你的系統板,實現我們需要的各個功能。

至於看書,只需大概了解單片機各管腳都是幹什麼的?能實現什麼樣的功能?第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認識。所以我總是說,學單片機看書看兩三天的就夠了,看小說你一天能看五六本,看單片機你兩三天看兩三遍就夠了,可以不用仔細的看。推薦一本書,就這一本就足夠,書名是《新編MCS-51單片機應用設計》,是哈爾濱工業大學出版社出的的,作者是張毅剛。大概了解一下書上的內容,然後實踐,這是非常關鍵的,如果說學單片機你不實踐那是不可能學會的。

關於實踐有兩種方法你可以選擇,方法一:你自己花錢買一塊單片機的學習板,不要求功能太全的,對於初學者來說你買功能非常多的那種板子,上面有很多東西你這輩子都用不著,我建議有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、AD或DA(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上面我提到的這些,你能熟練應用,那可以說對於單片機方面的硬體你已經入門了,剩下的就是自己練習設計電路,不斷的積累經驗。只要過了第一關,後面的路就好走多了,萬事開頭難,大家可能都聽過。

方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統板。對於高手來說,做個單片機的最小系統板只需要一分鐘的時間,而對於初學者可就難多了,因為只有對硬體了解了,才能熟練運用。而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以後做單片機類的小實驗時都能用得上,還省事。

有了單片機學習板之後你就要多練習,最好是自己有台電腦,一天少看電影,少打遊戲,把學習板和電腦連好,打開調試軟體坐在電腦前,先學會怎麼用調試軟體,然後從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意願隨意流動時你已經入門了,你會發現單片機是多麼迷人的東西啊,太好玩了,這不是在學習知識,而是在玩,當你編寫的程序按你的意願實現時你比做什麼事都開心,你會上癮的,真的。做電子類的人真的會上癮。然後讓數碼管亮起來,這兩項會了後,你已經不能自拔了,你已經開始考慮你這輩子要走哪一行了。

就是要這樣練習,在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當得到解答後你會記住一輩子的,知識必須用於現實生活中,解決實際問題,這樣才能發揮它的作用,你自己好好想想,上了這麼多年大學,天天上課,你在課堂上學到了什麼?是不是為了期末考試而忙碌呢?考完得了90分,哈哈哈好高興啊,下學期開學回來忘的一乾二淨,是不是?你學到什麼了?但是我告訴你單片機一旦學會,永遠不會忘了。另外我再說說用彙編和C語言編程的問題。很多同學大一二就開設了C語言的課,我也上過,我知道那時天天就是幾乘幾,幾加幾啊,求個階乘啊。學完了有什麼用?讓你用C語言編單片機的程序你是不是就傻了?書上的東西我們必須要會運用。

單片機編程用C語言或彙編語言都可以,但是我建議用C語言比較好,如果原來有C語言的基礎那學起來會更好,如果沒有,也可以邊學單片機邊學C語言,C語言也挺簡單,只是一門工具而已,我勸你最好學會,將來肯定用得著,要不你以後也得學,你一點彙編都不會根本無所謂,但你一點C語言都不會那你將來會吃苦頭。

彙編寫程序代碼效率高,但相對難度較大,而且很羅嗦,尤其是遇到演算法方面的問題時,根本是麻煩的不得了,現在單片機的主頻在不斷的提高,我們完全不需要那麼高效率的代碼,因為有高頻率的時鐘,單片機的ROM也在不斷的提高,足夠裝得下你用C語言寫的任何代碼,C語言的資料又多又好找,將來可移植性非常好,只需要變一個IO口寫個溫度感測器的程序在哪裡都能用,所以我勸大家用C語言。

總結上面,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學個單片機來說就是件非常容易的事。

步驟:

1.找本書大概了解一下單片機結構,大概了解就行。不用都看懂,又不讓你出書的。(三天)

2.找學習板練習編寫程序,學單片機就是練編程序,遇到不會的再問人或查書。 (二十天)

3.自己網上找些小電路類的資料練習設計外圍電路。焊好後自己調試,熟悉過程。 (十天)

4.自己完全設計具有個人風格的電路,產品,。。。你已經是高手了。 。。。。

看到了嗎?下功夫一個多月你就能成為高手,我就講這麼多了,學不學得會,下不下得了功夫就看你的了。

我的單片機學習心得。

很多人說,學單片機最好先學彙編語言,以我的經驗告訴大家,絕對沒有這個必要,初學者一開始就直接用C語言為單片機編程,既省時間,學起來又容易,進步速度會很快。在剛開始學單片機的時候,千萬不要為了解單片機內部結構而浪費時間,這樣只能打擊你的信心,當你學會編程後,自然一步步就掌握其內部結構了。

單片機的學習實踐。

單片機提高重在實踐,想要學好單片機,軟體編程必不可少。但是熟悉硬體對於學好單片機的也是非常重要的。如何學習好硬體,動手實踐是必不可少的。我們可以通過自己動手做一個自己的電子製作,通過完成它,以提高我的對一些晶元的了解和熟練運用它。這樣我們就可以多一些了解晶元的結構。我相信,你完成了一個屬於自己的電子製作,你的單片機水平就會有一個質的提高。

這就是我學習單片機的心得體會,希望給單片機的愛好者學好單片機有所幫助。

使用單片機就是理解單片機硬體結構,以及內部資源的應用,在彙編或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編製。

第一步:數字I/O的使用

使用按鈕輸入信號,發光二極體顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕後,某發光二極體發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣。

第二步:定時器的使用

學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實 現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次後,燈亮3分鐘後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數 字集成電路可以實現時序電路,可編程邏輯器件(PLD)可以實現時序電路,可編程式控制制器(PLC)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低。定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎。

第三步:中斷

單片機的特點是一段程序反覆執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生後,單片機中斷正常運行的程序,處理快速發生的動作,處理完成後,在返回執行正常的程序。

中斷功能使用中的困難是需要精確地知道什麼時候不允許中斷髮生(屏蔽中斷)、什麼時候允許中斷髮生(開中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開始時,程序應該幹什麼,中斷完成後,程序應該幹什麼等等。中斷學會後,就可以編製更複雜結構的程序,這樣的程序可以干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在乾的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能。

以上三步學會,就相當於降龍十八掌武功,會了三掌了,可以勉強護身。

第四步:與PC機進行RS232通信

單片機都有USART介面,特別是MSP430系列中很多型號,都具有兩個USART介面。USART介面不能直接與PC機的RS232介面連接,它們之間的邏輯電平不同,需要使用一個MAX3232晶元進行電平轉換。

USART介面的使用是非常重要的,通過該介面,可以使單片機與PC機之間交換信息,雖然RS232通信並不先進,但是對於介面的學習是非常重要的。正確使用USART介面,需要學習通信協議,PC機的RS232介面編程等等知識。試想,單片機實驗板上的數據顯示在PC機監視器上,而PC機的鍵盤信號可以在單片機實驗板上得到顯示,將是多麼有意思的事情啊!

第五步:學會A/D轉換

MAP430單片機帶有多通道12位A/D轉換器,通過這些A/D轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、採樣時間,轉換速率,轉換誤差等概念。使用A/D轉換功能的簡單的例子是設計一個電壓表。

第六步:學會PCI、I2C介面和液晶顯示器介面

這些介面的使用可以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。

第七步:學會比較、捕捉、PWM功能

這些功能可以使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。如果以上七步都學會,就可以設計一般的應用系統,相當於學會十招降龍十八掌,可以出手攻擊了。

第八步:學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計

學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計是非常重要的,因為這是當前產品開發的發展方向。

到此為止,相當於學會15招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了!!

【關於】立創商城(WWW.SZLCSC.COM)成立於2011年,致力於為客戶提供一站式電子元器件線上採購服務,成交量全國領先。自建6000多平米現代化元器件倉庫,現貨庫存超50000種。本文由立創商城整合,版權歸原作者所有。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 立創 的精彩文章:

示波器使用的12個常見問題
超詳細的電路反饋知識講解,滿滿乾貨,值得收藏

TAG:立創 |