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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PIC單片機與MCS-51系列單片機的區(qū)別

          PIC單片機與MCS-51系列單片機的區(qū)別

          作者: 時間:2010-11-15 來源:網(wǎng)絡 收藏

          PIC的型號繁多,對初學者來說實在不好應付,容易混淆,以下作一簡單分類,希望有助于初學者學習:

          本文引用地址:http://www.ex-cimer.com/article/173142.htm

          初檔8位:PIC12C5XXX/16C5X系列

          PIC16C5X系列是最早在市場上得到發(fā)展的系列,因其價格較低,且有較完善的開發(fā)手段,因此在國內應用最為廣泛;而PIC12C5XX是世界第一個八腳低價位可用于簡單的智能控制等一些對單片機體積要求較高的地方,前景十分廣闊。

          中檔8位單片機:PIC12C6XX/PIC16CXXX系列

          PIC中檔產品是Microchip近年來重點發(fā)展的系列產品,品種最為豐富,其性能比低檔產品有所提高,增加了中斷功能,指令周期可達到200ns,帶A/D,內部E2PROM數(shù)據(jù)存儲器,雙時鐘工作,比較輸出,捕捉輸入,PWM輸出,I2C和SPI接口,異步串行通訊(USART),模擬電壓比較器及LCD驅動等等,其封裝從8腳到68腳,可用于高、中、低檔的電子產品設計中,價格適中,廣泛應用在各類電子產品中。

          高檔8位單片機:PIC17CXX系列

          PIC17CXX是適合高級復雜系統(tǒng)開發(fā)的系列產品,其性能在中檔位單片機的基礎上增加了硬件乘法器,指令周期可達成160ns,它是目前世界上8位單片機中性價比最高的機種,可用于高、中檔產品的開發(fā),如馬達控制、音調合成。

          應該說有三個主要區(qū)別:

          (1)總線結構:MCS-51的總線結構是馮-諾依曼型,計算機在同一個存儲空間取指令和數(shù)據(jù),兩者不能同時進行;而PIC的總線結構是哈佛結構,指令和數(shù)據(jù)空間是完全分開的,一個用于指令,一個用于數(shù)據(jù),由于可以對程序和數(shù)據(jù)同時進行訪問,所以提高了數(shù)據(jù)吞吐率。正因為在PIC系列單片機中采用了哈佛雙總線結構,所以與常見的微控制器不同的一點是:程序和數(shù)據(jù)總線可以采用不同的寬度。數(shù)據(jù)總線都是8位的,但指令總線位數(shù)分別位12、14、16位。

          (2)流水線結構:MCS-51的取指和執(zhí)行采用單指令流水線結構,即取一條指令,執(zhí)行完后再取下一條指令;而PIC的取指和執(zhí)行采用雙指令流水線結構,當一條指令被執(zhí)行時,允許下一條指令同時被取出,這樣就實現(xiàn)了單周期指令。

          (3)寄存器組:PIC的所有寄存器,包括I/O口,定時器和程序計數(shù)器等都采用RAM結構形式,而且都只需要一個指令周期就可以完成訪問和操作;而MCS-51需要兩個或兩個以上的周期才能改變寄存器的內容。



          關鍵詞: 單片機

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();