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