絕對(duì)干貨!常用單片機(jī)優(yōu)缺點(diǎn)詳細(xì)剖析
單片機(jī)現(xiàn)在可謂是鋪天蓋地,種類(lèi)繁多,讓開(kāi)發(fā)者們應(yīng)接不暇,發(fā)展也是相當(dāng)?shù)难杆?,從上世紀(jì)80年代,由當(dāng)時(shí)的4位8位發(fā)展到現(xiàn)在的各種高速單片機(jī)……
各個(gè)廠商們也在速度、內(nèi)存、功能上此起彼伏,參差不齊~~同時(shí)涌現(xiàn)出一大批擁有代表性單片機(jī)的廠商:Atmel、TI、ST、MicroChip、ARM…國(guó)內(nèi)的宏晶STC單片機(jī)也是可圈可點(diǎn)…
下面為大家?guī)?lái)51、MSP430、TMS、STM32、PIC、AVR、STC單片機(jī)之間的優(yōu)缺點(diǎn)比較及功能體現(xiàn)……
51單片機(jī)
應(yīng)用最廣泛的8位單片機(jī)當(dāng)然也是初學(xué)者們最容易上手學(xué)習(xí)的單片機(jī),最早由Intel推出,由于其典型的結(jié)構(gòu)和完善的總線專(zhuān)用寄存器的集中管理,眾多的邏輯位操作功能及面向控制的豐富的指令系統(tǒng),堪稱(chēng)為一代“經(jīng)典”,為以后的其它單片機(jī)的發(fā)展奠定了基礎(chǔ)。
51單片機(jī)之所以成為經(jīng)典,成為易上手的單片機(jī)主要有以下特點(diǎn):
特性
1. 從內(nèi)部的硬件到軟件有一套完整的按位操作系統(tǒng),稱(chēng)作位處理器,處理對(duì)象不是字或字節(jié)而是位。不但能對(duì)片內(nèi)某些特殊功能寄存器的某位進(jìn)行處理,如傳送、置位、清零、測(cè)試等,還能進(jìn)行位的邏輯運(yùn)算,其功能十分完備,使用起來(lái)得心應(yīng)手。
2. 同時(shí)在片內(nèi)RAM區(qū)間還特別開(kāi)辟了一個(gè)雙重功能的地址區(qū)間,使用極為靈活,這一功能無(wú)疑給使用者提供了極大的方便,
3. 乘法和除法指令,這給編程也帶來(lái)了便利。很多的八位單片機(jī)都不具備乘法功能,作乘法時(shí)還得編上一段子程序調(diào)用,十分不便。
缺點(diǎn)
(雖然是經(jīng)典但是缺點(diǎn)還是很明顯的)
1. AD、EEPROM等功能需要靠擴(kuò)展,增加了硬件和軟件負(fù)擔(dān)
2. 雖然I/O腳使用簡(jiǎn)單,但高電平時(shí)無(wú)輸出能力,這也是51系列單片機(jī)的最大軟肋
3. 運(yùn)行速度過(guò)慢,特別是雙數(shù)據(jù)指針,如能改進(jìn)能給編程帶來(lái)很大的便利
4. 51保護(hù)能力很差,很容易燒壞芯片
應(yīng)用范圍目前在教學(xué)場(chǎng)合和對(duì)性能要求不高的場(chǎng)合大量被采用
使用最多的器件8051、80C51
2.在運(yùn)算速度方面,能在 8MHz 晶體的驅(qū)動(dòng)下,實(shí)現(xiàn) 125ns 的指令周期。 16 位的數(shù)據(jù)寬度、 125ns 的指令周期以及多功能的硬件乘法器(能實(shí)現(xiàn)乘加)相配合,能實(shí)現(xiàn)數(shù)字信號(hào)處理的某些算法(如 FFT 等)
3.超低功耗方面,MSP430 單片機(jī)之所以有超低的功耗,是因?yàn)槠湓诮档托酒碾娫措妷杭办`活而可控的運(yùn)行時(shí)鐘方面都有其獨(dú)到之處。電源電壓采用的是 1.8~3.6V 電壓。因而可使其在 1MHz 的時(shí)鐘條件下運(yùn)行時(shí), 芯片的電流會(huì)在 200~400uA 左右,時(shí)鐘關(guān)斷模式的最低功耗只有 0.1uA
缺點(diǎn)
1.個(gè)人感覺(jué)不容易上手,不適合初學(xué)者入門(mén),資料也比較少,只能跑官網(wǎng)去找
2.占的指令空間較大,因?yàn)槭?6位單片機(jī),程序以字為單位,有的指令竟然占6
個(gè)字節(jié)。雖然程序表面上簡(jiǎn)潔, 但與pic單片機(jī)比較空間占用很大
應(yīng)用范圍在低功耗及超低功耗的工業(yè)場(chǎng)合應(yīng)用的比較多
使用最多的器件MSP430F系列、MSP430G2系列、MSP430L09系列
TMS單片機(jī)
這里也提一下TMS系列單片機(jī),雖不算主流。由TI推出的8位CMOS單片機(jī),具有多種存儲(chǔ)模式、多種外圍接口模式,適用于復(fù)雜的實(shí)時(shí)控制場(chǎng)合。雖 然沒(méi)STM32那么優(yōu)秀,也沒(méi)MSP430那么張揚(yáng),但是TMS370C系列單片機(jī)提供了通過(guò)整合先進(jìn)的外圍功能模塊及各種芯片的內(nèi)存配置,具有高性價(jià)比 的實(shí)時(shí)系統(tǒng)控制。同時(shí)采用高性能硅柵CMOS EPROM和EEPROM技術(shù)實(shí)現(xiàn)。低工作功耗CMOS技術(shù),寬工作溫度范圍,噪聲抑制,再加上高性能和豐富的片上外設(shè)功能,使TMS370C系列單片機(jī) 在汽車(chē)電子,工業(yè)電機(jī)控制,電腦,通信和消費(fèi)類(lèi)具有一定的應(yīng)用。
STM32單片機(jī)
由ST廠商推出的STM32系列單片機(jī),行業(yè)的朋友都知道,這是一款性價(jià)比超高的系列單片機(jī),應(yīng)該沒(méi)有之一,功能及其強(qiáng)大。其基于專(zhuān)為要求高性能、 低成本、低功耗的嵌入式應(yīng)用專(zhuān)門(mén)設(shè)計(jì)的ARM Cortex-M內(nèi)核,同時(shí)具有一流的外設(shè):1μs的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表 現(xiàn),當(dāng)然和MSP430的功耗比起來(lái)是稍微遜色的一些,但這并不影響工程師們對(duì)它的熱捧程度,由于其簡(jiǎn)單的結(jié)構(gòu)和易用的工具再配合其強(qiáng)大的功能在行業(yè)中赫 赫有名…其強(qiáng)大的功能主要表現(xiàn)在:
特性1.內(nèi)核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz,單周期乘法和硬件除法
2.存儲(chǔ)器:片上集成32-512KB的Flash存儲(chǔ)器。6-64KB的SRAM存儲(chǔ)器
3.時(shí)鐘、復(fù)位和電源管理:2.0-3.6V的電源供電和I/O接口的驅(qū)動(dòng)電壓。POR、PDR和可編程的電壓探測(cè)器(PVD)。4-16MHz的 晶振。內(nèi)嵌出廠前調(diào)校的8MHz RC振蕩電路。內(nèi)部40 kHz的RC振蕩電路。用于CPU時(shí)鐘的PLL。帶校準(zhǔn)用于RTC的32kHz的晶振
4、調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。最多高達(dá)112個(gè)的快速I(mǎi)/O端口、最多多達(dá)11個(gè)定時(shí)器、最多多達(dá)13個(gè)通信接口
使用最多的器件STM32F103系列、STM32 L1系列、STM32W系列。
使用最多的器件PIC16F873、PIC16F877
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):
特點(diǎn)1.AVR系列沒(méi)有類(lèi)似累加器A的結(jié)構(gòu),它主要是通過(guò)R16~R31寄存器來(lái)實(shí)現(xiàn)A的功能。在AVR中,沒(méi)有像51系列的數(shù)據(jù)指針DPTR,而是由 X(由R26、R27組成)、Y(由R28、R29組成)、Z(由R30、R31組成)三個(gè)16位的寄存器來(lái)完成數(shù)據(jù)指針的功能(相當(dāng)于有三組 DPTR),而且還能作后增量或先減量等的運(yùn)行,而在51系列中,所有的邏輯運(yùn)算都必須在A中進(jìn)行;而AVR卻可以在任兩個(gè)寄存器之間進(jìn)行,省去了在A中 的來(lái)回折騰,這些都比51系列出色些
2.AVR的專(zhuān)用寄存器集中在00~3F地址區(qū)間,無(wú)需像PIC那樣得先進(jìn)行選存儲(chǔ)體的過(guò)程,使用起來(lái)比PIC方便。AVR的片內(nèi)RAM的地址區(qū)間 為0~00DF(AT90S2313) 和0060~025F(AT90S8515、AT90S8535),它們占用的是數(shù)據(jù)空間的地址,這些片內(nèi)RAM僅僅是用來(lái)存儲(chǔ)數(shù)據(jù)的,通常不具備通用寄 存器的功能。當(dāng)程序復(fù)雜時(shí),通用寄存器R0~R31就顯得不夠用;而51系列的通用寄存器多達(dá)128個(gè)(為AVR的4倍),編程時(shí)就不會(huì)有這種感覺(jué)。
3.AVR的I/O腳類(lèi)似PIC,它也有用來(lái)控制輸入或輸出的方向寄存器,在輸出狀態(tài)下,高電平輸出的電流在10mA左右,低電平吸入電流20mA。這點(diǎn)雖不如PIC,但比51系列還是要優(yōu)秀的…
缺點(diǎn)1.是沒(méi)有位操作,都是以字節(jié)形式來(lái)控制和判斷相關(guān)寄存器位的
2.C語(yǔ)言與51的C語(yǔ)言在寫(xiě)法上存在很大的差異,這讓從開(kāi)始學(xué)習(xí)51單片機(jī)的朋友很不習(xí)慣
3.通用寄存器一共32個(gè)(R0~R31),前16個(gè)寄存器(R0~R15)都不能直接與立即數(shù)打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接與立即數(shù)打交道,顯然要優(yōu)于前者。
使用最多的器件ATUC64L3U、ATxmega64A1U、AT90S8515
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ǔ)言寫(xiě)法上存在很大的差 異。而STC單片機(jī)洽洽結(jié)合了51和AVR的優(yōu)點(diǎn),雖然功能不及AVR那么強(qiáng)大,但是在AVR能找到的功能,在STC上基本都有,同時(shí)STC單片機(jī)是51 內(nèi)核,這給以51單片機(jī)為基礎(chǔ)的工程師們提供了極大的方便,省去了學(xué)習(xí)AVR的時(shí)間,同時(shí)也不失AVR的各種功能…
STC單片機(jī)是高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī)51單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍,內(nèi)部集成 MAX810專(zhuān)用復(fù)位電路。4路PWM 8路高速10位A、D轉(zhuǎn)換,針對(duì)電機(jī)電機(jī) 的供應(yīng)商控制,強(qiáng)干擾場(chǎng)合,成為繼51單片機(jī)后一個(gè)全新系列單片機(jī)…
特性1.下載燒錄程序用串口方便好用,容易上手,擁有大量的學(xué)習(xí)資料及視頻,最著名的要屬于杜老師的那個(gè)視頻了,好多對(duì)單片機(jī)有興趣的朋友都是通過(guò)這個(gè)視頻入門(mén)的,同時(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í) 器。4路PCA還可再實(shí)現(xiàn)4個(gè)定時(shí)器,具有硬件看門(mén)狗、高速SPI通信端口、全雙工異步串行口,兼容普通8051的串口,同時(shí)還具有先進(jìn)的指令集結(jié)構(gòu),兼 容普通8051指令集
PS:STC單片機(jī)功能雖不及AVR、STM32強(qiáng)大,價(jià)格也不及51和ST32便宜,但是這些并并不重要,重要的是這屬于國(guó)產(chǎn)單片機(jī)比較出色的單片機(jī),但愿國(guó)產(chǎn)單片機(jī)能一路長(zhǎng)虹…
使用最多的器件STC12C2052AD
Freescale單片機(jī)
主要針對(duì)S08,S12這類(lèi)單片機(jī),當(dāng)然Freescale單片機(jī)遠(yuǎn)非于此。Freescale系列單片機(jī)采用哈佛結(jié)構(gòu)和流水線指令結(jié)構(gòu),在許多領(lǐng) 域內(nèi)都表現(xiàn)出低成本,高性