一、pic單片機與51的區別在哪
pic單片機在日常中使用頻率較高,與pic單片機具備同等地位的還有51單片機,那么pic單片機(ji)和51單片機(ji)有什(shen)么區別呢?
1、總線結構區別
51單(dan)片機(ji)的(de)總線(xian)結(jie)(jie)構(gou)(gou)是(shi)(shi)(shi)馮-諾依曼型,計(ji)算機(ji)在(zai)同(tong)一個(ge)存(cun)儲空間(jian)取指(zhi)令和(he)(he)數據(ju),兩者不(bu)能同(tong)時進行;而(er)PIC單(dan)片機(ji)的(de)總線(xian)結(jie)(jie)構(gou)(gou)是(shi)(shi)(shi)哈(ha)佛(fo)結(jie)(jie)構(gou)(gou),指(zhi)令和(he)(he)數據(ju)空間(jian)是(shi)(shi)(shi)完全分開的(de),一個(ge)用(yong)于(yu)指(zhi)令,一個(ge)用(yong)于(yu)數據(ju),由于(yu)可(ke)以對程序和(he)(he)數據(ju)同(tong)時進行訪問,所以提高了數據(ju)傳輸效率。正因為(wei)在(zai)PIC系列(lie)單(dan)片機(ji)中采用(yong)了哈(ha)佛(fo)雙總線(xian)結(jie)(jie)構(gou)(gou),所以與常見的(de)微控制器(qi)不(bu)同(tong)的(de)一點是(shi)(shi)(shi):程序和(he)(he)數據(ju)總線(xian)可(ke)以采用(yong)不(bu)同(tong)的(de)寬度。數據(ju)總線(xian)都是(shi)(shi)(shi)8位的(de),但指(zhi)令總線(xian)位數分別位12、14、16位。
2、寄存器組區別
PIC單片機(ji)的所(suo)有寄(ji)存器(qi),包括I/O口,定時器(qi)和(he)程序計數器(qi)等都采用RAM結構形式,而且都只需(xu)要一個(ge)指令周(zhou)期就可以(yi)完成(cheng)訪問和(he)操作;而51單片機(ji)需(xu)要兩個(ge)或兩個(ge)以(yi)上的周(zhou)期才(cai)能改變寄(ji)存器(qi)的內容。
3、流水線結構區別
51單(dan)片機(ji)(ji)的取(qu)指(zhi)(zhi)和執行采用單(dan)指(zhi)(zhi)令流(liu)水(shui)線結構,即取(qu)一條(tiao)(tiao)指(zhi)(zhi)令,執行完后(hou)再取(qu)下(xia)一條(tiao)(tiao)指(zhi)(zhi)令;而PIC單(dan)片機(ji)(ji)的取(qu)指(zhi)(zhi)和執行采用雙指(zhi)(zhi)令流(liu)水(shui)線結構,當一條(tiao)(tiao)指(zhi)(zhi)令被執行時,允許(xu)下(xia)一條(tiao)(tiao)指(zhi)(zhi)令同時被取(qu)出,這樣就(jiu)實現了(le)單(dan)周期指(zhi)(zhi)令。
二、pic單片機和51單片機哪個好
pic單(dan)片機(ji)和51單(dan)片機(ji)相比,各(ge)有各(ge)的(de)優(you)缺點,并不一定哪(na)種單(dan)片機(ji)更好(hao),下(xia)(xia)面為(wei)大(da)家對比一下(xia)(xia)兩(liang)種單(dan)片機(ji)的(de)優(you)劣勢:
1、51單片機的優缺點
(1)優點
51單(dan)片(pian)機(ji)的(de)(de)優點是它(ta)從內(nei)部的(de)(de)硬件(jian)到軟件(jian)有一(yi)套完(wan)整的(de)(de)按位操作系統,它(ta)的(de)(de)處(chu)理對(dui)象不(bu)是字(zi)或字(zi)節(jie)而是位,因此它(ta)不(bu)光能(neng)(neng)(neng)對(dui)片(pian)內(nei)某些特殊功(gong)能(neng)(neng)(neng)寄存器的(de)(de)某位進(jin)行(xing)處(chu)理,如(ru)傳(chuan)送、置位、清零、測試(shi)等,還能(neng)(neng)(neng)進(jin)行(xing)位的(de)(de)邏輯運算,其功(gong)能(neng)(neng)(neng)十分完(wan)備,使(shi)用起來(lai)得心應(ying)手。雖然其他種類(lei)的(de)(de)單(dan)片(pian)機(ji)也具有位處(chu)理功(gong)能(neng)(neng)(neng),但能(neng)(neng)(neng)進(jin)行(xing)位邏輯運算的(de)(de)實屬少見。51單(dan)片(pian)機(ji)在片(pian)內(nei)RAM區間還特別(bie)開辟(pi)了(le)一(yi)個(ge)雙(shuang)重功(gong)能(neng)(neng)(neng)的(de)(de)地址(zhi)(zhi)區間,十六個(ge)字(zi)節(jie),單(dan)元地址(zhi)(zhi)20H~2FH,它(ta)既可作字(zi)節(jie)處(chu)理,也可作位處(chu)理(作位處(chu)理時(shi),合128個(ge)位,相應(ying)位地址(zhi)(zhi)為OOH~7FH),使(shi)用極為靈活。這一(yi)功(gong)能(neng)(neng)(neng)無(wu)疑給(gei)使(shi)用者提供了(le)極大的(de)(de)方便。
51單片機(ji)的(de)(de)另一(yi)個(ge)優點(dian)是乘(cheng)(cheng)法(fa)(fa)(fa)和除法(fa)(fa)(fa)指(zhi)令,這(zhe)給編程也帶來(lai)了(le)便(bian)利。八(ba)位(wei)除以八(ba)位(wei)的(de)(de)除法(fa)(fa)(fa)指(zhi)令,商(shang)為八(ba)位(wei),精度嫌不(bu)夠,用得不(bu)多(duo)(duo)。而八(ba)位(wei)乘(cheng)(cheng)八(ba)位(wei)的(de)(de)乘(cheng)(cheng)法(fa)(fa)(fa)指(zhi)令,其積為十六位(wei),精度還是能滿(man)足要求的(de)(de),用的(de)(de)較多(duo)(duo)。作乘(cheng)(cheng)法(fa)(fa)(fa)時(shi),只需一(yi)條指(zhi)令即可。很(hen)多(duo)(duo)的(de)(de)八(ba)位(wei)單片機(ji)都(dou)不(bu)具備乘(cheng)(cheng)法(fa)(fa)(fa)功能,作乘(cheng)(cheng)法(fa)(fa)(fa)時(shi)還得編上(shang)一(yi)段子(zi)程序調用,十分(fen)不(bu)便(bian)。
還有(you)(you)就是,51系(xi)(xi)列(lie)的(de)I/O腳的(de)設(she)置(zhi)和使用非常(chang)簡(jian)單(dan),但高電平時無輸(shu)出能力(li),可謂有(you)(you)利有(you)(you)弊。其(qi)他系(xi)(xi)列(lie)的(de)單(dan)片機(如(ru)PIC系(xi)(xi)列(lie)、AVR系(xi)(xi)列(lie)等(deng))對I/O口進行了改進,增加(jia)了方向寄存(cun)器以(yi)確定輸(shu)入或輸(shu)出,但使用也變得復雜。
(2)缺點
51單片(pian)機的主要(yao)(yao)缺點是運行(xing)速度(du)過慢(man),當晶振頻率(lv)為12MHz時,機器周期(qi)達1μs,顯然適應不(bu)了現代高速運行(xing)的需(xu)要(yao)(yao)。
2、pic單片機的優缺點
(1)優點
PIC單(dan)片機(ji)CPU采用(yong)RISC結構(gou),分別有(you)33、35、58條指(zhi)(zhi)令(ling)(ling),屬精簡指(zhi)(zhi)令(ling)(ling)集,比51單(dan)片機(ji)(111條指(zhi)(zhi)令(ling)(ling))精簡很多,因此運行速度更快;它能使(shi)程(cheng)序(xu)存儲器(qi)的(de)訪問和數據(ju)存儲器(qi)的(de)訪問并行處理,這(zhe)種指(zhi)(zhi)令(ling)(ling)流水線結構(gou),在一(yi)(yi)(yi)個(ge)周期(qi)內完(wan)成兩部分工(gong)作(zuo),一(yi)(yi)(yi)是執行指(zhi)(zhi)令(ling)(ling),二是從程(cheng)序(xu)存儲器(qi)取出下一(yi)(yi)(yi)條指(zhi)(zhi)令(ling)(ling),這(zhe)樣總的(de)看(kan)來每條指(zhi)(zhi)令(ling)(ling)只需一(yi)(yi)(yi)個(ge)周期(qi)(個(ge)別除外),這(zhe)也(ye)是高效率運行的(de)原因之一(yi)(yi)(yi)。此外,它還具(ju)有(you)低(di)工(gong)作(zuo)電壓、低(di)功耗、驅動能力強等特點。
另外(wai),PIC系(xi)列(lie)單片(pian)機(ji)的(de)(de)(de)I/O口是雙向的(de)(de)(de),其輸(shu)(shu)出(chu)(chu)電(dian)(dian)路(lu)為(wei)(wei)CMOS互(hu)補(bu)推挽輸(shu)(shu)出(chu)(chu)電(dian)(dian)路(lu)。I/O腳(jiao)增加了用于設置(zhi)輸(shu)(shu)入或(huo)輸(shu)(shu)出(chu)(chu)狀(zhuang)態的(de)(de)(de)方向寄存器,從而(er)(er)解(jie)決了51系(xi)列(lie)I/O腳(jiao)為(wei)(wei)高電(dian)(dian)平時同為(wei)(wei)輸(shu)(shu)入和輸(shu)(shu)出(chu)(chu)的(de)(de)(de)狀(zhuang)態。當置(zhi)位(wei)1時為(wei)(wei)輸(shu)(shu)入狀(zhuang)態,且不管該腳(jiao)呈高電(dian)(dian)平或(huo)低(di)電(dian)(dian)平,對(dui)外(wai)均呈高阻(zu)狀(zhuang)態;置(zhi)位(wei)0時為(wei)(wei)輸(shu)(shu)出(chu)(chu)狀(zhuang)態,不管該腳(jiao)為(wei)(wei)何種電(dian)(dian)平,均呈低(di)阻(zu)狀(zhuang)態,有(you)相(xiang)當的(de)(de)(de)驅動能力(li),低(di)電(dian)(dian)平吸人電(dian)(dian)流(liu)達25mA,高電(dian)(dian)平輸(shu)(shu)出(chu)(chu)電(dian)(dian)流(liu)可達20mA。相(xiang)對(dui)于51系(xi)列(lie)而(er)(er)言(yan),這是一個很大(da)的(de)(de)(de)優點(dian),它可以直接驅動數(shu)碼管顯示(shi)且外(wai)電(dian)(dian)路(lu)簡(jian)單。它的(de)(de)(de)A/D為(wei)(wei)10位(wei),能滿足精度要(yao)求(qiu)。
(2)缺點
在編(bian)程過程中,少(shao)不(bu)了要與專用寄(ji)存(cun)(cun)器(qi)打交道,得(de)反復(fu)地選擇(ze)對(dui)應的(de)存(cun)(cun)儲體(ti),也即對(dui)狀態寄(ji)存(cun)(cun)器(qi)STATUS的(de)第6位(RPl)和第5位(RPO)置位或清零。這多少(shao)給編(bian)程帶來了一些麻煩。對(dui)于(yu)pic單片(pian)(pian)機(ji)(ji),它的(de)位指令操作(zuo)通常限制在存(cun)(cun)儲體(ti)0區間(jian)(00~7FH)。數據的(de)傳送(song)和邏輯運算基(ji)本上都得(de)通過工作(zuo)寄(ji)存(cun)(cun)器(qi)w(相當于(yu)51單片(pian)(pian)機(ji)(ji)的(de)累(lei)加器(qi)A)來進行,而(er)51單片(pian)(pian)機(ji)(ji)還可以(yi)通過寄(ji)存(cun)(cun)器(qi)相互之間(jian)直接(jie)傳送(song),因(yin)而(er)PIC單片(pian)(pian)機(ji)(ji)的(de)瓶(ping)頸(jing)現象比51單片(pian)(pian)機(ji)(ji)還要嚴(yan)重,這在編(bian)程中很有感受。
綜合來(lai)看(kan),51單片(pian)機(ji)(ji)和pic單片(pian)機(ji)(ji)相比(bi),各有所(suo)長(chang),如何選擇主要看(kan)實際使用需要。