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