-
1 # 頭號炮灰2
-
2 # 科技電小二
學習微控制器怎麼才算入門?能獨立完成一個綜合實驗,如實時時鐘實驗,才覺得微控制器入門!
完成實時時鐘實驗,需要哪些條件?首先選擇需要學習的微控制器型號,比如51微控制器,或者STM32,對於0基礎初學者,建議從簡單的51微控制器開始。
要有一個開發平臺,選定好微控制器後就需要選擇一款開發板,帶數碼管或者LCD1602等顯示屏,帶時鐘晶片,按鍵等基本外設。沒有這些,就沒辦法進行試驗練習。
完成實時時鐘實驗,需要哪些基礎知識 需要有C語言程式設計基礎,對於變數定義.邏輯運算,if/else判斷語法,檔案呼叫,結構體,宏定義,指標等語法能夠熟練掌握,並靈活運用。掌握微控制器常用開發環境keil/IAR。很多初學者對於程式設計環境不熟悉,造成無法順利編寫程式碼。
學習微控制器技術需要遵守的原則對於微控制器程式碼,一定要多看例程,並理解例程邏輯和語法。
對於微控制器練習,一定要多敲程式碼,每一行認真輸入的程式碼都是你微控制器技術向前進步的證明。
一定要堅持,學習微控制器開發,在絕大部分都是很枯燥無味,甚至被bug和問題擾得心煩意亂,但需要堅定信心。
學習微控制器要多問多溝通,如果條件允許,一定要找人帶自己入門,這樣比自己胡亂摸索少走很多彎路。
總之想要微控制器入門,就是能夠獨立完成一個較為複雜的微控制器專案。並將基本知識消化吸收。
-
3 # 超子說物聯網
總的來說,學習微控制器是否達到入門的程度,要從軟體和硬體兩個方面來考慮。
先說軟體程式設計方面來說就拿常用的51微控制器或是STM32為例,通常使用C語音進行軟體程式開發,要達到入門的程度,最起碼也要達到熟練使用C語言的程度。
首先要能看懂C程式,如果看都看不懂的話,就更別談自己動手熟練的寫程式了。
其次一定要熟悉C語言的基本語法,明白如何定義變數,函式,指標等。瞭解常用的if條件判斷、switch分支判斷、while迴圈、for迴圈的使用。單說入門的話,對於指標這塊,像是單向連結串列,雙向連結串列,函式指標等等可以不做要求,但是指標的基本用法還是要掌握的。
微控制器的開發不光是寫個程式,周邊配套的軟體也要熟練使用。比如程式下載軟體,不同型號的微控制器都有自己配套的下載軟體和方法。
這個是STC51微控制器的下載軟體,要想達到入門,這個軟體一定要熟練使用。
這是STM32微控制器的程式下載軟體,程式是3分寫7分調,只有下載到的微控制器中才能實際測試程式效果,所以下載軟體一定要熟練使用。
還有就是模擬器,這個也是程式除錯的神器,尤其是剛入門的時候,經驗不足,模擬器可以單步除錯,對程式的除錯幫助很大。
接下來說說硬體微控制器開發只會寫程式可不行,一定要懂硬體,入門的話可以不會設計硬體電路板。但是一定要能看懂硬體原理圖。如果看不懂原理圖,程式設計也無從下手。
原理圖指示電氣連線,首先要了解電路板上有哪些晶片,能幫助我們實現哪些功能。每個晶片的引腳和微控制器的哪些IO口連線,因為我們要控制外圍電路的晶片,就是依靠微控制器的IO口。
最後總結一下能基本掌握C,能看懂原理圖。終究還是停留在理論上。是否入門還是要看自己能否獨立完成一些基本實驗。比如做一個環境資料監控,閾值報警,資料儲存,資料匯出等功能的實驗。
-
4 # 電子及工控技術硬體電路的知識與技能準備
學習微控制器是離不開微控制器硬體技術的,這裡包括微控制器的各種外設。要想達到入門級必須會設計出微控制器電路。比如能夠自主的透過繪圖軟體設計出各種用微控制器控制的小專案,類似入門級的小專案有用微控制器控制的帶數顯的交通燈、用微控制器控制的具有溫度顯示的電子鐘以及用微控制器控制的具有避障功能的遙控小車等等,類似這樣難度的微控制器控制電路我們要能夠設計出電路來,然後根據設計出的電路進行焊接出硬體電路。在這些電路里包含了許多微控制器的外設,不如數碼管、LCD1602液晶顯示器、按鍵、溫度感測器、LED燈等等。
軟體的知識與技能準備硬體電路設計出並焊接完成後,下面的工作就是對軟體程式的編寫,所以我們要具有軟體的知識與程式設計技巧,比如要學會組合語言的編寫,精通C語言的程式設計等。由於微控制器所用的程式是底層硬體驅動程式,我們編寫程式時除了要考慮程式的演算法外,還要考慮電路的硬體驅動問題,所以要有“軟硬兼施”的技能。根據控制任務編寫好程式後,不可能達到控制的盡善盡美,總會出現這樣或那樣的“bug”,所以我們還要具有除錯軟體,下載軟體的技能,因此要有軟體和硬體結合起來除錯的能力。能夠自主的測試出硬體的各個模組工作是不是正常,編寫的軟體是不是穩定等。這樣只有通過了能夠完成如此功能的微控制器控制小專案,我認為才是進入的微控制器的大門。
如果要想成為微控制器高手做到這些還是遠遠不夠的,還要對單片進行深入的學習,比如各種高檔微控制器,比如ARM系列的微控制器以STM32最為常見。
-
5 # 玩轉嵌入式
微控制器是一門學不完的技術,因為不同行業、不同產品所用的技術方案都不一樣,即使是很簡單的一個設計,在除錯的過程中也會多多少少的遇到問題;即使是非常複雜的一個專案,在團隊的配合協作下也能很漂亮的完成。微控制器怎樣算是入門,沒有一個明確的答案。技術的經驗是在設計、除錯過程中不斷積累得到的,如果能熟悉產品的開發流程、能獨立完成一個微控制器產品,就算入門了。
1 熟悉常用的技術方案、外設方案微控制器產品,有一個特點,就是以微控制器為核心,根據產品需求確定不同的設計電路、採用不同的微控制器片上資源。所以,要對常用的技術方案和外設電路具有一定的概念。比如要設計數碼管驅動電路,就要對數碼管電路有一定的瞭解;如果要設計繼電器驅動電路,就要對繼電器驅動電路有一定的瞭解;如果要設計通訊電路,就要對常用的通訊電路有一定的瞭解。
2 會晶片選型晶片選型是一個非常重要的問題,既涉及到技術原理,又涉及到程式的程式設計思路,還要涉及到成本等問題。要熟悉常用的晶片,形成自己常用的晶片庫。如果是新的晶片,則能透過資料手冊儘快的瞭解晶片的使用方法和外設電路的設計。
3 會設計技術方案、原理圖和PCB拿到客戶需求後,能設計出滿足客戶需求的技術方案,再經過晶片選型、成本考慮,技術原理評審通過後,要會設計電路原理圖,在設計電路原理圖的時候要考慮微控制器的片上資源以及程式設計思路,以方便以後的程式設計工作,設計完原理圖後要設計PCBLayout,並熟悉PCB樣板的打樣流程。
4 會微控制器程式設計微控制器的硬體設計和程式設計一般會分開的,這個因公司而已,規模大一點的公司硬體設計和程式設計是分開,各自分工,相互配合。但是小規模的公司,則硬體和程式設計是放在一起的,既要考慮硬體的設計方案又要考慮程式設計,可能還要自己測試自己出技術圖紙和工藝、生產對接。
硬體涉及的內容太廣,要求面面俱到全都精通不現實,在工作中既要學以致用,又要現學現賣。根據產品需求,去學習新的技術方案,用到什麼再去學習什麼,帶著目的學習效果會更好。所以,微控制器的入門沒有明確的概念,可以在工作中慢慢學習,慢慢積累。
-
6 # 愛上半導體
這個入門不太好界定,因為每個人對入門的標準都不一樣。
對微控制器要求低的可能是點亮一個LED燈就算入門。
對自己要求高的可能是完成I2C、SPI、USB這些才算是入門。
那現在簡單說一下我的入門標準吧。
我對自己的入門標準並不只是單單的會了某一種型號的微控制器、再或者這個微控制器的一個外設。而是熟悉了微控制器的開發套路,不管你給我提什麼需求,我這裡可以透過資料手冊,能迅速把這個專案給做出來,這才是入門。
而不單單的是會使用微控制器的多少功能,要能做到舉一反三才算是入門。
比如我51微控制器入門了,那麼我可能花費很短的時間就可以用PiC、AVR做專案,這才是真正意義上的入門。
-
7 # 老馬識途微控制器
微控制器學到什麼程度才算入門?這個問題屬於見仁見智的問題,每個人都有不同的看法。我來說說我的看法吧。
微控制器的學習有兩方面,一是微控制器電路,二是微控制器控制程式。這兩方面是相輔相成的,程式需要在電路上才能實現其控制功能,電路需要有控制程式才能正確執行各種動作。所以這兩者缺一不可,都要學習。
首先要學會微控制器的基本電路微控制器的基本電路不是很多,這些電路主要是圍繞微控制器內部功能模組的,所以這些是微控制器電路的基礎,需要很好的理解和掌握。
1、微控制器最小系統電路
2、按鍵電路
3、LED驅動電路
4、IIC電路
5、串列埠電路
6、SPI電路
7、ADC電路
......
其次要學會微控制器的功能模組程式設計微控制器的程式設計現在基本都是用C語言了,所以首先對C語言要有所瞭解,其實我們平時用C語言寫微控制器程式並不會涉及到很多高深的程式設計技巧。
1、微控制器的時鐘配置程式
2、I/O埠的輸入輸出配置程式
3、中斷服務程式
4、定時器的定時、技術程式
5、PWM程式
6、IIC介面的EEPROM驅動程式
7、SPI資料收發程式
8、ADC轉換程式
......
第三要學會程式的除錯方法微控制器程式編寫和除錯一般都會在專用的程式設計軟體下實現,所以要熟悉這個程式設計軟體的使用方法,還要指導程式除錯的方法和技巧,例如在程式除錯中如何檢視資料變化,如何觀察暫存器的配置情況等等。
第四要學會常用電子儀器的使用方法常用的工具有萬用表、示波器等等。
第五要學會電路檢查的基本方法初期階段主要是檢查微控制器對I/O埠的輸入檢測和輸出控制是否正確,一般是用萬用表測量埠的電壓高低,用示波器檢查輸出或者輸入波形是否正確等。
-
8 # 未禿頭的程式設計師
1.學會使用編譯器軟體:就是在編譯器下建立一個專案,編寫一點點程式碼,生成一個程式檔案。當你熟悉這個流程以後,就變得非常容易了。不過第一次還是很難實現的,最好有一個比較詳細點的教程。
2.學會使用下載工具和軟體:把程式燒錄到微控制器裡,執行起來,需要動手去操作。
3.學會使用除錯工具:如有條件,可以學習硬體模擬除錯。
4.以上可以在學習板上實現,不過以後你要學會自己設計 並製作電路
5.多練習 能做到想要什麼(簡單的) 就能做出什麼
-
9 # IoT數字科技時代
先讀通一本教材
唉!?太沒創意了吧,還要看書?不錯,第一步還是要通讀一遍教材,這樣我們才能站在巨人的肩膀上。讀了一遍什麼感覺,一個字暈。這很正常,不然你就看不到這篇文章。很多人在暈了之後就洩氣了,或者換教材,接著暈,直至暈倒。不過,現在告訴大家我們要向酒鬼學習,暈了不要緊,嘴上一直說“沒醉”,至少還可以多喝半斤。所以信心很重要。
暈著腦袋實踐
第一步我們已經暈了,其實,我們是在似醉非醉,似醒非醒的最高境界。趁著這麼好的感覺(這種感覺是多少武林高手夢寐以求的),趕快練上幾路拳腳。
選用一塊微控制器開發板,不過最好還是有自己的獨家裝備,一開始裝備不要太華麗,能用就行。軟體建議用Keilc51,硬體要有pc機和開發板,開發板要求有流水燈、數碼管、獨立按鍵、矩陣鍵盤、ad轉換、液晶屏、蜂鳴器,這就差不多了。軟體網上有的是,下一個。pc機沒有可以先用下同學的。在想想將來我們要靠他來闖蕩江湖,這又算得了什麼呢?
好!兵器選好了,那就練把!提醒大家一句,降龍十八掌也是從扎馬步練起的。現在就從最基本的流水燈開始,試著先控制一個發光管,慢慢的變換花樣,做出自己的個性來。是不是特有成就感,是不是不吃飯都不知道餓。現在已經有點著迷了吧。
帶著問題解決問題
在實踐中我們有很多現象解釋不了,怎麼辦?是自己慢慢領悟呢,還是向高手請教?建議先自己領悟,實在不行再向高手請教,這是記憶最深刻,效果最好的辦法。但不要領悟的時間太長,否則會削減我們剛建立起來的信心;事事都問,記憶就不深刻,成不了自己的東西,就像練武,只學到了招式,沒學到內功。如果這一步能過關,哈哈,相信你已經被微控制器迷住了。
自我修養,不斷提高
達到這一步,不論是技術水平,學習方法,還是心理素質都達到一定的境界了,已經入門了。俗話說師傅領進門,修行在個人。到了這一步,下來就要看個人的努力和悟性怎樣了,能否創造出自己的“黯然銷魂掌”,那要看個人的修為了。
當然在學習微控制器的過程中必須遵循一定的原則,堅守住一定的底線,這樣才能用最少的經歷,在最短的時間內獲得大的進步。
END -
10 # YALELIGHTING
這個問題是一個意見問題,每個人都有不同的意見。我來談談我的看法。
微控制器的學習有兩個方面,一個是微控制器電路,另一個是微控制器控制程式。這兩個方面是互補的,程式需要能夠在電路上實現其控制功能,並且電路需要具有控制程式以正確地執行各種動作。所以這兩者是不可或缺的,必須學習。
首先,我們必須學習微控制器的基本電路!
MCU的基本電路並不多。這些電路主要圍繞MCU的內部功能模組,因此這些是MCU電路的基礎,需要很好地理解和掌握。MCU的基本電路主要有以下幾種:
1,微控制器的最小系統電路
3,LED驅動電路
4,IIC電路
5,串列埠電路
6,SPI電路
7,ADC電路
其次,我們必須學習微控制器的功能模組程式設計,MCU的程式設計基本上都是用C語言編寫的,所以首先要了解C語言。實際上,我們通常使用C語言編寫MCU程式,它不涉及很多高階程式設計技巧。
1,微控制器的時鐘配置程式
2,I/O埠輸入輸出配置程式
3,中斷服務程式
4,定時器定時,技術程式
5,PWM程式
6,用於IIC介面的EEPROM驅動程式
7,SPI資料收發程式
8,ADC轉換程式
第三是學習如何除錯程式。
MCU程式的編寫和除錯一般是在專用的程式設計軟體下實現的,所以熟悉這個程式設計軟體的使用,還要指導程式除錯的方法和技巧,比如如何檢視程式除錯中的資料變化,如何觀察暫存器配置情況等。
第四,我們必須學習如何使用普通電子儀器,常用的工具有萬用表,示波器等。
第五是學習電路檢查的基本方法,在初始階段,主要是檢查MCU對I/O埠的輸入檢測和輸出控制是否正確。通常,埠的電壓由萬用表測量,輸出或輸入波形由示波器檢查。
-
11 # 昊昊雷他爸
對於學習微控制器來說,怎麼算入門?其實不同的人絕對會有不同的標準和看法。我覺得對於一個微控制器工程師來說,至少能獨立設計一個微控制器系統,能獨立完成簡單的控制程式,這樣才算入門了。
而從入門到精通,還需要不斷的磨練自己,至少要具備以下幾個能力:
1)電路設計能力。從最基礎的數/模電知識,逐步擴充套件到微控制器小系統所涉及的電源、AD/DA、時鐘、運放電路等。
2)邏輯設計相關知識。微控制器系統中一般都有CPLD/FPGA,需要掌握器件選型、程式碼設計(verilog語言)及除錯等等。
3)嵌入式軟體相關知識。C需要和彙編均要掌握的,os有餘力最好掌握。資料結構、演算法基礎等等都是進一步提升的要求。
4)硬體量產能力。主要含工程工藝、可靠性設計及結構設計等。微控制器系統一般用於工業控制等電磁干擾嚴重的環境,需要掌握EMC相關原理和設計技巧;PCB設計需要CAD相關知識;模組設計需要結構設計等知識;量產加工需要配套的生產線質量管控和批次測試經驗等。
5)良好的英語閱讀能力。器件資料、軟體指南等很多都是英文的。另外,對於ARM/linux問題,有很多英文論壇可供諮詢。
-
12 # 三邵爺的夢囈
以當初參加電子設計大賽的經歷來看,基本上在學習微控制器之前需要做到:
1. 基本的硬體基礎,類比電路,數位電路
2. 開發板
3. 基本的組合語言程式設計和C語言程式設計功底
有了上面的基礎後,在買來的開發板做下面的實驗,如果自己能夠獨立寫出程式、搭建板子、除錯程式,那麼微控制器基本算是入門了。
1 微控制器實現流水燈
2 控制1位數碼管
3 控制多位數碼管
4 數碼管顯示溫度(DS18B20)
5 數碼管顯示時鐘(DS1302)
6 微控制器控制1602或12864
7 1620顯示溫度
8 1602超聲波測距
9 12864顯示ADC轉換
10 微控制器之間的串列埠通訊
入門以後,可以繼續補充演算法、資料結構、上位機程式設計等知識。
-
13 # 電子產品設計方案
能獨立用微控制器完成一個簡單專案的開發應該算入門了
初學者要求不能太高了,技術和經驗都是靠不斷的積累的。剛開始可以先接手一些簡單的專案來練手。像玩具、檯燈、小家電這些都是比較簡單的產品,能夠獨立開發就已經可以找到很好的工作了。
自主選型微控制器根據專案功能的的要求,自己可以獨立選用合適的微控制器。學會學習使用不同品牌的微控制器。不同的公司習慣使用的微控制器品牌都可能不一樣,要學會適應。
獨立設計產品原理圖根據產品的功能需求,選好合適的微控制器後。自己要設計出原理圖,能夠實現產品的功能。
獨立完成微控制器程式自己可以獨立完成微控制器的程式,實現產品需要的功能。並且能夠穩定、可靠的執行。如果只會用別人的原理圖或者程式進行修修改改是沒辦法進步的。一定要學會獨立,再簡單的產品也是自己開發出來的。
-
14 # 驚鴻byte
作為一個曾經參加過兩屆全國電子設計大賽拿過國家獎的學生,來談談怎樣能入門微控制器
基礎打牢——數電、模電、微處理器何為基礎?數位電路、類比電路、微處理器三門課是關鍵,數位電路讓你理解基本的0 1世界如何運作,類比電路讓你理解各種運算放大器、濾波器、高頻低頻設計等等,微處理器讓你開始理解處理器如何運作。這三門課可以說是重中之重,因為學習或者使用微控制器逃不開也要設計類比電路、外設、內部機理,所以這三門打好基礎對於以後掌握更多的相關知識、接觸專案非常關鍵。
微控制器基礎——51微控制器很多學習微控制器的朋友都是從51微控制器開始接觸,但是其實很多人常用的並不是51,為什麼呢?51微控制器作為麻雀雖小五臟俱全的一款微控制器,方方面面功能已經相對比較齊全,而且不是特別複雜,對於初學者來說非常友好,所以建議初學者先從51開始,找一本相關書籍,淘寶上買一套開發套件,電腦上裝好keil,很快就可以學起來並且入門了!
微控制器夯實基礎學習51之後,其實我認為個人的遷移能力仍然沒有得到很好的鍛鍊,這個時候建議學習TI的小紅板,注意的是,這個時候就不要太依賴看書了,去官網下載手冊,包括小紅板的模擬手冊、數字手冊以及程式設計手冊,自己仔細的閱讀一下,結合剛剛說到的三門課數電、模電、微處理器,好好過一遍電源、管腳、內部暫存器等等,同時結合對51微控制器的理解,鍛鍊你自己的遷移和讀手冊能力。
閱讀手冊的習慣上面一點其實已經初步涉及到看手冊的能力,其實搞微控制器這一塊,甚至是說搞電路設計等等很多時候都需要我們自己具備查閱手冊的能力,因為器件不同,引數和效能各個方面都會有區別,這個時候就需要我們能主動的去閱讀對應的手冊,這樣慢慢的,你就會發現,stm32、fpga等等很多都不在話下了!
回覆列表
基於微控制器開發了差不多四年,其實在應用上對於晶片的驅動操作有很多東西要注意,昨天老大開會讓我們每人寫一個外設的CBB,討論了一番才發現不管是最基本的GPIO,還是UART,SPI等,都有很深的研究空間~對於專案的開發,我們公司一個產品已經用了十年了,上個月根據現場反饋問題查到程式碼裡的GPIO用的有問題~如果是入門級,只要能用MCU的外設就行,開發一兩個專案應該就差不多了