一、pic單片機與51的區(qū)別在哪
pic單片機在日常中使用頻率較高,與pic單片機具備同等地位的還有51單片機,那么pic單片機和51單片機有什么區(qū)別呢?
1、總線結(jié)構區(qū)別
51單片機的總線結(jié)構是馮-諾依曼型,計算機在同一個存儲空間取指令和數(shù)據(jù),兩者不能同時進行;而PIC單片機的總線結(jié)構是哈佛結(jié)構,指令和數(shù)據(jù)空間是完全分開的,一個用于指令,一個用于數(shù)據(jù),由于可以對程序和數(shù)據(jù)同時進行訪問,所以提高了數(shù)據(jù)傳輸效率。正因為在PIC系列單片機中采用了哈佛雙總線結(jié)構,所以與常見的微控制器不同的一點是:程序和數(shù)據(jù)總線可以采用不同的寬度。數(shù)據(jù)總線都是8位的,但指令總線位數(shù)分別位12、14、16位。
2、寄存器組區(qū)別
PIC單片機的所有寄存器,包括I/O口,定時器和程序計數(shù)器等都采用RAM結(jié)構形式,而且都只需要一個指令周期就可以完成訪問和操作;而51單片機需要兩個或兩個以上的周期才能改變寄存器的內(nèi)容。
3、流水線結(jié)構區(qū)別
51單片機的取指和執(zhí)行采用單指令流水線結(jié)構,即取一條指令,執(zhí)行完后再取下一條指令;而PIC單片機的取指和執(zhí)行采用雙指令流水線結(jié)構,當一條指令被執(zhí)行時,允許下一條指令同時被取出,這樣就實現(xiàn)了單周期指令。
二、pic單片機和51單片機哪個好
pic單片機和51單片機相比,各有各的優(yōu)缺點,并不一定哪種單片機更好,下面為大家對比一下兩種單片機的優(yōu)劣勢:
1、51單片機的優(yōu)缺點
(1)優(yōu)點
51單片機的優(yōu)點是它從內(nèi)部的硬件到軟件有一套完整的按位操作系統(tǒng),它的處理對象不是字或字節(jié)而是位,因此它不光能對片內(nèi)某些特殊功能寄存器的某位進行處理,如傳送、置位、清零、測試等,還能進行位的邏輯運算,其功能十分完備,使用起來得心應手。雖然其他種類的單片機也具有位處理功能,但能進行位邏輯運算的實屬少見。51單片機在片內(nèi)RAM區(qū)間還特別開辟了一個雙重功能的地址區(qū)間,十六個字節(jié),單元地址20H~2FH,它既可作字節(jié)處理,也可作位處理(作位處理時,合128個位,相應位地址為OOH~7FH),使用極為靈活。這一功能無疑給使用者提供了極大的方便。
51單片機的另一個優(yōu)點是乘法和除法指令,這給編程也帶來了便利。八位除以八位的除法指令,商為八位,精度嫌不夠,用得不多。而八位乘八位的乘法指令,其積為十六位,精度還是能滿足要求的,用的較多。作乘法時,只需一條指令即可。很多的八位單片機都不具備乘法功能,作乘法時還得編上一段子程序調(diào)用,十分不便。
還有就是,51系列的I/O腳的設置和使用非常簡單,但高電平時無輸出能力,可謂有利有弊。其他系列的單片機(如PIC系列、AVR系列等)對I/O口進行了改進,增加了方向寄存器以確定輸入或輸出,但使用也變得復雜。
(2)缺點
51單片機的主要缺點是運行速度過慢,當晶振頻率為12MHz時,機器周期達1μs,顯然適應不了現(xiàn)代高速運行的需要。
2、pic單片機的優(yōu)缺點
(1)優(yōu)點
PIC單片機CPU采用RISC結(jié)構,分別有33、35、58條指令,屬精簡指令集,比51單片機(111條指令)精簡很多,因此運行速度更快;它能使程序存儲器的訪問和數(shù)據(jù)存儲器的訪問并行處理,這種指令流水線結(jié)構,在一個周期內(nèi)完成兩部分工作,一是執(zhí)行指令,二是從程序存儲器取出下一條指令,這樣總的看來每條指令只需一個周期(個別除外),這也是高效率運行的原因之一。此外,它還具有低工作電壓、低功耗、驅(qū)動能力強等特點。
另外,PIC系列單片機的I/O口是雙向的,其輸出電路為CMOS互補推挽輸出電路。I/O腳增加了用于設置輸入或輸出狀態(tài)的方向寄存器,從而解決了51系列I/O腳為高電平時同為輸入和輸出的狀態(tài)。當置位1時為輸入狀態(tài),且不管該腳呈高電平或低電平,對外均呈高阻狀態(tài);置位0時為輸出狀態(tài),不管該腳為何種電平,均呈低阻狀態(tài),有相當?shù)尿?qū)動能力,低電平吸人電流達25mA,高電平輸出電流可達20mA。相對于51系列而言,這是一個很大的優(yōu)點,它可以直接驅(qū)動數(shù)碼管顯示且外電路簡單。它的A/D為10位,能滿足精度要求。
(2)缺點
在編程過程中,少不了要與專用寄存器打交道,得反復地選擇對應的存儲體,也即對狀態(tài)寄存器STATUS的第6位(RPl)和第5位(RPO)置位或清零。這多少給編程帶來了一些麻煩。對于pic單片機,它的位指令操作通常限制在存儲體0區(qū)間(00~7FH)。數(shù)據(jù)的傳送和邏輯運算基本上都得通過工作寄存器w(相當于51單片機的累加器A)來進行,而51單片機還可以通過寄存器相互之間直接傳送,因而PIC單片機的瓶頸現(xiàn)象比51單片機還要嚴重,這在編程中很有感受。
綜合來看,51單片機和pic單片機相比,各有所長,如何選擇主要看實際使用需要。