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