導航:首頁 > 操作系統 > 單片機自學

單片機自學

發布時間:2022-02-07 19:07:06

⑴ 如何學習單片機

很多想學單片機的人問我的第一句話就是怎樣才能學好單片機?對於這個問題我今天就我自己是如何開始學單片機,如何開始上手,如何開始熟練這個過程給大家講講。
先說說單片機,一般我們現在用的比較多的的MCS-51的單片機,它的資料比較多,用的人也很多,市場也很大。就我個人的體會怎麼樣才能更快的學會單片機這門課。單片機這門課是一項非常重視動手實踐的科目,不能總是看書,但是學習它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器,而說明白點,我們使用單片機就是用軟體去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什麼時候輸出高,什麼時候輸出低。由這些高低電平的變化來控制你的系統板,實現我們需要的各個功能。至於看書,只需大概了解單片機各管腳都是干什麼的?能實現什麼樣的功能?第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認識。所以我總是說,學單片機看書看兩三天的就夠了,看小說你一天能看五六本,看單片機你兩三天看兩三遍就夠了,可以不用仔細的看。推薦一本書,就這一本就足夠,書名是《新編MCS-51單片機應用設計》,是哈爾濱工業大學出版社出的的,作者是張毅剛。大概了解一下書上的內容,然後實踐,這是非常關鍵的,如果說學單片機你不實踐那是不可能學會的,關於實踐有兩種方法你可以選擇,一種方法:你自己花錢買一塊單片機的學習板,不要求功能太全的,對於初學者來說你買功能非常多的那種板子,上面有很多東西你這輩子都用不著,我建議有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、AD或DA(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上面我提到的這些,你能熟練應用,那可以說對於單片機方面的硬體你已經入門了,剩下的就是自己練習設計電路,不斷的積累經驗。只要過了第一關,後面的路就好走多了,萬事開頭難,大家可能都聽過。方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統板。對於高手來說,做個單片機的最小系統板只需要一分鍾的時間,而對於初學者可就難多了,因為只有對硬體了解了,才能熟練運用。而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以後做單片機類的小實驗時都能用得上,還省事。
有了單片機學習板之後你就要多練習,最好是自己有台電腦,一天少看電影,少打游戲,把學習板和電腦連好,打開調試軟體坐在電腦前,先學會怎麼用調試軟體,然後從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意願隨意流動時你已經入門了,你會發現單片機是多麼迷人的東西啊,太好玩了,這不是在學習知識,而是在玩,當你編寫的程序按你的意願實現時你比做什麼事都開心,你會上癮的,真的。做電子類的人真的會上癮。然後讓數碼管亮起來,這兩項會了後,你已經不能自拔了,你已經開始考慮你這輩子要走哪一行了。就是要這樣練習,在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當得到解答後你會記住一輩子的,知識必須用於現實生活中,解決實際問題,這樣才能發揮它的作用,你自己好好想想,上了這么多年大學,天天上課,你在課堂上學到了什麼?是不是為了期末考試而忙碌呢?考完得了90分,哈哈哈好高興啊,下學期開學回來忘的一干二凈,是不是?你學到什麼了?但是我告訴你單片機一旦學會,永遠不會忘了。另外我再說說用匯編和C語言編程的問題。很多同學大一二就開設了C語言的課,我也上過,我知道那時天天就是幾乘幾,幾加幾啊,求個階乘啊。學完了有什麼用?讓你用C語言編單片機的程序你是不是就傻了?書上的東西我們必須要會運用。單片機編程用C語言或匯編語言都可以,但是我建議用C語言比較好,如果原來有C語言的基礎那學起來會更好,如果沒有,也可以邊學單片機邊學C語言,C語言也挺簡單,只是一門工具而已,我勸你最好學會,將來肯定用得著,要不你以後也得學,你一點匯編都不會根本無所謂,但你一點C語言都不會那你將來會吃苦頭。匯編寫程序代碼效率高,但相對難度較大,而且很羅嗦,尤其是遇到演算法方面的問題時,根本是麻煩的不得了,現在單片機的主頻在不斷的提高,我們完全不需要那麼高效率的代碼,因為有高頻率的時鍾,單片機的ROM也在不斷的提高,足夠裝得下你用C語言寫的任何代碼,C語言的資料又多又好找,將來可移植性非常好,只需要變一個IO口寫個溫度感測器的程序在哪裡都能用,所以我勸大家用C語言。
總結上面,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學個單片機來說就是件非常容易的事。

步驟:1.找本書大概了解一下單片機結構,大概了解就行。不用都看懂,又不讓你出書的。(三天)
2.找學習板練習編寫程序,學單片機就是練編程序,遇到不會的再問人或查書。(我當初就買了中國開發板網一個單片機開發板,二十天就搞定了,你可以去試試。網址如下:http://www.kaifaban.com/html/2006111423012559.html)
3.自己網上找些小電路類的資料練習設計外圍電路。焊好後自己調試,熟悉過程。 (十天)
4.自己完全設計具有個人風格的電路,產品,。。。你已經是高手了。 。。。。

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

⑵ 怎樣自學單片機簡單嗎

學習單片機原理需要以下一些基礎: 基本的電路原理的基礎 基本的匯編、C語言的基礎,
基本的計算機使用基礎等,一般來說自學比較難,不好理解的。所以建議還是報班去學習的好
像創客學院的教學就比較有趣的,還可以自己操作實踐。

⑶ 想自學單片機,需要准備什麼東西

1.一個不斷學習的心態:最主要,單片機需要堅持,我當初迷糊了一個月(我屬於比較笨的那種),但堅持過來一個月應該能入門,所以要有不退縮,不斷學習的心態.
2.一點點模數電基礎,知道點對硬體內部工作原理好理解點.
3.至少一本單片機入門的書,選擇講解詳細的,我當初用的學校發的教程,感覺不錯,是張毅坤 陳善久 裘雪紅編著的<單片微型計算機原理及應用> ,西安電子科技大學出版社 2008第n次印刷.
4.一個好的視頻教程,主要是在你看不下去的時候看看視頻教程,和書互補一下,而且講得人能給你很多單片機的經驗.
5.鑒於這是一門實踐性課程,開發板必不可少,你可以讓熟悉單片機的人給你做一個簡易開發板,也可以購買,建議購買,因為例子和文檔比較全,順便看看電路圖.
最後祝你在日入門.

⑷ 如何自學51單片機

如果你是電子信息工程專業的學生,那麼單片機會在大二或大三開始學習89C51,這項技術你要學的好,你需要提前一學期開始自學這門課,等到老師開始上課,你就會落後很多,且老師講的,根本是雲里霧里,下面是我自己學習時的一些經驗。
1.相信此時你對C程序與電路圖都有了解下,PROTEL99SE你也已經使用多次,這里提下,如果以後你搞硬體,畫PCB板的話,這個你還是需要好好學習,網上也有很多相關資料,也有其他一些畫PCB的,但不妨從這款軟體開始學起。學51單片機,首先你安裝兩款軟體,其中用來畫圖的是proteus模擬軟體,一般的元器件,裡面大都有,你去網路文庫里,下一張proteus元器件名稱,找到元器件,你就可以組成電路。
2.proteus是制圖軟體,此時你還需要一款編寫程序的軟體,Keil C51軟體,在這個平台上,你需要的就是編寫51程序,主要就是在main.C裡面編寫,具體的操作我這里先不說了。寫完後然後倒入到電路圖中單片機內,然後模擬,就會有結果顯示

3.介紹完大致兩款軟體,這里在帶一下學習教材。學習一款軟體,最有效的方法就是看視頻學習,幾代學長們的推薦《郭天祥的十天學會單片機視頻教程》,當時我也是學習的這款,講的非常詳細,讓不懂的人也可以漸漸明白怎麼操作,這便是強烈推薦,還是就是你看了這些視頻,同時也需要去網上找一些小題目來練練手,等到你自己能完整編出一個程序,實現了某一個功能,你很會有成就感的。
4.再是推薦下學單片機的一些電子網站,在網站里,你會看前輩們很多實例,還有一些講解,你也會受到很大啟發,如電子發燒友、21IC中國電子網等,後續你明白之後,就可以自己多找找這類網站。

5.最後說下,學習這門客,最重要的是實際動手能力,你可以去買開發板,把上面的功能全實現,也可以自己搭建電路,多多練習,你會發現你會懂得更多!

⑸ 如何自學單片機

當前的單片機種類很多,但是 51 是最基礎的,因此單片機的學習最好也是從 51 開始,不僅容易上手,而且相當實用。新手學習時注意以下幾點:

1、學習理論知識,書的話新手建議看看__王雲51單片機教程,結合書帶的視頻一起看好理解;王雲的單片機視頻網上到處都有。

2、最好有一個開發板,在開發板上從最簡單的功能開始實現,比如做一個流水燈、蜂鳴器音樂盒等;

3、實現簡單的功能後,開始嘗試更復雜的程序,例如LCD顯示、數字時鍾、串口通信、中斷控制等;

4、在上述功能均可以實現之後,可以組合實現,做一個多功能的單片機系統了;
5、如果對硬體熟悉,可以自己嘗試做一個單片機開發板!

⑹ 單片機學習如何入門

想學好單片機其實並不困難,單片機是一門實踐性非常強的的學科,學習時要理論與實踐並重量,現在網上學習單片機的資料比較多,你可到有關單片機的論壇上找找,再次就是有準備必要的學習單片機的一些基本的裝備,電腦你肯定有,哪就准備一些實踐用的工具器件,如:單片機、相關的電子元件,有備件時購一台單片機學習板,這樣的學習板附帶的常式非常多,你可以邊看常式邊實踐,這樣的學習方法入門比較快,等有了一定的基礎後,可以自己動手焊的些簡單的板子,檢驗一下自己的學習效果。學習過程中要學習一定的專業知識,比如數電和模電。單片機語言就學語言C,也可用匯編,根據自己情況而定;不管您要學什麼型號的單片機51也好,AVR也好,可以先找一個小的項目例子,比如流水燈一類的做,以提高興趣。總之學習單片機要持之以恆,不斷實踐,新手學習時注意以下幾點:

1、學習理論知識,書的話新手建議看看__王雲51單片機教程,結合書帶的視頻一起看好理解;
2、最好有一個開發板,在開發板上從最簡單的功能開始實現,比如做一個流水燈、蜂鳴器音樂盒等;
3、實現簡單的功能後,開始嘗試更復雜的程序,例如LCD顯示、數字時鍾、串口通信、中斷控制等;
4、在上述功能均可以實現之後,可以組合實現,做一個多功能的單片機系統了;
5、如果對硬體熟悉,可以自己嘗試做一個單片機開發板!

⑺ 怎樣自學單片機

我單片機也是自學的,不過我不太會說話,簡單說一下吧。
最重要的一個呢就是要有興趣,如果自己是沒有什麼興趣的,那就別學了。
有興趣,但沒基礎並不是什麼問題。
首先一個,數電的一些基本知識,邏輯,高低電平,觸發器,簡單的時序電路。這些都要會。
還有模電,(元增民的書很好)簡單的就可以了,現在不是設計電路。上拉,下拉,二極體,三極體,放大,運放,AD,DA轉換,了解一下這些,要知道這些是怎麼一回事。
C語言,可以直接學一下標准C,推薦譚浩強的《c語言程序設計》,入門容易,也系統些。然後學C51,很容易了。也可以兩樣一起學,把標准C作為工具書來查,比較推薦這個。
C語言的重要性不用說,但匯編也是同樣重要的。所以還要學一下匯編,可能剛開始看匯編很亂,不過可以先用C語言寫,C熟悉了,再用匯編來寫,把自己之前寫的C程序寫成匯編的。
還有常用常見的一些晶元器件要會用,比如說時鍾晶元,測溫晶元,鎖存器,解碼器,串列轉並行,並行轉串列等這些,這些在初學單片機時都會學到的,對以後也是很有用的。
其實,以上那些知識,數電,模電,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招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了。順便說一句,MSP430單片機的技術支持是非常好的,負責任的工程師大蝦會在關鍵時候,挺身而出,使你化險為夷。

⑼ 單片機從零開始怎麼學

第一階段:是先瀏覽教科書里的硬體部分,大至了解單片機的硬體結構。如ROM、RAM、地址、I/O口等,以及看一些廠家的MCU資料(Data Sheet),來加強MCU所提供各項資源的印象。呵呵,還是得先看書。看不懂的就問老師,問知道的人。可以理解,我以前在學校也是對單片機一點兒也不理解,其實簡單點的說單片機就是一塊集成晶元,但是不同的地方就是可以通過編程來改變其引腳的電平高低。大二學了數電沒有?學過數點你就會理解高低電平的含義。另外,大一的時候學過計算機基礎了吧。你可以用計算機的原理來理解單片機。比如說 ROM 其實就像計算機的硬碟一樣,是用來裝東西的,裝你運行的程序。

第二階段:就是了解二進位數字、十六進位數和軟體方面的內容。盡管有很多高級語言可用於單片機的編程,但我覺得初學還是以匯編語言為好,更有利於和硬體結合,掌握硬體結構。知道匯編語言、機器語言、指令、 程序等概念後,從MOV指令開始,學習匯編語言和編程,在此如51的MCU匯編語言系統有11條指令,簡單又好理解它們怎樣和硬體聯系,更有助於一般學習單片機的指令整合與運用.因此其方法可先了 解幾條基本的MOV指令和它的機器語言,大致建立起單片機的硬體和軟體概念,來知道單片機的硬體是由指令控制指揮的。

第三階段按照編程環境的使用手冊,熟悉使用編程環境。現在的編程環境一般都和電腦相連,只要具備基本電腦知識的人都可很快掌握操作步驟。

第四階段是依靠實驗板,學習掌握單片機的匯編語言指令系統和簡單編程。同時和前面所學硬體知識結合組裝,起到主學軟體,鞏固硬體的雙重作用。

開始 時可用別人編的簡單程式在實驗板上進行驗證、分析,主要是熟悉該學習方法,在應用方面主要針對單片機I/O各項介面的使用,如A/D,D/A,PWM輸出的應用,LCD與VFD的控制,以及如何規范各項串列輸出入口的通訊協定等,對其所控制的各項元器件須先分析驅動能力,如電流電壓問題等。

匯編語言熟悉後,建議盡快學習C語言的編程,畢竟C語言有功能豐富的庫函數、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現對系統硬體的控制。C語言是一種結構化程序設計語言,它支持當前程序設計中廣泛採用的由頂向下結構化程序設計技術。此外,C語言程序具有完善的模塊程序結構,從而為軟體開發中採用模塊化 程序設計方法提供了有力的保障。因此,使用C語言進行程序設計已成為軟體 開發的一個主流。用C語言來編寫目標系統軟體,會大大縮短開發周期,且明顯地增加軟體的可讀性,便於改進和擴充,從而研製出規模更大、性能更完備的系統。

另外,我覺得一開始很多的概念可能你都不怎麼理解的,光看書也難理解,還得多問人,還有找一樣好的模擬軟體,一定要會用。在學指令的時候一條一條的驗證,那樣才會理解。
就比如一個非常簡單的 REG 0000H
AJMP 30H
MOV 20H #05H
END
看看模擬軟體的寄存器,內部數據存儲器裡面的數據有什麼改變。當你看到20H單元上的值變成了5,你就知道 MOV 20H #05H 的含義。但是光看書,可能就理解不出來。

閱讀全文

與單片機自學相關的資料

熱點內容
下載文件夾不用卸載 瀏覽:233
怎樣刪除手機內不用的英文文件夾 瀏覽:81
android獲得屏幕寬度 瀏覽:302
單片機根據波形寫代碼 瀏覽:669
應屆生程序員怎麼投簡歷 瀏覽:721
數學建模演算法與應用ppt 瀏覽:99
遠程怎麼訪問端游伺服器 瀏覽:106
打電話定位置的源碼 瀏覽:642
即時通訊平台源碼 瀏覽:457
安卓自助app怎麼轉到蘋果手機 瀏覽:328
雅馬哈迴音壁不能識別源碼 瀏覽:730
python如何移植到安卓 瀏覽:29
黃柱選股公式源碼 瀏覽:639
教育系統源碼達標 瀏覽:888
音效卡驅動安裝程序在哪個文件夾 瀏覽:62
錢還完了銀行不給解壓 瀏覽:170
linux的系統調用表 瀏覽:754
php怎麼轉換頁面 瀏覽:547
我的世界買了伺服器之後怎麼開服 瀏覽:830
r1234yf汽車空調壓縮機 瀏覽:147