專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力
提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)
單片機代理商深圳英銳恩分享8位PIC單片機的分類和特點,由美國Microchip公司推出的PIC單片機系列產(chǎn)品,首先采用了RISC結(jié)構(gòu)的嵌入式微控制器,其高速度、低電壓、低功耗、大電流LCD驅(qū)動能力和低價位OTP技術(shù)等都體現(xiàn)出單片機產(chǎn)業(yè)的新趨勢?,F(xiàn)在PIC系列單片機在世界單片機市場的份額排名中已逐年升位,尤其在8位單片機市場,據(jù)稱已從1990年的第20位上升到目前的第二位。PIC單片機從覆蓋市場出發(fā),已有三種(又稱三層次)系列多種型號的產(chǎn)品問世,所以在全球都可以看到PIC單片機從電腦的外設(shè)、家電控制、電訊通信、智能儀器、汽車電子到金融電子各個領(lǐng)域的廣泛應(yīng)用?,F(xiàn)今的PIC單片機已經(jīng)是世界上最有影響力的嵌入式微控制器之一。
一、PIC 8位單片機的分類
PIC 8位單片機產(chǎn)品共有三個系列,即基本級、中級和高級。
1基本級系列 該級產(chǎn)品的特點是低價位,如PIC16C5X,適用于各種對成本要求嚴(yán)格的家電產(chǎn)品選用。又如PIC12C5XX是世界第一個8腳的低價位單片機,因其體積很小,完全可以應(yīng)用在以前不能使用單片機的家電產(chǎn)品的空間。
2中級系列 該級產(chǎn)品是PIC最豐富的品種系列。它是在基本級產(chǎn)品上進(jìn)行了改進(jìn),并保持了很高的兼容性。外部結(jié)構(gòu)也是多種的,從8引腳到68引腳的各種封裝,如PIC12C6XX。該級產(chǎn)品其性能很高,如內(nèi)部帶有A/D變換器、E2PROM數(shù)據(jù)存儲器、比較器輸出、PWM輸出、I2C和SPI等接口。PIC中級系列產(chǎn)品適用于各種高、中和低檔的電子產(chǎn)品的設(shè)計中。
3高級系列 該系列產(chǎn)品如PIC17CXX單片機,其特點是速度快,所以適用于高速數(shù)字運算的應(yīng)用場合中,加之它具備一個指令周期內(nèi)(160ns)可以完成8×8(位)二進(jìn)制乘法運算能力,所以可取代某些DSP產(chǎn)品。再有PIC17CXX單片機具有豐富的I/O控制功能,并可外接擴展EPROM和RAM,使它成為目前8位單片機中性能最高的機種之一。所以很適用于高、中檔的電子設(shè)備中使用。
上述的三層次(級)的PIC 8位單片機還具有很高的代碼兼容性,用戶很容易將代碼從某型號轉(zhuǎn)換到另一個型號中。
PIC 8位單片機具有指令少、執(zhí)行速度快等優(yōu)點,其主要原因是PIC系列單片機在結(jié)構(gòu)上與其它單片機不同。該系列單片機引入了原用于小型計算機的雙總線和兩級指令流水結(jié)構(gòu)。這種結(jié)構(gòu)與一般采用CISC(復(fù)雜指令集計算機)的單片機在結(jié)構(gòu)上是有不同的。
1雙總線結(jié)構(gòu)
具有CISC結(jié)構(gòu)的單片機均在同一存儲空間取指令和數(shù)據(jù),片內(nèi)只有一種總線。這種總線既要傳送指令又要傳送數(shù)據(jù)(如圖1-a所示)。因此,它不可能同時對程序存儲器和數(shù)據(jù)存儲器進(jìn)行訪問。因與CPU直接相連的總線只有一種,要求數(shù)據(jù)和指令同時通過,顯然“亂套”,這正如一個“瓶頸”,瓶內(nèi)的數(shù)據(jù)和指令要一起倒出來,往往就被瓶頸卡住了。所以具有這種結(jié)構(gòu)的單片機,只能先取出指令,再執(zhí)行指令(在此過程中往往要取數(shù)),然后,待這條指令執(zhí)行完畢,再取出另一條指令,繼續(xù)執(zhí)行下一條。這種結(jié)構(gòu)通常稱為馮·諾依曼結(jié)構(gòu),又稱普林斯頓結(jié)構(gòu)。
在這里PIC系列單片機采用了一種雙總線結(jié)構(gòu),即所謂哈佛結(jié)構(gòu)。這種結(jié)構(gòu)有兩種總線,即程序總線和數(shù)據(jù)總線。這兩種總線可以采用不同的字長,如PIC系列單片機是八位機,所以其數(shù)據(jù)總線當(dāng)然是八位。但低檔、中檔和高檔的PIC系列單片機分別有12位、14位和16位的指令總線。這樣,取指令時則經(jīng)指令總線,取數(shù)據(jù)時則經(jīng)數(shù)據(jù)總線,互不沖突。這種結(jié)構(gòu)如圖1-b所示。
指令總線為什么不用八位,而要增加位數(shù)呢?這是因為指令的位數(shù)多,則每條指令包含的信息量就大,這種指令的功能就強。一條12位、14位或16位的指令可能會具有兩條八位指令的功能。因此PIC系列單片機的指令與CISC結(jié)構(gòu)的單片機指令相比,前者的指令總數(shù)要少得多(即RISC指令集)。
2兩級指令流水線結(jié)構(gòu)
由于PIC單片機采用了指令空間和數(shù)據(jù)空間分開的哈佛結(jié)構(gòu),用了兩種位數(shù)不同的總線。因此,取指令和取數(shù)據(jù)有可能同時交疊進(jìn)行,所以在PIC單片機中取指令和執(zhí)行指令就采用指令流水線結(jié)構(gòu)(如圖2所示)。當(dāng)?shù)谝粭l指令被取出后,隨即進(jìn)入執(zhí)行階段,這時可能會從某寄存器取數(shù)而送至另一寄存器,或從一端口向寄存器傳送數(shù)等,但數(shù)據(jù)不會流經(jīng)程序總線,而只是在數(shù)據(jù)總線中流動,因此,在這段時間內(nèi),程序總線有空,可以同時取出第二條指令。當(dāng)?shù)谝粭l指令執(zhí)行完畢,就可執(zhí)行第二條指令,同時取出第3條指令,……如此等等。這樣,除了第一條指令的取出,其余各條指令的執(zhí)行和下一條指令的取出是同時進(jìn)行的,使得在每個時鐘周期可以獲得最高效率。
在大多數(shù)微控制器中,取指令和指令執(zhí)行都是順序進(jìn)行的,但在PIC單片機指令流水線結(jié)構(gòu)中,取指令和執(zhí)行指令在時間上是相互重疊的,所以PIC系列單片機才可能實現(xiàn)單周期指令。
只有涉及到改變程序計數(shù)器PC值的程序分支指令(例如GOTO、CALL)等才需要兩個周期。
此外,PIC單片機的結(jié)構(gòu)特點還體現(xiàn)在寄存器組上,如寄存器I/O口、定時器和程序寄存器等都是采用了RAM結(jié)構(gòu)形式,而且都只需要一個周期就可以完成訪問和操作。而其它單片機常需要兩個或兩個以上的周期才能改變寄存器的內(nèi)容。上述各項,就是PIC單片機能做到指令總數(shù)少,且大都為單周期指令的重要原因?!?br/>
知識競賽試題:
3簡述PIC 8位單片機的指令長度和其優(yōu)點。
4比較PIC與MCS-51單片機取指令不同的特點。