Ⅰ 如何自學單片機
當前的單片機種類很多,但是 51 是最基礎的,因此單片機的學習最好也是從 51 開始,不僅容易上手,而且相當實用。新手學習時注意以下幾點:
1、學習理論知識,書的話新手建議看看__王雲51單片機教程,結合書帶的視頻一起看好理解;王雲的單片機視頻網上到處都有。
2、最好有一個開發板,在開發板上從最簡單的功能開始實現,比如做一個流水燈、蜂鳴器音樂盒等;
3、實現簡單的功能後,開始嘗試更復雜的程序,例如LCD顯示、數字時鍾、串口通信、中斷控制等;
4、在上述功能均可以實現之後,可以組合實現,做一個多功能的單片機系統了;
5、如果對硬體熟悉,可以自己嘗試做一個單片機開發板!
Ⅱ 學習單片機需要什麼基礎自學可以嗎
學習單片機的八大步驟(轉)
推薦 學習使用單片機就是理解單片機硬體結構,在匯編或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單片機的技術支持是非常好的,負責任的工程師大蝦會在關鍵時候,挺身而出,使你化險為夷。
Ⅲ 如何自學製作單片機
單片機這個東西,開始肯定得自學,而且還得下功夫。
首先你應該學習微機原理,了解硬體結構和原理。
然後找一本好點的單片機教材。如果你有高級語言基礎,可以選C語言的教材,相對容易點。如果你想弄清楚單片機的編程原理,那最好選匯編語言的教材。反復看,做練習。熟練掌握指令和編程方法後,可以考慮買一台開發平台,大概一兩千塊錢吧。然後在開發平台上可以實現自己的想法了。再後來,可以將你的想法,你的程序轉變為具有商業價值的東西。
Ⅳ 單片機自學都需要什麼
目前單片機對於工科學生而言就會象電路基礎原理一樣成為基礎課。
其實不是單片機難學,而是不知道怎麼入門。請大家記住一句話「單片機不是學出來的,而是玩出來的」。下面結合自己自學單片機的體會,和大家一起來「玩」單片機。准備好了嗎?我現在開始教大家如何學習單片機。
第一步:先讀通一本教材
唉!?太沒創意了吧,還要看書?不錯,第一步還是要通讀一遍教材,這樣我們才能站在巨人的肩膀上。讀了一遍什麼感覺,一個字暈。著很正常,不然你就看不到這篇文章。很多人在暈了之後就泄氣了,或者換教材,接著暈,直至暈倒。不過,現在告訴大家我們要向酒鬼學習,暈了不要緊,嘴上一直說「沒醉」,至少有可以多喝半斤。所以信心很重要。
第二:暈著腦袋實踐
第一步我們已經暈了,其實,我們是在似醉非醉,似醒非醒的最高境界。趁著這么好的感覺(這種感覺是多少武林高手夢寐以求的),趕快練上幾路拳腳。
首先要選好兵器。找一款功能多,教程詳細,技術支持好的單片機開發板,吳鑒鷹單片機開發板是主流,適合學習。軟體建議用Keil c51,硬體要有pc機和開發板,開發板要求有流水燈、數碼管、獨立按鍵、矩陣鍵盤、ad轉換、液晶屏、蜂鳴器,這就差不多了。軟體網上有的是,下一個,還是免費的。pc機沒有可以先用下同學的。開發板大概在200元左右,這比請朋友吃飯便宜多了。在想想將來我們要靠他來闖盪江湖,這又算得了什麼呢?
好!兵器選好了,那就練把!提醒大家一句,降龍十八掌也是從扎馬步練起的。即便我們比郭靖聰明,也要先練馬步,想想黃蓉就知道了。現在就從最基本的流水燈開始,試著先控制一個發光管,慢慢的變換花樣,做出自己的個性來。是不是特有成就感,是不是不吃飯都不知道餓。現在已經有點著迷了吧(個別人除外)。
第三:帶著問題解決問題
在實踐中我們有很多現象解釋不了,怎麼辦?是自己慢慢參悟呢,還是向高手請教?建議先自己參悟,實在不行在向高手請教,這是記憶最深刻,效果最好的辦法。但不要參悟的時間太長,否則會削減我們剛建立起來的信心;事事都問,記憶就不深刻,成不了自己的東西,就像練武,只學到了招式,沒學到內功。如果這一步能過關,哈哈,相信你已經被單片機迷住了。
第四步:自我修養,不斷提高
達到著一步,不論是技術水平,學習方法,還是心理素質都達到一定的境界了,已經入門了。俗話說師傅領進門,修行在個人。到了這一步,下來就要看個人的努力和悟性怎樣了,能否創造出自己的「黯然銷魂掌」,那要看個人的修為了。
Ⅳ 自學單片機有好處和必要嗎
其實你們專業課就有單片機,但如果你覺得很無聊,想學點這些來充實自己,對你以後的學習來說也是有意義的。
首先,你要明確一點,單片機是自動控制領域一個比較重要的控制晶元,它是用來控制系統電路的運行的。有的時候沒它不行,但它也不是單單只做單片機。所以電子技術你要知道,比如設計模擬電路,數字電路。在程序方面,雖然很多人都喜歡用C編寫程序,但匯編指令也是學單片機必須要掌握的,因為有的時候,涉及最底層的晶元操作時候,C語言不一定能完全勝任。不要怕麻煩,不要覺得匯編指令枯燥就不管它。
接下來說說怎麼學,先問問你的學長你們學校開什麼廠家的單片機的教程,一般中國的大學單片機課程都是教51系列單片機,但也有教其他單片機的。還有就是問問你們的老師有沒有組織什麼興趣組或參加電子比賽的。你可以先混進去跟老師和學長們學習。就算是旁觀也比你悶著頭自己學容易上手。
然後買本單片機教材,先把原理看一下,然後自己買個對應的單片機學習板(要跟你學的單片機種類相同哦),自己把書本上的程序都寫一次,燒寫進單片機里看看結果如何。然後把書本後的上機操作習題都寫出程序燒進單片機試試。
如果你們學校有參加電子比賽的,而老師也樂意讓你跟著學長後面學的,那是最好不過的,因為學校有資源,不用自己額外花錢。
有什麼成果!首先是能在你上單片機課之前就了解了這門課,如果學得快這時候你能根據自己的理解來嘗試做一個小小的自控系統了。以前我的學弟就是,還沒開課,就能跟我做數據採集系統了。他們那屆上完單片機課之後(大三上學期),他的畢業設計都做完了,並且把作品拿去參賽。這成為了他就業的資本了,因為要做電子方面的研發工作,一般都要求有經驗。應屆畢業生沒工作經驗怎麼辦,參加過比賽的學生一般比啥都沒作過的更有機會,參加過比賽作過東西出來的就是經驗。
Ⅵ 如何自學51單片機
如果你是電子信息工程專業的學生,那麼單片機會在大二或大三開始學習89C51,這項技術你要學的好,你需要提前一學期開始自學這門課,等到老師開始上課,你就會落後很多,且老師講的,根本是雲里霧里,下面是我自己學習時的一些經驗。
1.相信此時你對C程序與電路圖都有了解下,PROTEL99SE你也已經使用多次,這里提下,如果以後你搞硬體,畫PCB板的話,這個你還是需要好好學習,網上也有很多相關資料,也有其他一些畫PCB的,但不妨從這款軟體開始學起。學51單片機,首先你安裝兩款軟體,其中用來畫圖的是proteus模擬軟體,一般的元器件,裡面大都有,你去網路文庫里,下一張proteus元器件名稱,找到元器件,你就可以組成電路。
2.proteus是制圖軟體,此時你還需要一款編寫程序的軟體,Keil C51軟體,在這個平台上,你需要的就是編寫51程序,主要就是在main.C裡面編寫,具體的操作我這里先不說了。寫完後然後倒入到電路圖中單片機內,然後模擬,就會有結果顯示
3.介紹完大致兩款軟體,這里在帶一下學習教材。學習一款軟體,最有效的方法就是看視頻學習,幾代學長們的推薦《郭天祥的十天學會單片機視頻教程》,當時我也是學習的這款,講的非常詳細,讓不懂的人也可以漸漸明白怎麼操作,這便是強烈推薦,還是就是你看了這些視頻,同時也需要去網上找一些小題目來練練手,等到你自己能完整編出一個程序,實現了某一個功能,你很會有成就感的。
4.再是推薦下學單片機的一些電子網站,在網站里,你會看前輩們很多實例,還有一些講解,你也會受到很大啟發,如電子發燒友、21IC中國電子網等,後續你明白之後,就可以自己多找找這類網站。
5.最後說下,學習這門客,最重要的是實際動手能力,你可以去買開發板,把上面的功能全實現,也可以自己搭建電路,多多練習,你會發現你會懂得更多!
Ⅶ 單片機學習如何入門
想學好單片機其實並不困難,單片機是一門實踐性非常強的的學科,學習時要理論與實踐並重量,現在網上學習單片機的資料比較多,你可到有關單片機的論壇上找找,再次就是有準備必要的學習單片機的一些基本的裝備,電腦你肯定有,哪就准備一些實踐用的工具器件,如:單片機、相關的電子元件,有備件時購一台單片機學習板,這樣的學習板附帶的常式非常多,你可以邊看常式邊實踐,這樣的學習方法入門比較快,等有了一定的基礎後,可以自己動手焊的些簡單的板子,檢驗一下自己的學習效果。學習過程中要學習一定的專業知識,比如數電和模電。單片機語言就學語言C,也可用匯編,根據自己情況而定;不管您要學什麼型號的單片機51也好,AVR也好,可以先找一個小的項目例子,比如流水燈一類的做,以提高興趣。總之學習單片機要持之以恆,不斷實踐,新手學習時注意以下幾點:
1、學習理論知識,書的話新手建議看看__王雲51單片機教程,結合書帶的視頻一起看好理解;
2、最好有一個開發板,在開發板上從最簡單的功能開始實現,比如做一個流水燈、蜂鳴器音樂盒等;
3、實現簡單的功能後,開始嘗試更復雜的程序,例如LCD顯示、數字時鍾、串口通信、中斷控制等;
4、在上述功能均可以實現之後,可以組合實現,做一個多功能的單片機系統了;
5、如果對硬體熟悉,可以自己嘗試做一個單片機開發板!
Ⅷ 如何學習單片機
很多想學單片機的人問我的第一句話就是怎樣才能學好單片機?對於這個問題我今天就我自己是如何開始學單片機,如何開始上手,如何開始熟練這個過程給大家講講。
先說說單片機,一般我們現在用的比較多的的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.自己完全設計具有個人風格的電路,產品,。。。你已經是高手了。 。。。。
看到了嗎?下功夫一個多月你就能成為高手,我就講這么多了,學不學得會,下不下得了功夫就看你的了
Ⅸ 怎樣自學單片機
我單片機也是自學的,不過我不太會說話,簡單說一下吧。
最重要的一個呢就是要有興趣,如果自己是沒有什麼興趣的,那就別學了。
有興趣,但沒基礎並不是什麼問題。
首先一個,數電的一些基本知識,邏輯,高低電平,觸發器,簡單的時序電路。這些都要會。
還有模電,(元增民的書很好)簡單的就可以了,現在不是設計電路。上拉,下拉,二極體,三極體,放大,運放,AD,DA轉換,了解一下這些,要知道這些是怎麼一回事。
C語言,可以直接學一下標准C,推薦譚浩強的《c語言程序設計》,入門容易,也系統些。然後學C51,很容易了。也可以兩樣一起學,把標准C作為工具書來查,比較推薦這個。
C語言的重要性不用說,但匯編也是同樣重要的。所以還要學一下匯編,可能剛開始看匯編很亂,不過可以先用C語言寫,C熟悉了,再用匯編來寫,把自己之前寫的C程序寫成匯編的。
還有常用常見的一些晶元器件要會用,比如說時鍾晶元,測溫晶元,鎖存器,解碼器,串列轉並行,並行轉串列等這些,這些在初學單片機時都會學到的,對以後也是很有用的。
其實,以上那些知識,數電,模電,C語言,匯編可以一起來,你用到哪些,就去學哪些,現學現在用,最重要的是多動手,多寫程序,多思考,不懂的自己想想,想不明白就問別人。
板子的話我學的時候自己是學有買板子的,一個是用模擬軟體,一個是去學校的實驗室,不過我知道天祥的板子做得很好,相信你也會知道網上有郭天祥十天學會單片機的視頻。當然啦,十天學會那是不可能的,不過他的板子確實很好,雖然貴了一點,但不一定說就一定要買他的板子。網上有一些是他的那板子的改進版,就是加進了其它的模塊和功能,也可以考慮,因為我自己沒買過,鏈接就給不了你了。你可以自己上去看一下,看評論好的買。
記住,不要自己閉門造車,那樣是不可能學會的。一定要多動手,實踐才是最重要的。而且要腳踏實地。等自己覺得有些上手了,我覺得你可以經常在網路知道留意這方面的問題,幫人家解決一些問題(不是寫程序),幫助別人的同時其實你自己也是在進步的,別人遇到的問題說不定也是你以後會遇到的。然後自己做一些小東西出來,比如說做一個時鍾啊,或是時鍾加測溫的。簡單的防盜,或是做一個萬用表,等等這些,都是很好用的。