8大主流單片機優缺點分析,看看你用過哪一款

2021-03-02 凡億PCB


單片機現在可謂是鋪天蓋地,種類繁多,讓開發者們應接不暇,發展也是相當的迅速,從上世紀80年代,由當時的4位8位發展到現在的各種高速單片機。

各個廠商們也在速度、內存、功能上此起彼伏,參差不齊。同時湧現出一大批擁有代表性單片機的廠商:Atmel、TI、ST、MicroChip、ARM…… 除此之外國內廠商的STC單片機也是可圈可點。

下面為大家帶來51、MSP430、STM32、TMS、PIC、AVR、STC單片機之間的優缺點比較及功能體現。

應用最廣泛的8位單片機當然也是初學者們最容易上手學習的單片機,最早由Intel推出,由於其典型的結構和完善的總線專用寄存器的集中管理,眾多的邏輯位操作功能及面向控制的豐富的指令系統,堪稱為一代「經典」,為以後的其它單片機的發展奠定了基礎。目前在教學場合和對性能要求不高的場合大量被採用。

51單片機之所以成為經典,成為易上手的單片機主要有以下特點:

從內部的硬體到軟體有一套完整的按位作業系統,稱作位處理器,處理對象不是字或字節而是位。不但能對片內某些特殊功能寄存器的某位進行處理,如傳送、置位、清零、測試等,還能進行位的邏輯運算,其功能十分完備,使用起來得心應手。

同時在片內RAM區間還特別開闢了一個雙重功能的地址區間,使用極為靈活,這一功能無疑給使用者提供了極大的方便。

乘法和除法指令,這給編程也帶來了便利。很多的八位單片機都不具備乘法功能,做乘法時還得編上一段子程序調用,十分不便。

51單片機雖然是經典但是缺點還是很明顯的AD、EEPROM等功能需要靠擴展,增加了硬體和軟體負擔。

雖然I/O腳使用簡單,但高電平時無輸出能力,這也是51系列單片機的最大軟肋。運行速度過慢,特別是雙數據指針,如能改進能給編程帶來很大的便利。51保護能力很差,很容易燒壞晶片。

MSP430系列單片機是1996年開始推向市場的一種16位超低功耗的混合信號處理器,給人們留下的最大的亮點是低功耗而且速度快,彙編語言用起來很靈活,尋址方式很多,指令很少,容易上手。主要是由於其針對實際應用需求,把許多模擬電路、數字電路和微處理器集成在一個晶片上,以提供「單片」解決方案。在低功耗及超低功耗的工業場合應用的比較多。

MSP430單片機其迅速發展和應用範圍的不斷擴大,主要取決於以下的特點。

強大的處理能力,採用了精簡指令集(RISC)結構,具有豐富的尋址方式( 7 種源操作數尋址、 4 種目的操作數尋址)、簡潔的 27 條內核指令以及大量的模擬指令;大量的寄存器以及片內數據存儲器都可參加多種運算;還有高效的查表處理指令;有較高的處理速度,在 8MHz 晶體驅動下指令周期為 125 ns 。這些特點保證了可編制出高效率的源程序。

在運算速度方面,能在 8MHz 晶體的驅動下,實現 125ns 的指令周期;16 位的數據寬度、 125ns 的指令周期以及多功能的硬體乘法器(能實現乘加)相配合,能實現數位訊號處理的某些算法(如 FFT 等)。

超低功耗方面,MSP430 單片機之所以有超低的功耗,是因為其在降低晶片的電源電壓及靈活而可控的運行時鐘方面都有其獨到之處;電源電壓採用的是 1.8~3.6V 電壓,因而可使其在 1MHz 的時鐘條件下運行時, 晶片的電流會在 200~400uA 左右,時鐘關斷模式的最低功耗只有 0.1uA。

可能不太容易上手,不適合初學者入門,資料也比較少,只能跑官網去找。

佔的指令空間較大,因為是16位單片機,程序以字為單位,有的指令竟然佔6個字節,雖然程序表面上簡潔, 但與pic單片機比較空間佔用很大。

由ST廠商推出的STM32系列單片機,行業的朋友都知道,這是一款性價比超高的系列單片機,應該沒有之一,功能及其強大。其基於專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M內核,同時具有一流的外設:1μs的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表現,當然和MSP430的功耗比起來是稍微遜色的一些,但這並不影響工程師們對它的熱捧程度,由於其簡單的結構和易用的工具再配合其強大的功能在行業中赫赫有名。

STM32單片機其強大的功能主要表現在:

內核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz,單周期乘法和硬體除法。

存儲器:片上集成32-512KB的Flash存儲器;6-64KB的SRAM存儲器。

時鐘、復位和電源管理:2.0-3.6V的電源供電和I/O接口的驅動電壓;POR、PDR和可編程的電壓探測器(PVD);4-16MHz的晶振;內嵌出廠前調校的8MHz RC振蕩電路,內部40 kHz的RC振蕩電路;用於CPU時鐘的PLL;帶校準用於RTC的32kHz的晶振。

調試模式:串行調試(SWD)和JTAG接口;最多高達112個的快速I/O埠、最多多達11個定時器、最多多達13個通信接口。

這裡也提一下TMS系列單片機,雖不算主流。由TI推出的8位CMOS單片機,具有多種存儲模式、多種外圍接口模式,適用於複雜的實時控制場合。雖然沒STM32那麼優秀,也沒MSP430那麼張揚,但是TMS370C系列單片機提供了通過整合先進的外圍功能模塊及各種晶片的內存配置,具有高性價比的實時系統控制。同時採用高性能矽柵CMOS EPROM和EEPROM技術實現。低工作功耗CMOS技術,寬工作溫度範圍,噪聲抑制,再加上高性能和豐富的片上外設功能,使TMS370C系列單片機在汽車電子,工業電機控制,電腦,通信和消費類具有一定的應用。

PIC單片機系列是美國微芯公司(Microship)的產品,共分三個級別,即基本級、中級、高級,是當前市場份額增長最快的單片機之一,CPU採用RISC結構,分別有33、35、58條指令,屬精簡指令集。

同時採用Harvard雙總線結構,運行速度快,它能使程序存儲器的訪問和數據存儲器的訪問並行處理,這種指令流水線結構,在一個周期內完成兩部分工作,一是執行指令,二是從程序存儲器取出下一條指令,這樣總的看來每條指令只需一個周期,這也是高效率運行的原因之一。

PIC單片機之所以成為一時非常熱的單片機不外乎以下特點:

具有低工作電壓、低功耗、驅動能力強等特點。PIC系列單片機的I/O口是雙向的,其輸出電路為CMOS互補推輓輸出電路,I/O腳增加了用於設置輸入或輸出狀態的方向寄存器,從而解決了51系列I/O腳為高電平時同為輸入和輸出的狀態。

當置位1時為輸入狀態,且不管該腳呈高電平或低電平,對外均呈高阻狀態;置位0時為輸出狀態,不管該腳為何種電平,均呈低阻狀態,有相當的驅動能力,低電平吸入電流達25mA,高電平輸出電流可達20mA。相對於51系列而言,這是一個很大的優點。

它可以直接驅動數碼管顯示且外電路簡單。它的A/D為10位,能滿足精度要求。具有在線調試及編程(ISP)功能。

其專用寄存器(SFR)並不像51系列那樣都集中在一個固定的地址區間內(80~FFH),而是分散在四個地址區間內。只有5個專用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4個存儲體內同時出現,但是在編程過程中,少不了要與專用寄存器打交道,得反覆地選擇對應的存儲體,也即對狀態寄存器STATUS的第6位(RP1)和第5位(RP0)置位或清零。

數據的傳送和邏輯運算基本上都得通過工作寄存器W(相當於51系列的累加器A)來進行,而51系列的還可以通過寄存器相互之間直接傳送,因而PIC單片機的瓶頸現象比51系列還要嚴重,這在編程中的朋友應該深有體會。

AVR單片機是Atmel公司推出的較為新穎的單片機,其顯著的特點為高性能、高速度、低功耗。它取消機器周期,以時鐘周期為指令周期,實行流水作業。AVR單片機指令以字為單位,且大部分指令都為單周期指令。而單周期既可執行本指令功能,同時完成下一條指令的讀取。通常時鐘頻率用4~8MHz,故最短指令執行時間為250~125ns。

AVR單片機能成為最近仍是比較火熱的單片機,主要的特點:

AVR系列沒有類似累加器A的結構,它主要是通過R16~R31寄存器來實現A的功能。在AVR中,沒有像51系列的數據指針DPTR,而是由X(由R26、R27組成)、Y(由R28、R29組成)、Z(由R30、R31組成)三個16位的寄存器來完成數據指針的功能(相當於有三組DPTR),而且還能作後增量或先減量等的運行,而在51系列中,所有的邏輯運算都必須在A中進行;而AVR卻可以在任兩個寄存器之間進行,省去了在A中的來回折騰,這些都比51系列出色些。

AVR的專用寄存器集中在00~3F地址區間,無需像PIC那樣得先進行選存儲體的過程,使用起來比PIC方便。AVR的片內RAM的地址區間為0~00DF(AT90S2313) 和0060~025F(AT90S8515、AT90S8535),它們佔用的是數據空間的地址,這些片內RAM僅僅是用來存儲數據的,通常不具備通用寄存器的功能。當程序複雜時,通用寄存器R0~R31就顯得不夠用;而51系列的通用寄存器多達128個(為AVR的4倍),編程時就不會有這種感覺。

AVR的I/O腳類似PIC,它也有用來控制輸入或輸出的方向寄存器,在輸出狀態下,高電平輸出的電流在10mA左右,低電平吸入電流20mA。這點雖不如PIC,但比51系列還是要優秀的。

是沒有位操作,都是以字節形式來控制和判斷相關寄存器位的。C語言與51的C語言在寫法上存在很大的差異,這讓從開始學習51單片機的朋友很不習慣。

通用寄存器一共32個(R0~R31),前16個寄存器(R0~R15)都不能直接與立即數打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接與立即數打交道,顯然要優於前者。

主要針對S08,S12這類單片機,當然Freescale單片機遠非於此。Freescale系列單片機採用哈佛結構和流水線指令結構,在許多領域內都表現出低成本,高性能的的特點,它的體系結構為產品的開發節省了大量時間。此外Freescale提供了多種集成模塊和總線接口,可以在不同的系統中更靈活的發揮作用。

Freescale單片機的特有的特點如下:

全系列:從低端到高端,從8位到32位全系列應有盡有,其推出的8位/32位管腳兼容的QE128,可以從8位直接移植到32位,彌補單片機業界8/32 位兼容架構中缺失的一環。

多種系統時鐘模塊:三種模塊,七種工作模式。多種時鐘源輸入選項,不同的mcu具有不同的時鐘產生機制,可以是RC振蕩器,外部時鐘或晶振,也可以是內部時鐘,多數CPU同時具有上述三種模塊;可以運行在FEI,FEE,FBI,FBILP,FBE,FBELP,STOP這七種工作模式。

多種通訊模塊接口:Freescale單片機幾乎在內部集成各種通信接口模塊:包括串行通信接口模塊SCI,多主I2C總線模塊,串行外圍接口模塊 SPI,MSCAN08控制器模塊,通用串行總線模塊(USB/PS2)。

具有更多的可選模塊:具有LCD驅動模塊,帶有溫度傳感器,具有超高頻發送模塊,含有同步處理器模塊,含有同步處理器的MCU還具有屏幕顯示模塊OSD,還有少數的MCU具有響鈴檢測模塊RING和雙音多頻/音調發生器DMG模塊。

可靠性高,抗幹擾性強,多種引腳數和封裝選擇。

低功耗、也許Freescale系列的單片機的功耗沒有MSP430的低,但是他具有全靜態的「等待」和「停止」兩種模式,從總體上降低您的功耗!新近推出的幾款超低功耗已經與MSP430的不相上下。

說到STC單片機有人會說到,STC也能算主流?基於它是國內還算是比較不錯的單片機來說。STC是單時鐘/機器周期的單片機,說白了STC單片機是51與AVR的結合體,有人說AVR是51的替代單片機,但是AVR單片機在位控制和C語言寫法上存在很大的差異。

而STC單片機結合了51和AVR的優點,雖然功能不及AVR那麼強大,但是在AVR能找到的功能,在STC上基本都有,同時STC單片機是51內核,這給以51單片機為基礎的工程師們提供了極大的方便,省去了學習AVR的時間,同時也不失AVR的各種功能。

STC單片機是高速、低功耗、超強抗幹擾的新一代8051單片機51單片機,指令代碼完全兼容傳統8051,但速度快8~12倍,內部集成MAX810專用復位電路。4路PWM 8路高速10位A、D轉換,針對電機電機 的供應商控制,強幹擾場合,成為繼51單片機後一個全新系列單片機。

下載燒錄程序用串口方便好用,容易上手,擁有大量的學習資料及視頻,同時具有寬電壓:5.5~3.8V、2.4~3.8V, 低功耗設計:空閒模式,掉電模式(可由外部中斷喚醒)。

STC單片機具有在應用編程,調試起來比較方便;帶有10位AD,內部EEPROM,可在1T/機器周期下工作,速度是傳統51單片機的8~12倍,價格也較便宜。

4通道捕獲/比較單元,STC12C2052AD系列為2通道,也可用來再實現4個定時器或4個外部中斷,2個硬體16位定時器,兼容普通8051的定時器。4路PCA還可再實現4個定時器,具有硬體看門狗、高速SPI通信埠、全雙工異步串行口,兼容普通8051的串口,同時還具有先進的指令集結構,兼容普通8051指令集。

相關焦點

  • 7大主流單片機優缺點分析,一文打盡趕緊收藏!
    佔的指令空間較大,因為是16位單片機,程序以字為單位,有的指令竟然佔6個字節,雖然程序表面上簡潔, 但與pic單片機比較空間佔用很大。由ST廠商推出的STM32系列單片機,行業的朋友都知道,這是一款性價比超高的系列單片機,應該沒有之一,功能及其強大。
  • 盤點當今市面主流單片機,總有一款適合你!
    這裡也提一下TMS系列單片機,雖不算主流。由TI推出的8位CMOS單片機,具有多種存儲模式、多種外圍接口模式,適用於複雜的實時控制場合。雖然沒STM32那麼優秀,也沒MSP430那麼張揚,但是TMS370C系列單片機提供了通過整合先進的外圍功能模塊及各種晶片的內存配置,具有高性價比的實時系統控制。同時採用高性能矽柵CMOS EPROM和EEPROM技術實現。
  • 7款主流電路仿真軟體優缺點大比拼
    本文為大家整理了常用的幾款電路仿真軟體工具,並對這些電路仿真軟體工具的優缺點做了簡單比較。一、CadenceCadence 公司是老牌的EDA工具提供商,採用Cadence的軟體、硬體和半導體IP,用戶能更快速向市場交付產品。
  • 閒說各家單片機的優缺點
    –不可**的Lock bit技術 –不象Mask ROM那樣可通過電子顯微鏡**–Flash單元深藏於晶片內部 –可多次燒寫的Flash且具有多重密碼保護鎖死(LOCK)功能,因此可快速完成產品商品化,並可多 次更改程序(產品升級)而不必浪費IC或電路板,大大提高產品質量及競爭力。 (8) 為什麼選用AVR單片機?
  • 單片機科普:單片機的IO口不夠用了怎麼辦?如何擴展單片機的IO口
    矩陣式按鍵的優缺點分析矩陣式按鍵可以實現單片機IO口的擴展,但是只能用作輸入,如果佔用7個IO,可以擴展處3×4的矩陣。但是其缺點非常明顯,程序需要不停的掃描埠的狀態,比較浪費單片機的資源,實時性效率較低。4×4按鍵的實物圖如下圖所示。
  • C語言和彙編語言在開發單片機時各有哪些優缺點?
    實用乾貨下載:關注我們「單片機系列」,回復「資料」獲取單片機相關資料。答:以現在MCU產品主力還是在8位領域,主要應用於汽車應用、消費性電子、電腦及PC周邊、電信與通訊、辦公室自動化、工業控制等六大市場,其中車用市場多在歐、美地區,而亞太地區則以消費性電子為主, 並以量大低單價為產品主流,目前16位MCU與8位產品,還有相當幅度的價差,新的應用領域也仍在開發,業界預計,至少在2005年前8位的MCU仍是MCU產品的主流。13.
  • Astra和Avada主題哪款好?他們的優缺點分析
    Astra和Avada主題哪款好?他們的優缺點分析Astra和Avada這兩款WordPress主題都是比較出名的經典主題,那麼新手朋友在建網站過程中就會考慮選擇Astra還是選擇Avada主題,奶爸這裡就給大家分析下這兩款主題如何選擇,哪款主題更適合你使用。
  • 單片機程式語言的比較
    單片機系統同樣也由硬體系統和軟體系統構成,因此涉及到程序的編寫問題。單片機的程式語言很多,大致分成三類:機器語言、彙編語言、高級語言。機器語言由於繁瑣容易出錯,一般用戶已經不再使用。下面分別對彙編語言和最常用的高級語言進行分析。單片機的彙編語言  彙編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。
  • 怎樣玩轉STM8單片機
    另外,也是最難的部分,這8位單片機的尋範圍可不一定是8位的,這點要注意。尋址範圍,聽不懂?不如說是地址範圍。想像一下,8根地址線,每根線上用電壓高或者低表示1和0,那麼這8根線,一共能表示多少個數字,你可以一個個數,當然最好是計算,2的8次方種組合。那也就算256個數字,每個數字表示一個地址訪問一個字節的數據,也就只能訪問256個字節。這個空間太小了。
  • 單片機實用工具大全,超級贊,工程師必備!
    第4款:51單片機定時器初值計算工具,想用哪個定時器,哪個定時方式,多大的晶體,多長的延時,輸入你的要求,自動計算出來第6款:單片機代碼自動生成器,不管是51單片機還是AVR單片機,只要輸入你的要求,哪一組IO口高低電平,哪一個定時器延時多少,SPI口如何配置。點一下代碼生成,自動輸出代碼!
  • ARM7單片機輕鬆入門與實踐 — 暢學單片機
    本課程是ARM7單片機學習者從入門到深入的一套經典視頻教程,以初學者為對象,從零開始手把手教你學習單片機,循序漸進地基於理論講解並結合實驗項目實戰開發,講解當前最熱門的ARM7單片機的C程序設計!
  • 最受歡迎的5款圖文編輯器,優缺點大對比
    面對市面上琳琅滿目的圖文編輯器,很多公眾號運營者就會有點怵頭,不知道該選哪一款,也不知道哪款適合自己,今天小編就帶來最受歡迎的5款圖文編輯器,看看它們的優缺點分別是什麼,同時也更加清楚自己適合哪一款,更好的選擇哦。
  • 單片機控制步進電機設計及失步原因分析,51單片機驅動步進電機的方法
    晶片自帶硬體看門狗,具有高速SPI通信埠,8通道8位A/D轉換,2路PWM輸出,4 KB容量的FLASH存儲器,256 B容量的SRAM,4個定時器,1個全雙工串行通信口。由於單片機內部的資源豐富,性價比高,能夠滿足該設計的要求,而且減少了硬體電路的設計,提高了工作效率。單片機的外部引腳定義,及其在該設計中的資源分布如圖2所示。
  • 2020熱榜手機大比拼,到底哪款最好用,蘋果就是不如華為?
    國產手機牌子各種各樣,有華為,小米,OPPO,vivo,魅族,樂視,聯想,金立,中興,錘子等等,中國人用的外國手機大部分都是蘋果,那麼這麼多款手機,到底哪款手機最好用呢?先來看看我們的國產手機主要在那個國家或地區銷售吧!
  • 4款口碑好的洗髮水,好聞又養發,看看你用過哪款?
    4款口碑好的洗髮水,好聞又養發,看看你用過哪款?在我們普通人的身上,因為經常染髮,燙髮導致的開叉,枯燥等諸多問題也讓我們頭疼不已。看著每次一掉一大把的頭髮再看看郭碧婷這發量真真是沒有對比就沒有傷害啊,而想要和郭碧婷的頭髮一樣好看呢,當然對頭皮和頭髮保養少不了,畢竟好的發質,是會讓人眼前一亮的。這款洗髮水細節做得非常好,包裝就很用心,拿出來一看還以為是香水,顏值超高!
  • Arduino與單片機區別,及Arduino入門教程
    Arduino,或者用過Arduino,但很多小夥伴還是不清楚究竟什麼是Arduino,今天就針對初學者簡單描述一下 Arduino 相關內容。而在單片機中,這些部份全部被做到一塊集成電路晶片中了,所以就稱為單片(單晶片)機,而且有一些單片機中除了上述部份外,還集成了其它部份如模擬量/數字量轉換(A/D)和數字量/模擬量轉換(D/A)等。2、單片機有什麼用?所謂殺雞焉用牛刀,並不是任何場合都需要很高的性能。想像一個使用Intel i7處理器的聲控燈,其性價比一定低到突破天際了。
  • Keil uVision4單片機
    今天也是第一次接觸到了單片機技術 想和大家分享關於Keil uVision4的一些問題和經驗Keil uVision4免費版是一款非常專業且權威的單片機開發工具。在學習單片機,微型計算機控制等課程,或者在protuse軟體上,Keil uVision4免費版會給你很大幫助。軟體簡介      keil 4可以幫你編寫程序,檢測程序,簡單的說就是通過這款軟體將高級語言翻譯成單片機能識別的語言,Keil uVision4可以用在彙編語言、C語言等等。
  • 單片機初學者必看
    第三個問題,學過一段51單片機了,入門也會了。以後怎麼辦啊?很多初學者,學了一款51學習板,基礎東西也都會了,下一步怎麼發展卻不知道了。下面的一些理論是我的一點不成熟想法,有這樣困惑的朋友可以參考參考。
  • 51單片機程序執行流程詳細分析
    ,百度盤群組分享連結更新時間:2017-07-8,失效請在文末留言,不要在後臺留言,你也可以在後臺菜單「資源搜索」搜索更多你想要的網盤資源!老師的回答:Keil C51程序自動加載了一個名為」STARTUP.A51」的文件,在這個文件裡面進行了一系列的初始化操作後進入用戶編寫的C語言程序入口main函數中,main函數執行完畢後,STARTUP.A51文件後有一句跳轉到程序入口main函數的語句,所以會再次進入C語言主程序main函數中執行相關內容。
  • 明微電子DMX512系列晶片與單片機方案優勢分析
    相對於舞檯燈光設備,戶外亮化點光源要求的尺寸更小,應用電路也簡單,特別是成本控制更加苛刻。若採用傳統單片機方案,過多的外圍器件和成本壓力對小功率點光源的推廣有一定的障礙,因而勢必有一種高集成的電路來替代傳統單片機方案應用在戶外景觀裝飾產品中. 明微電子推出了DMX512系列(DMX512AP-N、SM512-4、SM512-9、SM512-12等)晶片,因其高集成性具備了單片機無法比擬的以下優勢: