㈠ 如何自學51單片機
自學的話重在於實踐,自己開始搭建一個單片機的最小系統,然後找本單片機的編程的教程,反復編程調試,從最簡單的程序開始,逐漸加大難度。
開始搭建最小系統,弄懂電路原理,軟體可以從最簡單的流水燈程序開始;
然後進階的話,依據教程搭建外圍的一些電路,自己編寫程序,反復調試;
開始自己做一些系統了,從各個模塊搭建到系統聯調,多做一些系統就成高手了;
如果條件不允許,自己在proteus上面依據教程模擬,能學習指令和編程規則,但是很實際還是有點差別。
切記死報個課本學習,這樣根本沒有一點進步!
如果覺得滿意就採納吧!
㈡ 學習51單片機,如何起步
新手學習單片機,往往感覺到不好入門,無從下手。學習單片機過程,是一項理論與實踐並重的過程,只看書不實踐,或是只重視模仿,不重視理論的學習,是無法學習好單片機的,單片機的學習需要理論和動手,要學會抓住單片機的精髓,如定時器和中斷,多看書、多上網查資料、多記錄學習心得、看到別人遇到的問題,有能力幫助別人解決問題就多幫助,幫助的過程也是自己學習提高的過程。我相信每個人只要多加練習,假以時日,都可以成為一個精通單片機的能手!
一、新手學習單片機的步驟:
1、學習理論知識,了解單片機的基本原理、寄存器、中斷、定時器等的基本概念;
2、最好有一個開發板,在開發板上從最簡單的功能開始實現,比如做一個流水燈、蜂鳴器音樂盒等;
3、實現簡單的功能後,開始嘗試更復雜的程序,例如LCD顯示、數字時鍾、串口通信、中斷控制等;
4、在上述功能均可以實現之後,可以組合實現,做一個多功能的單片機系統了;
5、如果對硬體熟悉,可以自己嘗試做一個單片機開發板!
二、新手學習單片機的步驟:
1、理論是指導,要了解單片機的基本原理;
2、理論不是全部,需要動手去探索;
3、實際動手做出一個成品才是檢驗自己學習的理論是否正確的唯一標准
4、網上很多論壇,還有網路知道等,不會的先思考,自己找找原因。實在找不到的,多提問。
總之,新手學習單片機在持之以恆,不要一時興起學習一下,遇到困難就退縮。
51單片機超聲波DIY
㈢ 學習單片機怎麼入門
循序漸近,一點點吃透學習,方法如下:
1、選擇一本好教材,建議《51單片機輕松入門
基於STC15W4K系列》這本,內容新,講解透徹,有配套視頻可輔助參考,不管是初學入門還是已經懂得單片機皮毛,滿足所有需求。
2、有了書就要理解意思,所以要吃透教材,看不懂也不要緊,多看,多問,在問題中尋找學習方向。
3、選擇配套產品,不要在乎板子的資源多少,推薦吳鑒鷹的單片機,開發板性價比高;軟體建議用Keilc51,硬體要有pc機和開發板,開發板要求有流水燈、數碼管、獨立按鍵、矩陣鍵盤、ad轉換、液晶屏、蜂鳴器,這就差不多了。其它不明白的就網上找視頻找教程,總會有解答的東西。
4、操練起來,從最基本的流水燈開始,試著先控制一個發光管,慢慢的變換花樣,做出自己的個性來。
5、帶著問題解決問題,一開始先不要找人請教,自己試,這樣記憶最深刻,也最有效果,但也不要鑽牛角尖,實在不行就問,要不剛建立起來的那點想法就打擊沒有了。
6、當技術水平,學習方法,心理素質都達到一定的境界了,就算入門了,接下來就要看個人的努力和悟性怎樣了,當然在學習單片機的過程中必須遵循一定的原則,堅守住一定的底線,這樣才能用最少的經歷,在最短的時間內獲得大的進步。
單片機(Microcontrollers)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。
㈣ 怎樣自學單片機
我單片機也是自學的,不過我不太會說話,簡單說一下吧。
最重要的一個呢就是要有興趣,如果自己是沒有什麼興趣的,那就別學了。
有興趣,但沒基礎並不是什麼問題。
首先一個,數電的一些基本知識,邏輯,高低電平,觸發器,簡單的時序電路。這些都要會。
還有模電,(元增民的書很好)簡單的就可以了,現在不是設計電路。上拉,下拉,二極體,三極體,放大,運放,AD,DA轉換,了解一下這些,要知道這些是怎麼一回事。
C語言,可以直接學一下標准C,推薦譚浩強的《c語言程序設計》,入門容易,也系統些。然後學C51,很容易了。也可以兩樣一起學,把標准C作為工具書來查,比較推薦這個。
C語言的重要性不用說,但匯編也是同樣重要的。所以還要學一下匯編,可能剛開始看匯編很亂,不過可以先用C語言寫,C熟悉了,再用匯編來寫,把自己之前寫的C程序寫成匯編的。
還有常用常見的一些晶元器件要會用,比如說時鍾晶元,測溫晶元,鎖存器,解碼器,串列轉並行,並行轉串列等這些,這些在初學單片機時都會學到的,對以後也是很有用的。
其實,以上那些知識,數電,模電,C語言,匯編可以一起來,你用到哪些,就去學哪些,現學現在用,最重要的是多動手,多寫程序,多思考,不懂的自己想想,想不明白就問別人。
板子的話我學的時候自己是學有買板子的,一個是用模擬軟體,一個是去學校的實驗室,不過我知道天祥的板子做得很好,相信你也會知道網上有郭天祥十天學會單片機的視頻。當然啦,十天學會那是不可能的,不過他的板子確實很好,雖然貴了一點,但不一定說就一定要買他的板子。網上有一些是他的那板子的改進版,就是加進了其它的模塊和功能,也可以考慮,因為我自己沒買過,鏈接就給不了你了。你可以自己上去看一下,看評論好的買。
記住,不要自己閉門造車,那樣是不可能學會的。一定要多動手,實踐才是最重要的。而且要腳踏實地。等自己覺得有些上手了,我覺得你可以經常在網路知道留意這方面的問題,幫人家解決一些問題(不是寫程序),幫助別人的同時其實你自己也是在進步的,別人遇到的問題說不定也是你以後會遇到的。然後自己做一些小東西出來,比如說做一個時鍾啊,或是時鍾加測溫的。簡單的防盜,或是做一個萬用表,等等這些,都是很好用的。
㈤ 單片機的學習方法
從剛開始接觸單片機,到現在已經有3年的時間了,在這期間學習和使用了51單片機、飛思卡爾單片機,LPC2138,PIC16F887等系列的單片機,每接觸一款單片機,都會經歷熟悉其基本開發,然後將其用於項目中的過程,對於如何學習一款單片機,自己做了如下的總結。
大家都知道,51單片機是最容易入門的,不僅因為其編程簡單,更重要的是網上的資料非常豐富。所以一般學習單片機開發的都將51單片機作為入門開發的首選。我學習51單片機的時候是採用這樣的一個步驟進行學習的:
第一步(熟悉的過程):在網上找學習資料,在網上看了很多。印像最深的要數王雲老師的雲龍51單片機視頻教程,因為這個教程從基礎到復雜的編程慢慢深入,邊講邊寫代碼,講的比較的全面,而且也生動,所以那一階段,也是我學習單片機進步最快的階段,這時對51單片機也就沒有感到陌生了。通過視頻讓我知道了該怎樣學習單片機,學習單片機,要從實驗入手,先熟悉單片機再說,開發語言開始使用的是C語言比匯編更好理解。
第二步(進階的過程):有了第一步的基礎之後,接下來的便是進階的過程,買了一款51單片機開發板,然後就開始了我的學習之旅,每次聽課的時候,按照上面的實驗,以及課堂上面調試程序時出現的一些問題,自己認真的在電腦上進行調試,並分析產生故障的原因,讓我有了一定的開發基礎。在看完了視頻教程之後,後面又對基礎的知識進行了下補習,主要是看單片機原理性的教材,因為有些細節性的東西還是要從教材上面獲得。圍繞單片機的LED燈進行控制,通過控制LED燈的亮、滅,熟悉了51單片機的內部的各種資源,這樣就能使我在很短的時間內,將51單片機內部的各個功能部件全部都使用到了。
第三步(項目實戰的階段):學習單片機的時候,雖然也編寫了一些程序,但是那些都是一些很小的模塊程序,並沒有起到綜合應用的目的,所以在這之後,我和另外一個學習硬體的同學一起組成了一個小的團隊,進行項目實踐開發,那時候,實驗室的條件比價好,有很多的器件可以自己使用。所以,我們就設計了我們的第一個作品,基於單片機的液體點滴監控系統。做這個系統時,就將以前單片機所學的知識,做了一個綜合的應用,包括有LCD1602控制,串口的控制等。
經過以上三個步驟的學習之後,對於51單片機的開發基本上就算入門了。而對於其他類型的單片機,如飛思卡爾單片機,LPC2148 ARM7單片機,PIC16F887等,雖然每個系列的功能不一樣,但是最基本的編程思想還是一樣的,不同的可能就是編譯器,程序下載的軟體等差別,所以有了51單片機的開發基礎之後,學習其他單片機所採用的方法就是一個差異化的學習,學習各種單片機不同的地方,這樣,就能很快的熟悉一款新的型號的單片機。
㈥ 51單片機怎麼學
剛接觸單片機的時候可能可以從郭天祥的「十天學會單片機」開始,邊看視頻教程,邊自己編程試試,賣一套他配套的開發板(市面上的單片機開發板包羅萬象,大同小異),雖然他的板子我個人覺得比較貴,但學習的話最好還是一整套都用他的東西吧。一定要試著自己編寫,而不是光看視頻就覺得自己是會了,不去動手寫程序。當然,學單片機的前提是你得有一定的C語言基礎了,如果用匯編也是可以的,不過個人建議還是用C比較容易上手。基本的教程和程序都走通了之後,可以自己寫一些簡單的小程序,實現一些可視化的效果。比如讓流水燈有不同的變化趨勢等等。 基本上,走通了程序,就算入門了吧。個人感覺,雖然單片機看似簡單,但實際上玩精還是挺有難度的。程序只是一方面,硬體也應該是需要學習的。總之,簡單入門很快,但真正學精需要時間,有機會可以溝通下。
㈦ 51單片機如何使用
使用51單片機需要達到以下基本條件:
1、至少要搭建一個最小系統;
2、你需要編制一個51的控製程序;
3、你需要將程序編譯連接成HEX或BIN格式的代碼並下載或燒錄到51單片機。
這樣你就可以使用這款51單片機了。
㈧ 51單片機該怎麼學
開發板的話就選 郭天祥的
淘寶上很多的
也不貴
1、熟悉單片機的原理,結構;
2、學好數電,模電,為設計電路打好基礎;
3、熟練使用C語言,多學習別人的程序;
4、對操作系統原理有一定的了解;
5、Protel至少要有點基礎;
6、要實際動手調試電路的能力。
學習單片機的步驟
當前的單片機種類很多,但是 51 是最基礎的,因此單片機的學習最好也是從 51 開始,不僅容易上手,而且相當實用。然而 51 單片機畢竟過於基礎,後來的很多單片機在功能上都有很大的擴展,因此按照我們實驗室多數人的路線接下來大多數人會學習 AVR 單片機, AVR 單片機在功能上較 51 有很大提升,集成了 A/D 、快速 PWM 等很多實用的功能,而且和很多大型的單片機在功能上有很多類似之處,因此如果以後還想掌握其他單片機 AVR 無疑是一個很好的跳板。
學習的過程
學習單片機最終要的是當然是練,我所說的學習跟課堂上的單片機學習不同,我以前也看過一些單片機教材,有些教材講的是單片機的工作原理和內部結構,這些東西對於我們暫時並不需要,等以後開課的時候在學習好了。現在要學習的是暫時拋開內部結構原理不談,如何能用單片機寫一些簡單的小程序,是從實用性的角度出發,網上有一種說法稱之為先實踐後理論的學習方法。
因此我的觀點如下,單片機的硬體結構首先要有一個基本的了解,最起碼要知道各引腳的功能、區別,能自己動手搭一個單片機的最小系統,然後就可以直接從程序入手,程序最好還是用 C 語言編程,從簡單的跑馬燈做起,逐漸深入,陸續可以做一些數碼管、液晶、 DS1302 、 DS18B20 等電子元器件的應用,在深入就可以結合一些具體實例擴展一些中斷、串口通訊等功能。還有一點要聲明的是單片機里用到的 C 語言其實很有限,課堂上學習 C++ 的很大一部分內容在初期單片機編程中都用不到,因此沒必要因為覺的自己的 C 語言基礎不是很好而對單片機望而止步!
學習的工具
軟體方面方面, 51 單片機用的是 KEIL 軟體,這個軟體在學校圖書館軟體下載和其他網站上都有,具體用法自己查找相關資料, AVR 的軟體就比較多了,我用的是 CVAVR ,另外還有 ICCAVR 等多款編譯軟體,這要看個人喜好了,建議有了一定的 51 基礎再學。另外就是燒寫軟體,燒寫軟體的作用就是將編譯器生成的 HEX 文件燒寫至單片機里,這要配合下載線實用,如果有並口的話最好用並口下載線,軟體最好用廣州雙龍的 SLISP 軟體,如果是筆記本沒有並口的話則要自己買一個下載器了,名稱為 USBASP ,網上電子市場有賣 20 塊錢左右,軟體會隨光碟自帶。
硬體方面,首先是要有單片機,對於單片機有一點要注意, 51 單片機最好買 89S51 、 89S52 這兩種型號,上面我所說的燒寫程序是 ISP 方式,這兩種單片機支持 ISP 下載,所以如果買其他型號的燒寫程序可能會不太方便, AVR 單片機常用的就是 ATmega16L 其它型號的區別也不是很大,甚至有些兼容。至於單片機開發板,目前的價格都很貴,從一百到幾百不等,不過像上次學校里廣告的那個六十多塊錢的最好還是免了,沒什麼作用。能買一塊當然好,沒有的話也不要緊,自己動手買個電路板搭一下也很方便,引出 ISP 介面,燒寫程序十分容易,然後將 I/O 口引出擴展也很方便。
學習單片機的其它幾個注意點:
1 .理論與實踐並重
對一個初學單片機的人來說,如果按教科書式的學法,上來就是一大堆指令、名詞,學了半天還搞不清這些指令起什麼作用,也許用不了幾天就會覺得枯燥乏味以致半途而廢。所以學習與實踐結合是一個好方法,邊學習、邊演練,循序漸進,這樣用不了幾次就能將所用到的指令理解、吃透、紮根於腦海,甚至 「 根深蒂固 」 。也就是說,當你學習完幾條指令後 ( 一次數量不求多,只求懂 ) ,接下去就該做實驗了,通過實驗,使你感受到剛才的指令產生的控制效果,眼睛看得見 ( 燈光 ) 、耳朵聽得到 ( 聲音 ) ,更能深刻理解指令是怎樣轉化成信號去實現控制的,通過實驗看到自己所學的成果不僅有一種成就感也能提升你對單片機的興趣。說句實在話,單片機與其說是學出來的,還不如說是做實驗練出來的,何況做實驗本身也是一種學習過程。因此邊學邊練的學習方法,效果特別好。
2 .合理安排時間持之以恆
學習單片機不能 「 三天打魚、兩天曬網 」 ,要有持之以恆的毅力與決 4 心。學習完幾條指令後,就應及時做實驗,融匯貫通,而不要等幾天或幾個星期之後再做實驗,這樣效果不好甚至前學後忘。另外要有打 「 持久戰 」 的心理准備,不要興趣來時學上幾天,無興趣時涼上幾星期。學習單片機很重要的一點就是持之以恆。
3 .遇到問題耐心檢查
單片機有軟硬體兩方面的內容,有時一個程序怎麼調都不出效果,然而從理論分析卻又是對的,這是就要仔細找原因了,學習單片機經常碰到很多問題,有時一兩天都不能解決,這是就要有耐心,從底層找起,相信每找出一個錯誤都會有一個新的收獲。切不可輕言放棄!!!
4 .對只短暫學過一遍的知識,充其量只比浮光掠影稍好。因此,較好的方法是過一段時間後 (1-2 個月 ) 再重新學一遍,學過的知識要經常運用,這樣反復循環幾次就能徹底弄懂消化,永不忘卻。
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招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了
是否可以解決您的問題?
㈨ 如何自學單片機
當前的單片機種類很多,但是 51 是最基礎的,因此單片機的學習最好也是從 51 開始,不僅容易上手,而且相當實用。新手學習時注意以下幾點:
1、學習理論知識,書的話新手建議看看__王雲51單片機教程,結合書帶的視頻一起看好理解;王雲的單片機視頻網上到處都有。
2、最好有一個開發板,在開發板上從最簡單的功能開始實現,比如做一個流水燈、蜂鳴器音樂盒等;
3、實現簡單的功能後,開始嘗試更復雜的程序,例如LCD顯示、數字時鍾、串口通信、中斷控制等;
4、在上述功能均可以實現之後,可以組合實現,做一個多功能的單片機系統了;
5、如果對硬體熟悉,可以自己嘗試做一個單片機開發板!