當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 單片機(jī)學(xué)習(xí) > 單片機(jī)編程入門 > 單片機(jī)硬件開發(fā)者的福音,滿滿都是干貨
嵌入式可以說(shuō)是廣泛應(yīng)用于我們的生活中,從手機(jī),mp3到航空航天這些都是嵌入式在發(fā)揮著重要的作用,單片機(jī)也是屬于嵌入式的范疇,那么問(wèn)題來(lái)了單片機(jī)硬件開發(fā)需要學(xué)習(xí)什么,從何學(xué)習(xí),在這里小編通過(guò)咨詢單片機(jī)硬件方面的專家,來(lái)總結(jié)整理出了單片機(jī)硬件開發(fā)的學(xué)習(xí)點(diǎn)及一些主流的單片機(jī)透徹的介紹。
剛開始我們就先來(lái)看看單片機(jī)硬件開發(fā)七大主流單片機(jī)讓你最為詳細(xì)的了解:
STM32單片機(jī)
我看到我的qq上,很多人都在學(xué)習(xí)STM32單片機(jī),可見STM32單片機(jī)現(xiàn)在還是硬件開發(fā)中比較主流的,要從這些地方真正了解他們
由ST廠商推出的STM32系列單片機(jī),行業(yè)的朋友都知道,這是一款性價(jià)比超高的系列單片機(jī),應(yīng)該沒有之一,功能及其強(qiáng)大。
STM32單片機(jī)的特性主要表現(xiàn)在
1.內(nèi)核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz,單周期乘法和硬件除法
2.存儲(chǔ)器:片上集成32-512KB的Flash存儲(chǔ)器。6-64KB的SRAM存儲(chǔ)器
3.調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。最多高達(dá)112個(gè)的快速I/O端口、最多多達(dá)11個(gè)定時(shí)器、最多多達(dá)13個(gè)通信接口
PIC單片機(jī)
PIC單片機(jī)系列是美國(guó)微芯公司(Microship)的產(chǎn)品,共分三個(gè)級(jí)別,即基本級(jí)、中級(jí)、高級(jí),是當(dāng)前市場(chǎng)份額增長(zhǎng)最快的單片機(jī)之一,CPU采用RISC結(jié)構(gòu),分別有33、35、58條指令,屬精簡(jiǎn)指令集。PIC單片機(jī)
1.具有低工作電壓、低功耗、驅(qū)動(dòng)能力強(qiáng)等特點(diǎn)。
2.當(dāng)置位1時(shí)為輸入狀態(tài),且不管該腳呈高電平或低電平,對(duì)外均呈高阻狀態(tài);置位0時(shí)為輸出狀態(tài),不管該腳為何種電平,均呈低阻狀態(tài),有相當(dāng)?shù)尿?qū)動(dòng)能力,低電平吸入電流達(dá)25mA,高電平輸出電流可達(dá)20mA。相對(duì)于51系列而言,這是一個(gè)很大的優(yōu)點(diǎn)
3.它可以直接驅(qū)動(dòng)數(shù)碼管顯示且外電路簡(jiǎn)單。它的A/D為10位,能滿足精度要求。具有在線調(diào)試及編程(ISP)功能。
51單片機(jī)
51單片機(jī)之所以成為經(jīng)典,成為易上手的單片機(jī)主要有以下特點(diǎn):
1.從內(nèi)部的硬件到軟件有一套完整的按位操作系統(tǒng),稱作位處理器,處理對(duì)象不是字或字節(jié)而是位。不但能對(duì)片內(nèi)某些特殊功能寄存器的某位進(jìn)行處理,如傳送、置位、清零、測(cè)試等,還能進(jìn)行位的邏輯運(yùn)算,其功能十分完備,使用起來(lái)得心應(yīng)手。
2. 同時(shí)在片內(nèi)RAM區(qū)間還特別開辟了一個(gè)雙重功能的地址區(qū)間,使用極為靈活,這一功能無(wú)疑給使用者提供了極大的方便,
3. 乘法和除法指令,這給編程也帶來(lái)了便利。很多的八位單片機(jī)都不具備乘法功能,作乘法時(shí)還得編上一段子程序調(diào)用,十分不便。
51單片機(jī)還是現(xiàn)在最常用的,一般新手學(xué)習(xí)之前都要用到這個(gè)。
STC單片機(jī)
說(shuō)到STC單片機(jī)有人會(huì)說(shuō)到,STC也能算主流,估計(jì)要被噴了~~我們基于它是國(guó)內(nèi)還算是比較不錯(cuò)的單片機(jī)來(lái)說(shuō)。
STC單片機(jī)是宏晶生產(chǎn)的單時(shí)鐘/機(jī)器周期的單片機(jī),說(shuō)白了STC單片機(jī)是51與AVR的結(jié)合體,有人說(shuō)AVR是51的替代單片機(jī),但是AVR單片機(jī)在位控制和C語(yǔ)言寫法上存在很大的差異。特性:
1.下載燒錄程序用串口方便好用,容易上手,擁有大量的學(xué)習(xí)資料及視頻,最著名的要屬于杜老師的那個(gè)視頻了,好多對(duì)單片機(jī)有興趣的朋友都是通過(guò)這個(gè)視頻入門的,同時(shí)具有寬電壓:5.5~3.8V,2.4~3.8V, 低功耗設(shè)計(jì):空閑模式,掉電模式(可由外部中斷喚醒)
2.STC單片機(jī)具有在應(yīng)用編程,調(diào)試起來(lái)比較方便;帶有10位AD、內(nèi)部EEPROM、可在1T/機(jī)器周期下工作,速度是傳統(tǒng)51單片機(jī)的8~12倍,價(jià)格也較便宜
3.4 通道捕獲/比較單元,STC12C2052AD系列為2通道,也可用來(lái)再實(shí)現(xiàn)4個(gè)定時(shí)器或4個(gè)外部中斷,2個(gè)硬件16位定時(shí)器,兼容普通8051的定時(shí)器...
AVR單片機(jī)
AVR單片機(jī)是Atmel公司推出的較為新穎的單片機(jī),其顯著的特點(diǎn)為高性能、高速度、低功耗。它取消機(jī)器周期,以時(shí)鐘周期為指令周期,實(shí)行流水作業(yè)。
AVR單片機(jī)指令以字為單位,且大部分指令都為單周期指令。而單周期既可執(zhí)行本指令功能,同時(shí)完成下一條指令的讀取。
通常時(shí)鐘頻率用4~8MHz,故最短指令執(zhí)行時(shí)間為250~125ns。AVR單片機(jī)能成為最近仍是比較火熱的單片機(jī),主要的特點(diǎn):
1.AVR系列沒有類似累加器A的結(jié)構(gòu),它主要是通過(guò)R16~R31寄存器來(lái)實(shí)現(xiàn)A的功能。
2.AVR的專用寄存器集中在00~3F地址區(qū)間,無(wú)需像PIC那樣得先進(jìn)行選存儲(chǔ)體的過(guò)程,使用起來(lái)比PIC方便。
3.AVR的I/O腳類似PIC,它也有用來(lái)控制輸入或輸出的方向寄存器,在輸出狀態(tài)下,高電平輸出的電流在10mA左右,低電平吸入電流20mA。這點(diǎn)雖不如PIC,但比51系列還是要優(yōu)秀的…
那么重點(diǎn)來(lái)了,單片機(jī)硬件工程師學(xué)習(xí)該從何開始?
單片機(jī):通常無(wú)操作系統(tǒng),用于簡(jiǎn)單的控制,如電梯,空調(diào)等。
arm:一個(gè)英國(guó)的芯片設(shè)計(jì)公司,但是不生產(chǎn)芯片。只賣知識(shí)產(chǎn)權(quán)。
dsp:用于復(fù)雜的計(jì)算,像離散余弦變換、快速傅里葉變換,常用于圖像處理,在數(shù)碼相機(jī)等設(shè)備中使用。
fpga:現(xiàn)場(chǎng)可編程門陣列,以硬件描述語(yǔ)言(Verilog 或 VHDL)所完成的電路設(shè)計(jì),可以經(jīng)過(guò)簡(jiǎn)單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測(cè)試,是現(xiàn)代 IC 設(shè)計(jì)驗(yàn)證的技術(shù)主流。
嵌入式 是相對(duì)于臺(tái)式電腦而言,系統(tǒng)可裁剪,形態(tài)各異,可能體積、功耗、成本受限、實(shí)時(shí)性要求高,如示波器,手機(jī),平板電腦,全自動(dòng)洗衣機(jī),路由器、數(shù)碼相機(jī),這些設(shè)備中,雖然看不到臺(tái)式機(jī)的存在,但是都有一個(gè)或多個(gè)嵌入式系統(tǒng)在工作。
根據(jù)對(duì)象體系的功能復(fù)雜性和計(jì)算處理復(fù)雜性,提供的不同選擇。對(duì)于簡(jiǎn)單的家電控制嵌入式系統(tǒng),采用簡(jiǎn)單的8位單片機(jī)就足夠了,價(jià)廉物美,對(duì)于手機(jī)和游戲機(jī)等,就必須采用32位的ARM和DSP等芯片了。FPGA是一種更偏向硬件的實(shí)現(xiàn)方式。
所以如果想要學(xué)習(xí)單片機(jī)硬件工程師那么就要從單片機(jī)的arm和dsp,fpga這些方面來(lái)入手,這樣對(duì)你硬件學(xué)習(xí)是十分有用的。
我們就從一個(gè)方面來(lái)詳細(xì)說(shuō)一下, 那就從arm學(xué)習(xí)來(lái)說(shuō):
在我們身邊的很多ARM初學(xué)者,剛開始就抱著很多有關(guān)ARM體系結(jié)構(gòu)的書籍開始苦讀,更有很多初學(xué)者,在很多具體內(nèi)容上總是鉆牛角尖,花費(fèi)了大量時(shí)間在ARM匯編指令上,雖然對(duì)一些ARM的相關(guān)概念會(huì)比較了解,但與真正的具體應(yīng)用還是相差很遠(yuǎn),有很多初學(xué)者有這樣的體會(huì),在學(xué)完ARM體系結(jié)構(gòu)之后,對(duì)ARM的應(yīng)用還是無(wú)從下手,也正因?yàn)檫@個(gè)原因,很多人就放棄了ARM嵌入式開發(fā)的學(xué)習(xí)。當(dāng)然也不是不主張看ARM體系結(jié)構(gòu)的相關(guān)書籍,但關(guān)鍵在于怎么看、看到什么程度,根據(jù)相關(guān)經(jīng)驗(yàn)來(lái)看,ARM初學(xué)者對(duì)于ARM體系結(jié)構(gòu)的相關(guān)知識(shí)只需要做到了解程度就可以了,對(duì)于ARM的匯編可以完全不用記憶,只需要看懂就可以,隨著初學(xué)者對(duì)ARM更深入地學(xué)習(xí),有關(guān)ARM體系結(jié)構(gòu)與匯編指令的知識(shí)以后可能會(huì)反復(fù)出現(xiàn),遇到時(shí)可以再通過(guò)有針對(duì)性的看重點(diǎn)內(nèi)容及相關(guān)知識(shí)點(diǎn),相信會(huì)取得比較好的效果。
目前,流行的ARM軟件集成開發(fā)環(huán)境有ADS1.2、Keil uV3和IAR等。對(duì)于51單片機(jī)應(yīng)用開發(fā)工程師來(lái)說(shuō),Keil開發(fā)環(huán)境應(yīng)該應(yīng)用得比較熟練,若采用Keil uV3進(jìn)行ARM軟件開發(fā),應(yīng)該可以快速上手。但對(duì)于初學(xué)者來(lái)講,并不建議選擇Keil uV3進(jìn)行ARM軟件開發(fā),對(duì)于初學(xué)者應(yīng)該明白和了解其原因:1、Keil uV3是第三方ARM軟件集成開發(fā)環(huán)境,目前支持的ARM芯片種類還不多,所帶的編譯器也并不完善;2、由于Keil uV3為了方便用戶的開發(fā),提供了現(xiàn)成的ARM啟動(dòng)文件,換句話說(shuō),它屏蔽了ARM開發(fā)中的一個(gè)重要內(nèi)容——啟動(dòng)代碼的編寫,而這一點(diǎn)對(duì)初學(xué)者來(lái)說(shuō)應(yīng)該是非常重要的內(nèi)容。
相關(guān)推薦:單片機(jī)硬件學(xué)習(xí)資料