<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC 8位單片機(jī)的分類和特點(diǎn)

          PIC 8位單片機(jī)的分類和特點(diǎn)

          作者: 時間:2011-02-22 來源:網(wǎng)絡(luò) 收藏
          由美國Microchip公司推出的PIC系列產(chǎn)品,首先采用了RISC結(jié)構(gòu)的嵌入式微控制器,其高速度、低電壓、低功耗、大電流LCD驅(qū)動能力和低價(jià)位OTP技術(shù)等都體現(xiàn)出產(chǎn)業(yè)的新趨勢?,F(xiàn)在PIC系列在世界單片機(jī)市場的份額排名中已逐年升位,尤其在8位單片機(jī)市場,據(jù)稱已從1990年的第20位上升到目前的第二位。從覆蓋市場出發(fā),已有三種(又稱三層次)系列多種型號的產(chǎn)品問世,所以在全球都可以看到從電腦的外設(shè)、家電控制、電訊通信、智能儀器、汽車電子到金融電子各個領(lǐng)域的廣泛應(yīng)用?,F(xiàn)今的已經(jīng)是世界上最有影響力的嵌入式微控制器之一。

            一、PIC 8位單片機(jī)的分類
            PIC 8位單片機(jī)產(chǎn)品共有三個系列,即基本級、中級和高級。
            1基本級系列 該級產(chǎn)品的特點(diǎn)是低價(jià)位,如PIC16C5X,適用于各種對成本要求嚴(yán)格的家電產(chǎn)品選用。又如PIC12C5XX是世界第一個8腳的低價(jià)位單片機(jī),因其體積很小,完全可以應(yīng)用在以前不能使用單片機(jī)的家電產(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è)計(jì)中。
            3高級系列 該系列產(chǎn)品如PIC17CXX單片機(jī),其特點(diǎn)是速度快,所以適用于高速數(shù)字運(yùn)算的應(yīng)用場合中,加之它具備一個指令周期內(nèi)(160ns)可以完成8×8(位)二進(jìn)制乘法運(yùn)算能力,所以可取代某些DSP產(chǎn)品。再有PIC17CXX單片機(jī)具有豐富的I/O控制功能,并可外接擴(kuò)展EPROM和RAM,使它成為目前8位單片機(jī)中性能最高的機(jī)種之一。所以很適用于高、中檔的電子設(shè)備中使用。

            上述的三層次(級)的PIC 8位單片機(jī)還具有很高的代碼兼容性,用戶很容易將代碼從某型號轉(zhuǎn)換到另一個型號中。

           PIC 8位單片機(jī)具有指令少、執(zhí)行速度快等優(yōu)點(diǎn),其主要原因是PIC系列單片機(jī)在結(jié)構(gòu)上與其它單片機(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ī)均在同一存儲空間取指令和數(shù)據(jù),片內(nèi)只有一種總線。這種總線既要傳送指令又要傳送數(shù)據(jù)(如圖1-a所示)。因此,它不可能同時對程序存儲器和數(shù)據(jù)存儲器進(jìn)行訪問。因與CPU直接相連的總線只有一種,要求數(shù)據(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ù)總線。這兩種總線可以采用不同的字長,如PIC系列單片機(jī)是八位機(jī),所以其數(shù)據(jù)總線當(dāng)然是八位。但低檔、中檔和高檔的PIC系列單片機(jī)分別有12位、14位和16位的指令總線。這樣,取指令時則經(jīng)指令總線,取數(shù)據(jù)時則經(jīng)數(shù)據(jù)總線,互不沖突。這種結(jié)構(gòu)如圖1-b所示。
            指令總線為什么不用八位,而要增加位數(shù)呢?這是因?yàn)橹噶畹奈粩?shù)多,則每條指令包含的信息量就大,這種指令的功能就強(qiáng)。一條12位、14位或16位的指令可能會具有兩條八位指令的功能。因此PIC系列單片機(jī)的指令與CISC結(jié)構(gòu)的單片機(jī)指令相比,前者的指令總數(shù)要少得多(即RISC指令集)。

            2兩級指令流水線結(jié)構(gòu)
            由于PIC單片機(jī)采用了指令空間和數(shù)據(jù)空間分開的哈佛結(jié)構(gòu),用了兩種位數(shù)不同的總線。因此,取指令和取數(shù)據(jù)有可能同時交疊進(jìn)行,所以在PIC單片機(jī)中取指令和執(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單片機(jī)指令流水線結(jié)構(gòu)中,取指令和執(zhí)行指令在時間上是相互重疊的,所以PIC系列單片機(jī)才可能實(shí)現(xiàn)單周期指令。
            只有涉及到改變程序計(jì)數(shù)器PC值的程序分支指令(例如GOTO、CALL)等才需要兩個周期。
            此外,PIC單片機(jī)的結(jié)構(gòu)特點(diǎn)還體現(xiàn)在寄存器組上,如寄存器I/O口、定時器和程序寄存器等都是采用了RAM結(jié)構(gòu)形式,而且都只需要一個周期就可以完成訪問和操作。而其它單片機(jī)常需要兩個或兩個以上的周期才能改變寄存器的內(nèi)容。上述各項(xiàng),就是PIC單片機(jī)能做到指令總數(shù)少,且大都為單周期指令的重要原因。
            成都 衛(wèi)東 


            知識競賽試題:
            3簡述PIC 8位單片機(jī)的指令長度和其優(yōu)點(diǎn)。
            4比較PIC與MCS-取指令不同的特點(diǎn)。

           



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();