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