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