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