你的位置:首頁(yè) > 互連技術(shù) > 正文

一分鐘帶你搞懂這三種單片機(jī)的優(yōu)缺點(diǎn)

發(fā)布時(shí)間:2019-10-18 責(zé)任編輯:lina

【導(dǎo)讀】51系列是應(yīng)用最廣泛的單片機(jī),由于產(chǎn)品硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,加之生產(chǎn)歷史“悠久”,有先入為主的優(yōu)勢(shì)。
 
一分鐘帶你搞懂這三種單片機(jī)的優(yōu)缺點(diǎn)
 
51單片機(jī)優(yōu)缺點(diǎn)
51系列是應(yīng)用最廣泛的單片機(jī),由于產(chǎn)品硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,加之生產(chǎn)歷史“悠久”,有先入為主的優(yōu)勢(shì)。世界上有許多著名的芯片公司都購(gòu)買(mǎi)了51芯片的核心專利技術(shù),并在其基礎(chǔ)上進(jìn)行了性能擴(kuò)充,使得芯片得到進(jìn)一步的完善,形成了一個(gè)龐大的體系,直到現(xiàn)在仍在不斷翻新,把單片機(jī)世界炒得沸沸揚(yáng)揚(yáng)。
 
優(yōu)點(diǎn)一
51系列優(yōu)點(diǎn)之一是它從內(nèi)部的硬件到軟件有一套完整的按位操作系統(tǒng),稱作位處理器,或布爾處理器。
 
一分鐘帶你搞懂這三種單片機(jī)的優(yōu)缺點(diǎn)
 
它的處理對(duì)象不是字或字節(jié)而是位。它不光能對(duì)片內(nèi)某些特殊功能寄存器的某位進(jìn)行處理,如傳送、置位、清零、測(cè)試等,還能進(jìn)行位的邏輯運(yùn)算,其功能十分完備,使用起來(lái)得心應(yīng)手。雖然其他種類的單片機(jī)也具有位處理功能,但能進(jìn)行位邏輯運(yùn)算的實(shí)屬少見(jiàn)。
 
51系列在片內(nèi)RAM區(qū)間還特別開(kāi)辟了一個(gè)雙重功能的地址區(qū)間,十六個(gè)字節(jié),單元地址20H~2FH,它既可作字節(jié)處理,也可作位處理(作位處理時(shí),合128個(gè)位,相應(yīng)位地址為00H~7FH),使用極為靈活。這一功能無(wú)疑給使用者提供了極大的方便。因?yàn)橐粋€(gè)較復(fù)雜的程序在運(yùn)行過(guò)程中會(huì)遇到很多分支,因而需建立很多標(biāo)志位,在運(yùn)行過(guò)程中,需要對(duì)有關(guān)的標(biāo)志位進(jìn)行置位、清零或檢測(cè),以確定程序的運(yùn)行方向。而實(shí)施這一處理(包括前面所有的位功能),只需用一條位操作指令即可。
 
優(yōu)點(diǎn)二
51系列的另一個(gè)優(yōu)點(diǎn)是乘法和除法指令,這給編程也帶來(lái)了便利。八位除以八位的除法指令,商為八位,精度嫌不夠,用得不多。而八位乘八位的乘法指令,其積為十六位,精度還是能滿足要求的,用的較多。作乘法時(shí),只需一條指令即可。很多的八位單片機(jī)都不具備乘法功能,作乘法時(shí)還得編上一段子程序調(diào)用,十分不便。
 
優(yōu)點(diǎn)三
51系列I/O腳的設(shè)置和使用非常簡(jiǎn)單,但高電平時(shí)無(wú)輸出能力,可謂有利有弊。故其他系列的單片機(jī)(如PIC系列、AVR系列等)對(duì)I/O口進(jìn)行了改進(jìn),增加了方向寄存器以確定輸入或輸出,但使用也更為復(fù)雜。
 
缺點(diǎn)
原51系列也有許多需改進(jìn)之處,如運(yùn)行速度過(guò)慢等。當(dāng)晶振頻率為12MHz時(shí),機(jī)器周期達(dá)1μs,顯然適應(yīng)不了現(xiàn)代高速運(yùn)行的需要。
 
 
PIC單片機(jī)優(yōu)缺點(diǎn)
PIC單片機(jī)CPU采用RISC結(jié)構(gòu),分別有33、35、58條指令,視單片機(jī)的級(jí)別而定,屬精簡(jiǎn)指令集。而51系列有111條指令,AVR單片機(jī)有118條指令,都比前者復(fù)雜。
 
優(yōu)點(diǎn)一
采用Haryard雙總線結(jié)構(gòu),運(yùn)行速度快,指令周期約160~200ns,它能使程序存儲(chǔ)器的訪問(wèn)和數(shù)據(jù)存儲(chǔ)器的訪問(wèn)并行處理。這種指令流水線結(jié)構(gòu),在一個(gè)周期內(nèi)可以完成兩部分工作,一是執(zhí)行指令,二是從程序存儲(chǔ)器取出下一條指令??偟目磥?lái),每條指令只需一個(gè)周期(個(gè)別除外),這也是高效率運(yùn)行的原因之一。此外,它還具有低工作電壓、低功耗、驅(qū)動(dòng)能力強(qiáng)等特點(diǎn)。
 
一分鐘帶你搞懂這三種單片機(jī)的優(yōu)缺點(diǎn)
 
優(yōu)點(diǎn)二
PIC系列單片機(jī)的I/O口是雙向的,其輸出電路為CMOS互補(bǔ)推挽輸出電路。I/O腳增加了用于設(shè)置輸入或輸出狀態(tài)的方向寄存器,從而解決了51系列I/O腳為高電平時(shí)同為輸入和輸出的狀態(tài)。
 
當(dāng)置位時(shí)為輸入狀態(tài),且不管該腳呈高電平或低電平,對(duì)外均呈高阻狀態(tài);清零時(shí)為輸出狀態(tài),不管該腳為何種電平,均呈低阻狀態(tài),有相當(dāng)?shù)尿?qū)動(dòng)能力,低電平吸入電流達(dá)25mA,高電平輸出電流可達(dá)20mA。
 
相對(duì)于51系列而言,這是一個(gè)很大的優(yōu)點(diǎn),它可以直接驅(qū)動(dòng)數(shù)碼管顯示且外電路簡(jiǎn)單。它的A/D為10位,能滿足精度要求,具有在線調(diào)試及編程功能。
 
缺點(diǎn)
該系列單片機(jī)的專用寄存器并不像51系列那樣都集中在一個(gè)固定的地址區(qū)間內(nèi)(80~FFH),而是分散在四個(gè)地址區(qū)間內(nèi),即存儲(chǔ)區(qū)0(Bank0:00~7FH)、存儲(chǔ)區(qū)1(Bank1:80~FFH)、存儲(chǔ)區(qū)2(Bank2:100~17FH)、存儲(chǔ)區(qū)3(Bank3:180~1FFH)。只有5個(gè)專用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4個(gè)存儲(chǔ)區(qū)內(nèi)同時(shí)出現(xiàn)。
 
在編程過(guò)程中,少不了要與專用寄存器打交道,得反復(fù)地選擇對(duì)應(yīng)的存儲(chǔ)區(qū),即對(duì)狀態(tài)寄存器STATUS的第6位(RPl)和第5位(RPO)置位或清零。這多少給編程帶來(lái)了一些麻煩。
 
對(duì)于上述的單片機(jī),它的位指令操作通常限制在存儲(chǔ)區(qū)0區(qū)間(00~7FH)。數(shù)據(jù)的傳送和邏輯運(yùn)算基本上都得通過(guò)工作寄存器w(相當(dāng)于51系列的累加器A)來(lái)進(jìn)行,而51系列的還可以通過(guò)寄存器相互之間直接傳送(如:MOV 30H,20H;將寄存器20H的內(nèi)容直接傳送至寄存器30H中),因而PIC單片機(jī)的瓶頸現(xiàn)象比51系列還要嚴(yán)重,這在編程中很有感受。
 
 
AVR單片機(jī)優(yōu)缺點(diǎn)
AVR單片機(jī)最主要的的特點(diǎn)為高性能、高速度、低功耗。它取消了機(jī)器周期,以時(shí)鐘周期為指令周期,實(shí)行流水作業(yè)。AVR單片機(jī)指令以字為單位,且大部分指令都為單周期指令。而單周期指令既可執(zhí)行本指令功能,又能同時(shí)完成下一條指令的讀取。
 
通用寄存器一共32個(gè)(R0~R31),前16個(gè)寄存器(R0~R15)都不能直接與立即數(shù)打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接與立即數(shù)打交道,顯然要優(yōu)于前者。
 
一分鐘帶你搞懂這三種單片機(jī)的優(yōu)缺點(diǎn)
 
優(yōu)點(diǎn)一
AVR系列沒(mé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系列強(qiáng)。
 
優(yōu)點(diǎn)二
AVR的專用寄存器集中在00~3F地址區(qū)間,無(wú)需像PIC那樣得先選存儲(chǔ)區(qū),使用起來(lái)比PIC方便。AVR片內(nèi)RAM的地址區(qū)間為0~00DF和0060~025F,它們占用的是數(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é)。
 
缺點(diǎn)
AVR的I/O腳類似PIC,它也有用來(lái)控制輸入或輸出的方向寄存器,在輸出狀態(tài)下,高電平輸出的電流在10mA左右,低電平吸入電流為20mA。雖不如PIC,但比51系列強(qiáng)。
 

 

推薦閱讀:
中國(guó)電子產(chǎn)業(yè)的弊端問(wèn)題如何解決?斯坦德給您最完美的答案!
5G新潮流,助力窄面積高效粘接
一文讀懂反激變換器種類、電路、效率、工作原理!
電機(jī)發(fā)熱的八大原因和解決措施
看動(dòng)圖,搞懂三極管
要采購(gòu)硬件結(jié)構(gòu)么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉