03.02 怎麼從零學單片機?

馮忠澤


學習單片機需要具備一定的電路基礎、數字電路、模擬電路、信號系統、C語言編程等相關的基礎知識。單片機的學習包括硬件設計和編程設計,早期單片機用匯編編程的人比較多,現在越來越多的人用C語言進行編程。下面和大家分享一下如何快速有效的學習單片機。

1

從51單片機開始學習編程

很多人建議可以直接從STM32、ARV、MSP430等單片機開始,在做產品的時候大家可以根據具體需求選擇這類單片機。但是從零基礎入門的角度考慮,我還是建議單片機從51單片機開始。因為51系列單片機進入中國最早、使用人數較多、資料較多,最關鍵的寄存器配置比較簡單。

有了數模電基礎、C語言基礎後,就可以買一塊51單片機學習編程了。在學習編程的時候要有順序,先從操作單片機的GPIO口開始,再學習定時器、中斷、AD採樣、PWM輸出,最後再學習UART、IIC、SPI等通訊方式,經過上述步驟之後,對單片機就有了基本的認識。

2

學習硬件的設計

單片機編程是基於硬件基礎之上的,瞭解了編程之後,再來學習一下單片機硬件的設計。目前的電子產品,基本都是以單片機為核心,再根據不通的需求,圍繞單片機搭建不通的外設電路。在設計電路時,就要考慮好方案是不是利於編程。硬件的學習,也要從基本的電路開始,如LED燈電路的設計、繼電器電路的設計、蜂鳴器電路的設計、數碼管電路的設計、RS232/RS485電路的設計等,雖然都是獨立的模塊,但是可以通過編程聯繫到一起,這也是先學編程後學習設計電路的原因。

3

學習做項目

學習單片機是為了做產品。在學習階段可能沒有參與項目的機會。可以根據自己的想法去提煉一些需求,最終設計電路、寫程序去實現。或者自己試著去實現一塊單片機開發板,學習單片機的過程是要花錢的。如果身邊有參與項目的機會,一定要把握。在項目中實踐自己的所學,在項目中擴大自己的知識面。

以上就是這個問題的回答,感謝留言、評論、轉發。更多電子設計、硬件設計、單片機等內容請關注本頭條號:玩轉嵌入式。感謝大家。


玩轉嵌入式


如何從零基礎學單片機是每位單片機愛好者或電子愛好者想得到的答案,我根據自己學單片機 一些經驗與各位朋友們分享一下我學習單片機的經驗,通過介紹我自己學習單片機的整個過程起到拋磚引玉的目的,同時希望能給單片機愛好者提供一個參考的作用。

單片機類型的選擇

現在單片機種類繁多,各種類型的單片機琳琅滿目尤其是對初學單片機愛好者感到無從適從,現在單片機有8位機以C51為代表、16位機以mps430為代表、32位機以STM32、ARM、DSP為代表。另外還具有支持精簡指令(RISC)的單片機PIC和AVR等。在這眾多類型的單片機中我建議朋友們先學一下以C51為內核的8位單片機,例如艾特梅爾(ATMEL)的和STC的,因為這種單片機的資料比較多,有很多的成功例程可以學習。這種單片機學起來上手非常快,便於我們建立對對單片機學習的信心。

學習單片機的軟件的選擇

我們知道單片機是一種可編程的控制器,可以很多次“燒寫”程序和“擦除”程序,那麼這就涉及到所用的編程軟件和燒寫程序的軟件。我在學習單片機時常用的編程軟件是KeiL μvision軟件,我剛學習時所用的是KeiL μvision2,現在已經升級到KeiL μvision5版本了,能支持更多型號的單片機了,由於其出色的表現,現在這款軟件我仍然在用。

關於燒寫軟件我用的有三款,但有的需要配備昂貴的燒寫器,我建議剛學單片機的朋友用STC的燒寫軟件,這款軟件免費,是綠色版不需要安裝直接就能用,燒寫時需要冷啟動下載即可,操作非常方便,我現在做些小項目仍然用它來下載程序。

關於編程語言的選擇現在有兩種,一種是彙編語言另一種是C語言。由於彙編語言晦澀難懂指令比較多(有111條指令)不利於初者學習。我還是建議初學單片機的朋友學習C語言,它是非常重要的計算機編程語言,一些高端單片機所用的語言基本上都是以C語言為主,同時用C語言也減少了我們對單片機內部硬件結構的依賴。也為後續學習16或者32位單片機打下基礎。

學習單片機硬件的選擇

我們知道單片機是一門實用技術,我們學習它不是為了考試而是為了在今後能夠應用給它設計出項目,其實用性很強。我對剛學習單片機的朋友建議通過自己焊接出自己的硬件電路,先從單片機最小系統開始焊接,慢慢進行拓展,比如最小系統焊完之後要焊接RS232下載電路,因為STC單片機需要通過它來下載程序。焊完之後可以焊接LED燈、數碼管等等。這樣我們循序漸進地編程通過軟件對這些硬件進行控制。當我們通過編程對一個個單片機外設進行控制,當能都達到我們所要的結果時其喜悅心情是難以言表的,這也是我們學習單片機的動力。

如果我們沒有焊接基礎,那麼可以購買單片機實驗板來達到學習的目的。總之學習單片機就要多練習,有一句話叫“紙上得來終覺淺,絕知此事要躬行”就是這個道理。

希望剛學習單片機的朋友們都能夠學會學好單片機,歡迎單片機高手們分享你學習單片機的經驗,敬請關注電子及工控技術!


電子及工控技術


學習任何一件事物都是從如何認知開始的,問這個問題,相信你還是一個小白吧,或者剛剛上路。我有一個思路給到你,首先,你要把基礎學好,先了解一些電子電路的基礎知識,這其中就包括模擬電子與數字電子,數字電子尤其重要,還要了解C語言基礎。接著,你要多多去接觸用單片機在做項目的師兄、師姐們,多去實驗室,把興趣培養起來,要清楚的知道學會單片機以後能幹啥。然後,就是去網上買塊開發板開幹吧,實踐才能學懂,多看幾本相關的書籍,把一些有用的視頻多看幾篇,這樣你漸漸的才能培養起感覺,有了感覺說明你不二了,已經開始入門了。接下來就是抓緊做項目吧,搞些比較完整的項目,比如超聲波測距、溫度計、計時器、無人機、智能小車這些項目,做得多了你就慢慢成為大神了。


最重要的兩門課

1、硬件知識

學習單片機的學生絕大多數都是學理工科的同學,可以這樣講,單片機就是偏硬件方面的課程,所以你首要的任務就是要把基礎課程電子電路、模擬電子、數字電路、信號處理這些先學好,起碼有個基礎才行。這些知識沒學好,你後面會走很多彎路的,有很多人就是因為沒有這些基礎,所以早早就放棄了。

現在主流的單片機主要有:51單片機、STM32單片機、PIC單片機、AVR單片機、MSP430單片機等,根據你們學校的情況先入門其中一個型號。先要學習其內部組成架構,包括裡面的邏輯運算單元、存儲單元、外部接口單元這些,可以不用完全懂,先有個概念。然後學習一下彙編語言,不要求全懂,也是要先有個概念吧。

1、軟件知識

單片機是一個偏硬件的東西,不過它還是需要軟件來驅動的。這個軟件僅限於底層的軟件,所以你一開始只需要學習一些基礎的C語言知識就可以了,先把基礎的變量、數組、語法、函數、指針這些搞懂,你就可以開始做一些小模塊的編程了。等以後入門之後,再來慢慢加深C語言方面的學習,以後你要做大型的項目的時候,必須要把C語言完全掌握才可以,否則寫出來的東西極有可能就是一堆BUG。

以上兩點就是我所說的認知,這是必須要經歷的過程。有了這個過程你後面才能夠學得更有勁,才能培養起興趣來。有些人一上來就要開始做項目,非常心急,最後沒玩幾天,實在搞不懂就投降繳械了。就是因為沒有培養認知的這個過程。

培養動手能力

1、買一款開發板回來做實驗;

2、順便要買一個燒錄器,可以燒錄程序,有些還能在線仿真;

3、有一些工具還是必備的,比如USB轉串口線、萬用表、示波器這些;

4、多編碼、多調試、多仿真、多用示波器分析信號。


總結:首先培養認知,然後注重基礎知識的學習,最後最重要的就是多動手。


以上就是我的介紹,大概的給你普及了相關的知識,很多東西還沒有細說,如果覺得不過癮,可以關注我,我們一起交流探討。

我是一名科技愛好者,有著多年的智能硬件開發經驗,力求用淺顯易懂的語言來解答隱晦難懂的一些技術問題,歡迎大家點贊和關注我。


智能硬件分析


1.學習數字電路模擬電路基礎知識

2.瞭解單片機結構工作方式

3.關鍵是c語言或者彙編語言

在學習的過程中,最好有一塊單片機開發板,從簡單到複雜的學習,在學習的過程中自己動手搭建電路,自己編寫程序,這樣學起來會加深你的印象,還要多思考,實現一個功能,電路不止一種,編程不止一種,所以要懂得舉一反三,遇到不懂的多問




智聯電子DIY


這個是困惑好多新手要進入嵌入式開發領域的問題,我會什麼,我要做什麼,我要怎麼做,前提先想清楚這幾個問題,在這幾個問題想清楚後,在逐步落實,分享一下我的觀點!

首先,我會什麼。你是什麼專業畢業的,學習過模擬電路/數字電路嗎?學過c語言嗎,瞭解過哪些單片機,基本原理了解嗎!

其次,我要做什麼。就是你要從事的職業中,要偏向於軟件,還是偏向於硬件,還是說軟件/硬件全棧!

然後,我要怎麼做。分別做個分析。

對於偏向軟件開發,那麼c語言則是重點要學習,學的越深則代碼寫出來的質量越好,模電/數電則瞭解就好,能對電路原理看懂就好,普通單片機花個3-5年時間,再轉arm軟件開發。

對於偏向硬件開發的,則模電/數電要重點學習,學的越深,電路設計問題就較少,c語言簡單學習就好,硬件開發也要了解結構的知識(當然是上手後了[呲牙])。

對於說要全棧開發,上面都好好學,累[耶]。

弄明白了發展方向了,對於新手來說,買個51單片機開發板(建議STC開發板,支持國產哈[呲牙]),資料多,下載keil開發工具(買的時候賣家會有指導教程的,也便宜,不慌),代碼就1-2文件就可以跑起來,先來個閃燈的項目試試!搞硬件的,同時下載pcb畫圖軟件(也有很多模擬設計軟件的哦),參考別人開發板(要簡單的[大笑]),畫畫板先[呲牙],等你搞出來第一個項目,那感覺是,人生第一件大事啊。

ps,重中之重啊,一定要記住:根據自己的方向,找個工作,在工作中實驗,也有可愛的大哥大姐指導你哦!錢的問題,老闆敢開多少,就敢拿多少。[呲牙]

祝你好運!



小扇子的筆記


先學arduino,這個比較簡單


電子愛好者小8


單片機目前已經從最早的51單片機發展到現在的arm ,stm32等高端單片機,不過原理都一樣,零基礎還是從51開始學,51簡單,網上資料也多,當你把51精通以後,學其他的就簡單了,其實原理都一樣


分享到:


相關文章: